]> git.karo-electronics.de Git - mv-sheeva.git/commitdiff
switch coda
authorAl Viro <viro@zeniv.linux.org.uk>
Wed, 12 Jan 2011 21:25:02 +0000 (16:25 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Thu, 13 Jan 2011 01:02:48 +0000 (20:02 -0500)
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>
fs/coda/dir.c
fs/coda/inode.c
include/linux/coda_linux.h

index 29badd91360fdca54dc40c1b2a4d8f7af12b88c8..9df71f0eb218b6c72fd65f846e63088a135cc193 100644 (file)
@@ -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);
 
index 50dc7d189f56264860d7a233d027a43a31163f36..bd7fde2721a8b81739f9628bd699fd08b4e8d778 100644 (file)
@@ -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 */
index 4ccc59c1ea82bf8488ebe8fbbb5cc286764b6f1e..490c56b408647834af5bbf914759b0aa0ffee125 100644 (file)
@@ -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;