Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
        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) {
 
                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) {
                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;