浏览代码

9p: drop nlink remove

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>
Aneesh Kumar K.V 15 年之前
父节点
当前提交
d994f4058d
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      fs/9p/vfs_inode.c

+ 5 - 1
fs/9p/vfs_inode.c

@@ -431,6 +431,7 @@ error:
 
 
 static int v9fs_remove(struct inode *dir, struct dentry *file, int rmdir)
 static int v9fs_remove(struct inode *dir, struct dentry *file, int rmdir)
 {
 {
+	int retval;
 	struct inode *file_inode;
 	struct inode *file_inode;
 	struct v9fs_session_info *v9ses;
 	struct v9fs_session_info *v9ses;
 	struct p9_fid *v9fid;
 	struct p9_fid *v9fid;
@@ -444,7 +445,10 @@ static int v9fs_remove(struct inode *dir, struct dentry *file, int rmdir)
 	if (IS_ERR(v9fid))
 	if (IS_ERR(v9fid))
 		return PTR_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
 static int