btrfs: drop unused parameter is_new from btrfs_iget

The parameter is now always set to NULL and could be dropped. The last
user was get_default_root but that got reworked in 05dbe6837b ("Btrfs:
unify subvol= and subvolid= mounting") and the parameter became unused.

Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2019-10-03 19:09:35 +02:00
parent baf320b9d5
commit 4c66e0d424
11 changed files with 31 additions and 34 deletions

View File

@ -2869,10 +2869,9 @@ int btrfs_drop_inode(struct inode *inode);
int __init btrfs_init_cachep(void); int __init btrfs_init_cachep(void);
void __cold btrfs_destroy_cachep(void); void __cold btrfs_destroy_cachep(void);
struct inode *btrfs_iget_path(struct super_block *s, struct btrfs_key *location, struct inode *btrfs_iget_path(struct super_block *s, struct btrfs_key *location,
struct btrfs_root *root, int *new, struct btrfs_root *root, struct btrfs_path *path);
struct btrfs_path *path);
struct inode *btrfs_iget(struct super_block *s, struct btrfs_key *location, struct inode *btrfs_iget(struct super_block *s, struct btrfs_key *location,
struct btrfs_root *root, int *was_new); struct btrfs_root *root);
struct extent_map *btrfs_get_extent(struct btrfs_inode *inode, struct extent_map *btrfs_get_extent(struct btrfs_inode *inode,
struct page *page, size_t pg_offset, struct page *page, size_t pg_offset,
u64 start, u64 end, int create); u64 start, u64 end, int create);

View File

@ -87,7 +87,7 @@ static struct dentry *btrfs_get_dentry(struct super_block *sb, u64 objectid,
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
inode = btrfs_iget(sb, &key, root, NULL); inode = btrfs_iget(sb, &key, root);
if (IS_ERR(inode)) { if (IS_ERR(inode)) {
err = PTR_ERR(inode); err = PTR_ERR(inode);
goto fail; goto fail;
@ -214,7 +214,7 @@ static struct dentry *btrfs_get_parent(struct dentry *child)
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
return d_obtain_alias(btrfs_iget(fs_info->sb, &key, root, NULL)); return d_obtain_alias(btrfs_iget(fs_info->sb, &key, root));
fail: fail:
btrfs_free_path(path); btrfs_free_path(path);
return ERR_PTR(ret); return ERR_PTR(ret);

View File

@ -296,7 +296,7 @@ static int __btrfs_run_defrag_inode(struct btrfs_fs_info *fs_info,
key.objectid = defrag->ino; key.objectid = defrag->ino;
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
inode = btrfs_iget(fs_info->sb, &key, inode_root, NULL); inode = btrfs_iget(fs_info->sb, &key, inode_root);
if (IS_ERR(inode)) { if (IS_ERR(inode)) {
ret = PTR_ERR(inode); ret = PTR_ERR(inode);
goto cleanup; goto cleanup;

View File

@ -78,7 +78,7 @@ static struct inode *__lookup_free_space_inode(struct btrfs_root *root,
* sure NOFS is set to keep us from deadlocking. * sure NOFS is set to keep us from deadlocking.
*/ */
nofs_flag = memalloc_nofs_save(); nofs_flag = memalloc_nofs_save();
inode = btrfs_iget_path(fs_info->sb, &location, root, NULL, path); inode = btrfs_iget_path(fs_info->sb, &location, root, path);
btrfs_release_path(path); btrfs_release_path(path);
memalloc_nofs_restore(nofs_flag); memalloc_nofs_restore(nofs_flag);
if (IS_ERR(inode)) if (IS_ERR(inode))

View File

@ -2672,7 +2672,7 @@ static noinline int relink_extent_backref(struct btrfs_path *path,
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
inode = btrfs_iget(fs_info->sb, &key, root, NULL); inode = btrfs_iget(fs_info->sb, &key, root);
if (IS_ERR(inode)) { if (IS_ERR(inode)) {
srcu_read_unlock(&fs_info->subvol_srcu, index); srcu_read_unlock(&fs_info->subvol_srcu, index);
return 0; return 0;
@ -3523,7 +3523,7 @@ int btrfs_orphan_cleanup(struct btrfs_root *root)
found_key.objectid = found_key.offset; found_key.objectid = found_key.offset;
found_key.type = BTRFS_INODE_ITEM_KEY; found_key.type = BTRFS_INODE_ITEM_KEY;
found_key.offset = 0; found_key.offset = 0;
inode = btrfs_iget(fs_info->sb, &found_key, root, NULL); inode = btrfs_iget(fs_info->sb, &found_key, root);
ret = PTR_ERR_OR_ZERO(inode); ret = PTR_ERR_OR_ZERO(inode);
if (ret && ret != -ENOENT) if (ret && ret != -ENOENT)
goto out; goto out;
@ -5742,12 +5742,14 @@ static struct inode *btrfs_iget_locked(struct super_block *s,
return inode; return inode;
} }
/* Get an inode object given its location and corresponding root. /*
* Returns in *is_new if the inode was read from disk * Get an inode object given its location and corresponding root.
* Path can be preallocated to prevent recursing back to iget through
* allocator. NULL is also valid but may require an additional allocation
* later.
*/ */
struct inode *btrfs_iget_path(struct super_block *s, struct btrfs_key *location, struct inode *btrfs_iget_path(struct super_block *s, struct btrfs_key *location,
struct btrfs_root *root, int *new, struct btrfs_root *root, struct btrfs_path *path)
struct btrfs_path *path)
{ {
struct inode *inode; struct inode *inode;
@ -5762,8 +5764,6 @@ struct inode *btrfs_iget_path(struct super_block *s, struct btrfs_key *location,
if (!ret) { if (!ret) {
inode_tree_add(inode); inode_tree_add(inode);
unlock_new_inode(inode); unlock_new_inode(inode);
if (new)
*new = 1;
} else { } else {
iget_failed(inode); iget_failed(inode);
/* /*
@ -5781,9 +5781,9 @@ struct inode *btrfs_iget_path(struct super_block *s, struct btrfs_key *location,
} }
struct inode *btrfs_iget(struct super_block *s, struct btrfs_key *location, struct inode *btrfs_iget(struct super_block *s, struct btrfs_key *location,
struct btrfs_root *root, int *new) struct btrfs_root *root)
{ {
return btrfs_iget_path(s, location, root, new, NULL); return btrfs_iget_path(s, location, root, NULL);
} }
static struct inode *new_simple_dir(struct super_block *s, static struct inode *new_simple_dir(struct super_block *s,
@ -5849,7 +5849,7 @@ struct inode *btrfs_lookup_dentry(struct inode *dir, struct dentry *dentry)
return ERR_PTR(ret); return ERR_PTR(ret);
if (location.type == BTRFS_INODE_ITEM_KEY) { if (location.type == BTRFS_INODE_ITEM_KEY) {
inode = btrfs_iget(dir->i_sb, &location, root, NULL); inode = btrfs_iget(dir->i_sb, &location, root);
if (IS_ERR(inode)) if (IS_ERR(inode))
return inode; return inode;
@ -5874,7 +5874,7 @@ struct inode *btrfs_lookup_dentry(struct inode *dir, struct dentry *dentry)
else else
inode = new_simple_dir(dir->i_sb, &location, sub_root); inode = new_simple_dir(dir->i_sb, &location, sub_root);
} else { } else {
inode = btrfs_iget(dir->i_sb, &location, sub_root, NULL); inode = btrfs_iget(dir->i_sb, &location, sub_root);
} }
srcu_read_unlock(&fs_info->subvol_srcu, index); srcu_read_unlock(&fs_info->subvol_srcu, index);

View File

@ -2462,7 +2462,7 @@ static int btrfs_search_path_in_tree_user(struct inode *inode,
goto out; goto out;
} }
temp_inode = btrfs_iget(sb, &key2, root, NULL); temp_inode = btrfs_iget(sb, &key2, root);
if (IS_ERR(temp_inode)) { if (IS_ERR(temp_inode)) {
ret = PTR_ERR(temp_inode); ret = PTR_ERR(temp_inode);
goto out; goto out;

View File

@ -416,11 +416,11 @@ int btrfs_subvol_inherit_props(struct btrfs_trans_handle *trans,
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
parent_inode = btrfs_iget(sb, &key, parent_root, NULL); parent_inode = btrfs_iget(sb, &key, parent_root);
if (IS_ERR(parent_inode)) if (IS_ERR(parent_inode))
return PTR_ERR(parent_inode); return PTR_ERR(parent_inode);
child_inode = btrfs_iget(sb, &key, root, NULL); child_inode = btrfs_iget(sb, &key, root);
if (IS_ERR(child_inode)) { if (IS_ERR(child_inode)) {
iput(parent_inode); iput(parent_inode);
return PTR_ERR(child_inode); return PTR_ERR(child_inode);

View File

@ -3560,7 +3560,7 @@ static int delete_block_group_cache(struct btrfs_fs_info *fs_info,
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
inode = btrfs_iget(fs_info->sb, &key, root, NULL); inode = btrfs_iget(fs_info->sb, &key, root);
if (IS_ERR(inode)) if (IS_ERR(inode))
return -ENOENT; return -ENOENT;
@ -4246,7 +4246,7 @@ struct inode *create_reloc_inode(struct btrfs_fs_info *fs_info,
key.objectid = objectid; key.objectid = objectid;
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
inode = btrfs_iget(fs_info->sb, &key, root, NULL); inode = btrfs_iget(fs_info->sb, &key, root);
BUG_ON(IS_ERR(inode)); BUG_ON(IS_ERR(inode));
BTRFS_I(inode)->index_cnt = group->key.objectid; BTRFS_I(inode)->index_cnt = group->key.objectid;

View File

@ -4779,7 +4779,7 @@ static ssize_t fill_read_buf(struct send_ctx *sctx, u64 offset, u32 len)
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
inode = btrfs_iget(fs_info->sb, &key, root, NULL); inode = btrfs_iget(fs_info->sb, &key, root);
if (IS_ERR(inode)) if (IS_ERR(inode))
return PTR_ERR(inode); return PTR_ERR(inode);

View File

@ -1219,7 +1219,7 @@ static int btrfs_fill_super(struct super_block *sb,
key.objectid = BTRFS_FIRST_FREE_OBJECTID; key.objectid = BTRFS_FIRST_FREE_OBJECTID;
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
inode = btrfs_iget(sb, &key, fs_info->fs_root, NULL); inode = btrfs_iget(sb, &key, fs_info->fs_root);
if (IS_ERR(inode)) { if (IS_ERR(inode)) {
err = PTR_ERR(inode); err = PTR_ERR(inode);
goto fail_close; goto fail_close;

View File

@ -559,7 +559,7 @@ static noinline struct inode *read_one_inode(struct btrfs_root *root,
key.objectid = objectid; key.objectid = objectid;
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
inode = btrfs_iget(root->fs_info->sb, &key, root, NULL); inode = btrfs_iget(root->fs_info->sb, &key, root);
if (IS_ERR(inode)) if (IS_ERR(inode))
inode = NULL; inode = NULL;
return inode; return inode;
@ -4965,7 +4965,7 @@ static int log_conflicting_inodes(struct btrfs_trans_handle *trans,
key.objectid = ino; key.objectid = ino;
key.type = BTRFS_INODE_ITEM_KEY; key.type = BTRFS_INODE_ITEM_KEY;
key.offset = 0; key.offset = 0;
inode = btrfs_iget(fs_info->sb, &key, root, NULL); inode = btrfs_iget(fs_info->sb, &key, root);
/* /*
* If the other inode that had a conflicting dir entry was * If the other inode that had a conflicting dir entry was
* deleted in the current transaction, we need to log its parent * deleted in the current transaction, we need to log its parent
@ -4975,8 +4975,7 @@ static int log_conflicting_inodes(struct btrfs_trans_handle *trans,
ret = PTR_ERR(inode); ret = PTR_ERR(inode);
if (ret == -ENOENT) { if (ret == -ENOENT) {
key.objectid = parent; key.objectid = parent;
inode = btrfs_iget(fs_info->sb, &key, root, inode = btrfs_iget(fs_info->sb, &key, root);
NULL);
if (IS_ERR(inode)) { if (IS_ERR(inode)) {
ret = PTR_ERR(inode); ret = PTR_ERR(inode);
} else { } else {
@ -5681,7 +5680,7 @@ process_leaf:
continue; continue;
btrfs_release_path(path); btrfs_release_path(path);
di_inode = btrfs_iget(fs_info->sb, &di_key, root, NULL); di_inode = btrfs_iget(fs_info->sb, &di_key, root);
if (IS_ERR(di_inode)) { if (IS_ERR(di_inode)) {
ret = PTR_ERR(di_inode); ret = PTR_ERR(di_inode);
goto next_dir_inode; goto next_dir_inode;
@ -5807,8 +5806,7 @@ static int btrfs_log_all_parents(struct btrfs_trans_handle *trans,
cur_offset = item_size; cur_offset = item_size;
} }
dir_inode = btrfs_iget(fs_info->sb, &inode_key, dir_inode = btrfs_iget(fs_info->sb, &inode_key, root);
root, NULL);
/* /*
* If the parent inode was deleted, return an error to * If the parent inode was deleted, return an error to
* fallback to a transaction commit. This is to prevent * fallback to a transaction commit. This is to prevent
@ -5882,7 +5880,7 @@ static int log_new_ancestors(struct btrfs_trans_handle *trans,
search_key.objectid = found_key.offset; search_key.objectid = found_key.offset;
search_key.type = BTRFS_INODE_ITEM_KEY; search_key.type = BTRFS_INODE_ITEM_KEY;
search_key.offset = 0; search_key.offset = 0;
inode = btrfs_iget(fs_info->sb, &search_key, root, NULL); inode = btrfs_iget(fs_info->sb, &search_key, root);
if (IS_ERR(inode)) if (IS_ERR(inode))
return PTR_ERR(inode); return PTR_ERR(inode);