diff options
author | Sage Weil <sage@newdream.net> | 2011-05-27 16:42:09 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2011-05-28 01:02:53 -0400 |
commit | 7ce605d93b775e8a960b0be244f7be565e73b3c1 (patch) | |
tree | eb37f0f8f83940e7328fc9b7762de3bd04eb358c | |
parent | 55e5b7e022eaaa805a44e3b6ecd5c8638d862050 (diff) |
ncpfs: document dentry_unhash usage
ncpfs returns EBUSY if there are any references to the directory. The
dentry_unhash call only unhashes the dentry if there are no references.
CC: Petr Vandrovec <petr@vandrovec.name>
CC: linux-kernel@vger.kernel.org
Signed-off-by: Sage Weil <sage@newdream.net>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/ncpfs/dir.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/ncpfs/dir.c b/fs/ncpfs/dir.c index e3e646b06404..81c287d105d5 100644 --- a/fs/ncpfs/dir.c +++ b/fs/ncpfs/dir.c | |||
@@ -1033,8 +1033,11 @@ static int ncp_rmdir(struct inode *dir, struct dentry *dentry) | |||
1033 | DPRINTK("ncp_rmdir: removing %s/%s\n", | 1033 | DPRINTK("ncp_rmdir: removing %s/%s\n", |
1034 | dentry->d_parent->d_name.name, dentry->d_name.name); | 1034 | dentry->d_parent->d_name.name, dentry->d_name.name); |
1035 | 1035 | ||
1036 | /* | ||
1037 | * fail with EBUSY if there are still references to this | ||
1038 | * directory. | ||
1039 | */ | ||
1036 | dentry_unhash(dentry); | 1040 | dentry_unhash(dentry); |
1037 | |||
1038 | error = -EBUSY; | 1041 | error = -EBUSY; |
1039 | if (!d_unhashed(dentry)) | 1042 | if (!d_unhashed(dentry)) |
1040 | goto out; | 1043 | goto out; |