Ver código fonte

switch adfs

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Al Viro 14 anos atrás
pai
commit
96e1391414
2 arquivos alterados com 2 adições e 3 exclusões
  1. 0 1
      fs/adfs/dir.c
  2. 2 2
      fs/adfs/super.c

+ 0 - 1
fs/adfs/dir.c

@@ -276,7 +276,6 @@ adfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd)
 	struct object_info obj;
 	struct object_info obj;
 	int error;
 	int error;
 
 
-	d_set_d_op(dentry, &adfs_dentry_operations);
 	lock_kernel();
 	lock_kernel();
 	error = adfs_dir_lookup_byname(dir, &dentry->d_name, &obj);
 	error = adfs_dir_lookup_byname(dir, &dentry->d_name, &obj);
 	if (error == 0) {
 	if (error == 0) {

+ 2 - 2
fs/adfs/super.c

@@ -473,6 +473,7 @@ static int adfs_fill_super(struct super_block *sb, void *data, int silent)
 		asb->s_namelen = ADFS_F_NAME_LEN;
 		asb->s_namelen = ADFS_F_NAME_LEN;
 	}
 	}
 
 
+	sb->s_d_op = &adfs_dentry_operations;
 	root = adfs_iget(sb, &root_obj);
 	root = adfs_iget(sb, &root_obj);
 	sb->s_root = d_alloc_root(root);
 	sb->s_root = d_alloc_root(root);
 	if (!sb->s_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);
 		kfree(asb->s_map);
 		adfs_error(sb, "get root inode failed\n");
 		adfs_error(sb, "get root inode failed\n");
 		goto error;
 		goto error;
-	} else
-		d_set_d_op(sb->s_root, &adfs_dentry_operations);
+	}
 	unlock_kernel();
 	unlock_kernel();
 	return 0;
 	return 0;