[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