From 52a9e19969ca4651e79232a04e6fa4e05dfd971d Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Fri, 18 Sep 2009 13:05:47 -0700 Subject: [PATCH] --- yaml --- r: 165863 b: refs/heads/master c: b12536c27043f1c21195e587eb59950428326e22 h: refs/heads/master i: 165861: 1ea68dc4a43b3dd48367c35172a2c305cb8603aa 165859: c30da4dab6e24cf18e5b21ccbb0102c593014e98 165855: 9d78fc877349052bc735df94c08dfe495b3d688d v: v3 --- [refs] | 2 +- trunk/fs/inode.c | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/[refs] b/[refs] index e34cbb3c55ca..f5af335d903a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 22fe404218156328a27e66349b1175cd0baa4990 +refs/heads/master: b12536c27043f1c21195e587eb59950428326e22 diff --git a/trunk/fs/inode.c b/trunk/fs/inode.c index fa506d539653..31168fd45bdc 100644 --- a/trunk/fs/inode.c +++ b/trunk/fs/inode.c @@ -1416,31 +1416,31 @@ void touch_atime(struct vfsmount *mnt, struct dentry *dentry) struct inode *inode = dentry->d_inode; struct timespec now; - if (mnt_want_write(mnt)) - return; if (inode->i_flags & S_NOATIME) - goto out; + return; if (IS_NOATIME(inode)) - goto out; + return; if ((inode->i_sb->s_flags & MS_NODIRATIME) && S_ISDIR(inode->i_mode)) - goto out; + return; if (mnt->mnt_flags & MNT_NOATIME) - goto out; + return; if ((mnt->mnt_flags & MNT_NODIRATIME) && S_ISDIR(inode->i_mode)) - goto out; + return; now = current_fs_time(inode->i_sb); if (!relatime_need_update(mnt, inode, now)) - goto out; + return; if (timespec_equal(&inode->i_atime, &now)) - goto out; + return; + + if (mnt_want_write(mnt)) + return; inode->i_atime = now; mark_inode_dirty_sync(inode); -out: mnt_drop_write(mnt); } EXPORT_SYMBOL(touch_atime);