[PATCH] v9fs: assign dentry ops to negative dentries

From: Eric Van Hensbergen
Date: Fri Mar 17 2006 - 14:08:15 EST


Subject: [PATCH] assign dentry ops to negative dentries
From: Latchesar Ionkov <lucho@xxxxxxxxxx>
Date: 1142219619 -0500

If a file is not found in v9fs_vfs_lookup, the function creates negative
dentry, but doesn't assign any dentry ops. This leaves the negative entry
in the cache (there is no d_delete to mark it for removal). If the file is
created outside of the mounted v9fs filesystem, the file shows up in the
directory with weird permissions.

This patch assigns the default v9fs dentry ops to the negative dentry.

Signed-off-by: Latchesar Ionkov <lucho@xxxxxxxxxx>
Signed-off-by: Eric Van Hensbergen <ericvh@xxxxxxxxx>

---

fs/9p/vfs_inode.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

1c2ced3fa5281cc5f96272186c8f180b8e2823c8
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c
index 3438e6a..d3c4cd4 100644
--- a/fs/9p/vfs_inode.c
+++ b/fs/9p/vfs_inode.c
@@ -614,6 +614,7 @@ static struct dentry *v9fs_vfs_lookup(st

sb = dir->i_sb;
v9ses = v9fs_inode2v9ses(dir);
+ dentry->d_op = &v9fs_dentry_operations;
dirfid = v9fs_fid_lookup(dentry->d_parent);

if (!dirfid) {
@@ -681,8 +682,6 @@ static struct dentry *v9fs_vfs_lookup(st
goto FreeFcall;

fid->qid = fcall->params.rstat.stat.qid;
-
- dentry->d_op = &v9fs_dentry_operations;
v9fs_stat2inode(&fcall->params.rstat.stat, inode, inode->i_sb);

d_add(dentry, inode);
--
1.1.0
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/