aboutsummaryrefslogtreecommitdiffstats
path: root/fs/fuse/dir.c
diff options
context:
space:
mode:
authorMiklos Szeredi <miklos@szeredi.hu>2005-10-30 18:02:25 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-10-30 20:37:21 -0500
commitf12ec44070f6b4d1a3911fcf9917cf8f872a4daf (patch)
treeaaaa60dc437720372637a5a95f4fcd7648d7b9c5 /fs/fuse/dir.c
parent15d2bace5ec907530a3d0e0cf4bb1bd29f3ad7b7 (diff)
[PATCH] fuse: clean up dead code related to nfs exporting
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 <miklos@szeredi.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/fuse/dir.c')
-rw-r--r--fs/fuse/dir.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index 29f1e9f6e85c..70dba721acab 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -741,13 +741,14 @@ static struct dentry *fuse_lookup(struct inode *dir, struct dentry *entry,
741 if (inode && S_ISDIR(inode->i_mode)) { 741 if (inode && S_ISDIR(inode->i_mode)) {
742 /* Don't allow creating an alias to a directory */ 742 /* Don't allow creating an alias to a directory */
743 struct dentry *alias = d_find_alias(inode); 743 struct dentry *alias = d_find_alias(inode);
744 if (alias && !(alias->d_flags & DCACHE_DISCONNECTED)) { 744 if (alias) {
745 dput(alias); 745 dput(alias);
746 iput(inode); 746 iput(inode);
747 return ERR_PTR(-EIO); 747 return ERR_PTR(-EIO);
748 } 748 }
749 } 749 }
750 return d_splice_alias(inode, entry); 750 d_add(entry, inode);
751 return NULL;
751} 752}
752 753
753static int fuse_setxattr(struct dentry *entry, const char *name, 754static int fuse_setxattr(struct dentry *entry, const char *name,