[systemd-devel] [PATCH 1/3] tmpfiles: skip the path entirely if configured as type x
Lennart Poettering
lennart at poettering.net
Thu Nov 7 13:39:19 PST 2013
On Wed, 06.11.13 11:18, Michal Sekletar (msekleta at redhat.com) wrote:
> Type x in tmpfiles configuration accepts shell style globs instead of normal
> paths. If user uses normal path he might expect that the path will be left
> untouched. However this is not the case for directories and content of the
> directory will be cleaned according to the Age parameter, we should rather skip
> the path entirely in such case.
Not sure I follow. dir_cleanup() already skips all items listed in the
glob hashmap anyway, no? What does your patch add on top of that?
> ---
> src/tmpfiles/tmpfiles.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c
> index 8051cb3..e4ee99d 100644
> --- a/src/tmpfiles/tmpfiles.c
> +++ b/src/tmpfiles/tmpfiles.c
> @@ -910,6 +910,7 @@ static int clean_item_instance(Item *i, const char* instance) {
> bool mountpoint;
> int r;
> usec_t cutoff, n;
> + Item *j = NULL;
>
> assert(i);
>
> @@ -946,6 +947,10 @@ static int clean_item_instance(Item *i, const char* instance) {
> return -errno;
> }
>
> + j = hashmap_get(globs, j->path);
> + if (j && j->type == IGNORE_PATH)
> + return 0;
> +
> mountpoint = s.st_dev != ps.st_dev ||
> (s.st_dev == ps.st_dev && s.st_ino == ps.st_ino);
>
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list