diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2011-02-28 06:34:08 -0500 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2011-03-15 10:57:41 -0400 |
commit | 23b08e97f2c0d68c2a46a11e4fd8a4686d7351ee (patch) | |
tree | 0da5a836c11032a7586835a80ab6d34157b6402a /fs/9p | |
parent | d28c61f0e08aab9e3a2d3430e75f97937c5fe5fd (diff) |
fs/9p: Workaround vfs rename rehash bug
This is similar to what ceph, ocfs2 and nfs does
http://kerneltrap.org/mailarchive/linux-fsdevel/2008/4/18/1498534
May be we should get vfs fixed
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p')
-rw-r--r-- | fs/9p/vfs_inode.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index c072bb97e957..8e9d60345bc8 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c | |||
@@ -884,6 +884,11 @@ clunk_newdir: | |||
884 | clear_nlink(new_inode); | 884 | clear_nlink(new_inode); |
885 | else | 885 | else |
886 | drop_nlink(new_inode); | 886 | drop_nlink(new_inode); |
887 | /* | ||
888 | * Work around vfs rename rehash bug with | ||
889 | * FS_RENAME_DOES_D_MOVE | ||
890 | */ | ||
891 | v9fs_invalidate_inode_attr(new_inode); | ||
887 | } | 892 | } |
888 | if (S_ISDIR(old_inode->i_mode)) { | 893 | if (S_ISDIR(old_inode->i_mode)) { |
889 | if (!new_inode) | 894 | if (!new_inode) |