Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
libvmod-file
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
libvmod-file
Commits
727872bf
Commit
727872bf
authored
Sep 21, 2019
by
Geoff Simmons
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add the log_checks parameter to the reader constructor.
parent
40400658
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
3 deletions
+33
-3
get.vtc
src/tests/get.vtc
+8
-1
vmod_file.c
src/vmod_file.c
+24
-1
vmod_file.vcc
src/vmod_file.vcc
+1
-1
No files found.
src/tests/get.vtc
View file @
727872bf
...
...
@@ -56,7 +56,8 @@ varnish v1 -vcl {
backend b { .host = "${bad_ip}"; }
sub vcl_init {
new rdr = file.reader("${tmpdir}/file", ttl=0.1s);
new rdr = file.reader("${tmpdir}/file", ttl=0.1s,
log_checks=true);
}
sub vcl_recv {
...
...
@@ -85,6 +86,12 @@ client c1 {
expect resp.http.Get == "quux baz bar foo"
} -run
logexpect l1 -v v1 -d 1 -g raw -q "Debug" {
expect * * Debug {^vmod file: rdr: check for \S+ running at}
expect * * Debug {^vmod file: rdr: updating \S+ at}
expect * * Debug {^vmod file: rdr: check for \S+ finished successfully at}
} -run
shell {rm -f ${tmpdir}/file}
delay .1
...
...
src/vmod_file.c
View file @
727872bf
...
...
@@ -67,6 +67,7 @@ struct file_info {
size_t
len
;
dev_t
dev
;
ino_t
ino
;
VCL_BOOL
log_checks
;
};
#define RDR_INITIALIZED (1 << 0)
...
...
@@ -95,6 +96,7 @@ check(union sigval val)
struct
stat
st
;
int
fd
;
void
*
addr
;
char
timbuf
[
VTIM_FORMAT_SIZE
];
CAST_OBJ_NOTNULL
(
rdr
,
val
.
sival_ptr
,
FILE_READER_MAGIC
);
CHECK_OBJ_NOTNULL
(
rdr
->
info
,
FILE_INFO_MAGIC
);
...
...
@@ -103,6 +105,12 @@ check(union sigval val)
AN
(
rdr
->
errbuf
);
AN
(
info
->
path
);
if
(
info
->
log_checks
)
{
VTIM_format
(
VTIM_real
(),
timbuf
);
VSL
(
SLT_Debug
,
0
,
"vmod file: %s: check for %s running at %s"
,
rdr
->
vcl_name
,
info
->
path
,
timbuf
);
}
AZ
(
pthread_rwlock_wrlock
(
&
rdr
->
lock
));
errno
=
0
;
...
...
@@ -130,6 +138,12 @@ check(union sigval val)
goto
out
;
}
if
(
info
->
log_checks
)
{
VTIM_format
(
VTIM_real
(),
timbuf
);
VSL
(
SLT_Debug
,
0
,
"vmod file: %s: updating %s at %s"
,
rdr
->
vcl_name
,
info
->
path
,
timbuf
);
}
if
(
rdr
->
flags
&
RDR_MAPPED
)
{
AN
(
rdr
->
addr
);
if
(
munmap
(
rdr
->
addr
,
info
->
len
)
!=
0
)
{
...
...
@@ -186,13 +200,21 @@ check(union sigval val)
out:
AZ
(
pthread_rwlock_unlock
(
&
rdr
->
lock
));
if
(
info
->
log_checks
)
{
VTIM_format
(
VTIM_real
(),
timbuf
);
VSL
(
SLT_Debug
,
0
,
"vmod file: %s: check for %s finished successfully at %s"
,
rdr
->
vcl_name
,
info
->
path
,
timbuf
);
}
return
;
}
VCL_VOID
vmod_reader__init
(
VRT_CTX
,
struct
VPFX
(
file_reader
)
**
rdrp
,
const
char
*
vcl_name
,
struct
vmod_priv
*
priv
,
VCL_STRING
name
,
VCL_STRING
path
,
VCL_DURATION
ttl
)
VCL_STRING
name
,
VCL_STRING
path
,
VCL_DURATION
ttl
,
VCL_BOOL
log_checks
)
{
struct
VPFX
(
file_reader
)
*
rdr
;
struct
file_info
*
info
;
...
...
@@ -233,6 +255,7 @@ vmod_reader__init(VRT_CTX, struct VPFX(file_reader) **rdrp,
rdr
->
info
=
info
;
rdr
->
vcl_name
=
strdup
(
vcl_name
);
info
->
log_checks
=
log_checks
;
if
(
*
name
==
'/'
)
info
->
path
=
strdup
(
name
);
...
...
src/vmod_file.vcc
View file @
727872bf
...
...
@@ -36,7 +36,7 @@ XXX ...
$Object reader(PRIV_VCL, STRING name,
STRING path="/usr/local/etc/varnish:/usr/local/share/varnish/vcl:/usr/etc/varnish:/usr/share/varnish/vcl",
DURATION ttl=120)
DURATION ttl=120
, BOOL log_checks=0
)
XXX ...
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment