Am 27.08.2014 14:55, schrieb Richard Weinberger: > If one has a config like: > d /tmp 1777 root root - > X /tmp/important_mount > > All files below /tmp/important_mount will be deleted as the > /tmp/important_mount item will spuriously inherit a max age of 0 > from /tmp. > /tmp has a max age of 0 but age_set is (of course) false. > > Fix this by checking ->age_set in the IGNORE_DIRECTORY_PATH logic. > > Signed-off-by: Richard Weinberger <[email protected]> > --- > src/tmpfiles/tmpfiles.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c > index 79fd0b7..c8d4abb 100644 > --- a/src/tmpfiles/tmpfiles.c > +++ b/src/tmpfiles/tmpfiles.c > @@ -1572,7 +1572,7 @@ static int read_config_file(const char *fn, bool > ignore_enoent) { > candidate_item = j; > } > > - if (candidate_item) { > + if (candidate_item && candidate_item->age_set) { > i->age = candidate_item->age; > i->age_set = true; > } >
Ping? Would be nice to see this merged, it fixes a nasty issue with PrivateTmp=yes. Without that patch all files in private /tmp and /var/tmp will get deleted unconditionally by systemd-tmpfiles if you configure it *not* to delete anything in /tmp and /var/tmp. i.e: d /tmp 1777 root root - d /var/tmp 1777 root root - This is the default on openSUSE. Thanks, //richard _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
