diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2006-12-19 15:25:52 -0800 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2006-12-28 16:38:32 -0800 |
commit | 6c2aad0567e693f9588d0a0683f96ed872fb4641 (patch) | |
tree | 4f28fb78c9565c74bc24f93675ec3f0dc6af0217 /fs/ocfs2 | |
parent | 564f8a3228879d6962edb3432d01bcd7499a67ec (diff) |
ocfs2: ignore NULL vfsmnt in ocfs2_should_update_atime()
This can come from NFSD.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2')
-rw-r--r-- | fs/ocfs2/file.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index a50447d461e5..10953a508f2f 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c @@ -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; |