Remove last remains of NFS exportability support.
The code is actually buggy (as reported by Akshat Aranya), since
'alias' will be leaked if it's non-null and alias->d_flags has
DCACHE_DISCONNECTED.
This is not an active bug, since there will never be any disconnected
dentries. But it's better to get rid of the unnecessary complexity
anyway.
Signed-off-by: Miklos Szeredi <[email protected]>
Index: linux/fs/fuse/dir.c
===================================================================
--- linux.orig/fs/fuse/dir.c 2005-09-28 12:57:38.000000000 +0200
+++ linux/fs/fuse/dir.c 2005-09-30 12:07:11.000000000 +0200
@@ -741,13 +741,14 @@ static struct dentry *fuse_lookup(struct
if (inode && S_ISDIR(inode->i_mode)) {
/* Don't allow creating an alias to a directory */
struct dentry *alias = d_find_alias(inode);
- if (alias && !(alias->d_flags & DCACHE_DISCONNECTED)) {
+ if (alias) {
dput(alias);
iput(inode);
return ERR_PTR(-EIO);
}
}
- return d_splice_alias(inode, entry);
+ d_add(entry, inode);
+ return NULL;
}
static int fuse_setxattr(struct dentry *entry, const char *name,