aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2011-01-12 16:25:02 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2011-01-12 20:02:48 -0500
commit9501e4c48e1561443e1a16c2c9917ec6c63118a4 (patch)
treeb3b0a5117443153dd4b8703321862207887470ee
parentb5c7d208ca48e7769aa38731665283790de49840 (diff)
switch coda
Coda ->d_revalidate() actually checks for root, ->d_delete() is irrelevant. So we can use the same d_op for all coda dentries Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r--fs/coda/dir.c4
-rw-r--r--fs/coda/inode.c1
-rw-r--r--include/linux/coda_linux.h2
3 files changed, 4 insertions, 3 deletions
diff --git a/fs/coda/dir.c b/fs/coda/dir.c
index 29badd91360..9df71f0eb21 100644
--- a/fs/coda/dir.c
+++ b/fs/coda/dir.c
@@ -61,7 +61,7 @@ static int coda_return_EIO(void)
}
#define CODA_EIO_ERROR ((void *) (coda_return_EIO))
-static const struct dentry_operations coda_dentry_operations =
+const struct dentry_operations coda_dentry_operations =
{
.d_revalidate = coda_dentry_revalidate,
.d_delete = coda_dentry_delete,
@@ -126,8 +126,6 @@ static struct dentry *coda_lookup(struct inode *dir, struct dentry *entry, struc
return ERR_PTR(error);
exit:
- d_set_d_op(entry, &coda_dentry_operations);
-
if (inode && (type & CODA_NOCACHE))
coda_flag_inode(inode, C_VATTR | C_PURGE);
diff --git a/fs/coda/inode.c b/fs/coda/inode.c
index 50dc7d189f5..bd7fde2721a 100644
--- a/fs/coda/inode.c
+++ b/fs/coda/inode.c
@@ -193,6 +193,7 @@ static int coda_fill_super(struct super_block *sb, void *data, int silent)
sb->s_blocksize_bits = 12;
sb->s_magic = CODA_SUPER_MAGIC;
sb->s_op = &coda_super_operations;
+ sb->s_d_op = &coda_dentry_operations;
sb->s_bdi = &vc->bdi;
/* get root fid from Venus: this needs the root inode */
diff --git a/include/linux/coda_linux.h b/include/linux/coda_linux.h
index 4ccc59c1ea8..490c56b4086 100644
--- a/include/linux/coda_linux.h
+++ b/include/linux/coda_linux.h
@@ -27,6 +27,8 @@ extern const struct inode_operations coda_dir_inode_operations;
extern const struct inode_operations coda_file_inode_operations;
extern const struct inode_operations coda_ioctl_inode_operations;
+extern const struct dentry_operations coda_dentry_operations;
+
extern const struct address_space_operations coda_file_aops;
extern const struct address_space_operations coda_symlink_aops;