Linux: Use the correct ATIME flag
authorSimon Wilkinson <sxw@inf.ed.ac.uk>
Wed, 6 Jan 2010 15:12:32 +0000 (15:12 +0000)
committerDerrick Brashear <shadow|account-1000005@unknown>
Wed, 6 Jan 2010 16:21:29 +0000 (08:21 -0800)
Since Linux kernel 2.4.0, MS_NOATIME has been a super block flag,
and S_NOATIME has been the corresponding inode flag. Use the
correct flag when we're opening cache files.

FIXES 126084

Change-Id: I69cbcd651584cc86568c51793dd3f6d3e8644709
Reviewed-on: http://gerrit.openafs.org/1070
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>

src/afs/LINUX/osi_file.c
src/afs/LINUX24/osi_file.c

index 7af6b6d..c159823 100644 (file)
@@ -51,7 +51,7 @@ afs_linux_raw_open(afs_dcache_id_t *ainode)
            osi_Panic("Can't get dentry\n");
     tip = dp->d_inode;
 #endif
-    tip->i_flags |= MS_NOATIME;        /* Disable updating access times. */
+    tip->i_flags |= S_NOATIME; /* Disable updating access times. */
 
 #if defined(STRUCT_TASK_HAS_CRED)
     /* Use stashed credentials - prevent selinux/apparmor problems  */
index ba58d05..8e96595 100644 (file)
@@ -55,7 +55,12 @@ afs_linux_raw_open(afs_dcache_id_t *ainode)
            osi_Panic("Can't get dentry\n");
     tip = dp->d_inode;
 #endif
+
+#if defined(S_NOATIME)
+    tip->i_flags |= S_NOATIME; /* Disable updating access times. */
+#else
     tip->i_flags |= MS_NOATIME;        /* Disable updating access times. */
+#endif
 
 #if defined(STRUCT_TASK_HAS_CRED)
     filp = dentry_open(dp, mntget(afs_cacheMnt), O_RDWR, current_cred());