[systemd-commits] src/tmpfiles.c

Kay Sievers kay at kemper.freedesktop.org
Wed Apr 11 12:40:37 PDT 2012


 src/tmpfiles.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit e5f3d1ba124f14477d6b5434982d7d44a472a66f
Author: Kay Sievers <kay at vrfy.org>
Date:   Wed Apr 11 21:33:12 2012 +0200

    tmpfiles: open directories with O_NOATIME to preserve timestamp
    
    Before:
      # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20'
      Access: 2012-04-11 21:32:48.444920237 +0200
      # systemd-tmpfiles --clean
      # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20'
      Access: 2012-04-11 21:36:27.628925459 +0200
    
    After:
      # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20'
      Access: 2012-04-11 21:32:48.444920237 +0200
      # ./systemd-tmpfiles --clean
      # stat /tmp/pulse-Du5ectm60QYM | grep 'Access: 20'
      Access: 2012-04-11 21:32:48.444920237 +0200
    
    Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=810257

diff --git a/src/tmpfiles.c b/src/tmpfiles.c
index 5e85e37..c5f6fc0 100644
--- a/src/tmpfiles.c
+++ b/src/tmpfiles.c
@@ -269,7 +269,7 @@ static int dir_cleanup(
                                 DIR *sub_dir;
                                 int q;
 
-                                sub_dir = xopendirat(dirfd(d), dent->d_name, O_NOFOLLOW);
+                                sub_dir = xopendirat(dirfd(d), dent->d_name, O_NOFOLLOW|O_NOATIME);
                                 if (sub_dir == NULL) {
                                         if (errno != ENOENT) {
                                                 log_error("opendir(%s/%s) failed: %m", p, dent->d_name);



More information about the systemd-commits mailing list