[systemd-devel] [PATCH 1/3] tmpfiles: skip the path entirely if configured as type x

Michal Sekletar msekleta at redhat.com
Wed Nov 6 02:18:00 PST 2013


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.
---
 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);
 
-- 
1.8.3.1



More information about the systemd-devel mailing list