switch afs
Al Viro [Thu, 13 Jan 2011 01:04:20 +0000 (20:04 -0500)]
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

fs/afs/dir.c
fs/afs/internal.h
fs/afs/super.c

index 34a3263..e6a4ab9 100644 (file)
@@ -62,7 +62,7 @@ const struct inode_operations afs_dir_inode_operations = {
        .setattr        = afs_setattr,
 };
 
-static const struct dentry_operations afs_fs_dentry_operations = {
+const struct dentry_operations afs_fs_dentry_operations = {
        .d_revalidate   = afs_d_revalidate,
        .d_delete       = afs_d_delete,
        .d_release      = afs_d_release,
@@ -582,8 +582,6 @@ static struct dentry *afs_lookup(struct inode *dir, struct dentry *dentry,
        }
 
 success:
-       d_set_d_op(dentry, &afs_fs_dentry_operations);
-
        d_add(dentry, inode);
        _leave(" = 0 { vn=%u u=%u } -> { ino=%lu v=%llu }",
               fid.vnode,
index 6d4bc1c..ab6db5a 100644 (file)
@@ -486,6 +486,7 @@ extern bool afs_cm_incoming_call(struct afs_call *);
  * dir.c
  */
 extern const struct inode_operations afs_dir_inode_operations;
+extern const struct dentry_operations afs_fs_dentry_operations;
 extern const struct file_operations afs_dir_file_operations;
 
 /*
index f901a9d..fb240e8 100644 (file)
@@ -336,6 +336,7 @@ static int afs_fill_super(struct super_block *sb, void *data)
        if (!root)
                goto error;
 
+       sb->s_d_op = &afs_fs_dentry_operations;
        sb->s_root = root;
 
        _leave(" = 0");