ocfs2: ignore NULL vfsmnt in ocfs2_should_update_atime()
authorMark Fasheh <mark.fasheh@oracle.com>
Tue, 19 Dec 2006 23:25:52 +0000 (15:25 -0800)
committerMark Fasheh <mark.fasheh@oracle.com>
Fri, 29 Dec 2006 00:38:32 +0000 (16:38 -0800)
This can come from NFSD.

Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
fs/ocfs2/file.c

index a50447d..10953a5 100644 (file)
@@ -149,6 +149,17 @@ int ocfs2_should_update_atime(struct inode *inode,
            ((inode->i_sb->s_flags & MS_NODIRATIME) && S_ISDIR(inode->i_mode)))
                return 0;
 
+       /*
+        * We can be called with no vfsmnt structure - NFSD will
+        * sometimes do this.
+        *
+        * Note that our action here is different than touch_atime() -
+        * if we can't tell whether this is a noatime mount, then we
+        * don't know whether to trust the value of s_atime_quantum.
+        */
+       if (vfsmnt == NULL)
+               return 0;
+
        if ((vfsmnt->mnt_flags & MNT_NOATIME) ||
            ((vfsmnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode)))
                return 0;