9p: drop nlink remove
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Mon, 29 Mar 2010 23:14:50 +0000 (18:14 -0500)
committerEric Van Hensbergen <ericvh@gmail.com>
Mon, 5 Apr 2010 15:37:36 +0000 (10:37 -0500)
We need to drop the link count on the inode of a sucessfull remove

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
fs/9p/vfs_inode.c

index 5fe45d692c9f32d47751209930c3cc4196705671..ae8396707707f2930dde969e7ce5a0d555964be0 100644 (file)
@@ -431,6 +431,7 @@ error:
 
 static int v9fs_remove(struct inode *dir, struct dentry *file, int rmdir)
 {
+       int retval;
        struct inode *file_inode;
        struct v9fs_session_info *v9ses;
        struct p9_fid *v9fid;
@@ -444,7 +445,10 @@ static int v9fs_remove(struct inode *dir, struct dentry *file, int rmdir)
        if (IS_ERR(v9fid))
                return PTR_ERR(v9fid);
 
-       return p9_client_remove(v9fid);
+       retval = p9_client_remove(v9fid);
+       if (!retval)
+               drop_nlink(file_inode);
+       return retval;
 }
 
 static int