switch adfs
Al Viro [Sat, 18 Dec 2010 16:20:57 +0000 (11:20 -0500)]
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

fs/adfs/dir.c
fs/adfs/super.c

index bf7693c..3b4a764 100644 (file)
@@ -276,7 +276,6 @@ adfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
        struct object_info obj;
        int error;
 
-       d_set_d_op(dentry, &adfs_dentry_operations);
        lock_kernel();
        error = adfs_dir_lookup_byname(dir, &dentry->d_name, &obj);
        if (error == 0) {
index a4041b5..2d79540 100644 (file)
@@ -473,6 +473,7 @@ static int adfs_fill_super(struct super_block *sb, void *data, int silent)
                asb->s_namelen = ADFS_F_NAME_LEN;
        }
 
+       sb->s_d_op = &adfs_dentry_operations;
        root = adfs_iget(sb, &root_obj);
        sb->s_root = d_alloc_root(root);
        if (!sb->s_root) {
@@ -483,8 +484,7 @@ static int adfs_fill_super(struct super_block *sb, void *data, int silent)
                kfree(asb->s_map);
                adfs_error(sb, "get root inode failed\n");
                goto error;
-       } else
-               d_set_d_op(sb->s_root, &adfs_dentry_operations);
+       }
        unlock_kernel();
        return 0;