mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
btrfs: use BTRFS_PATH_AUTO_FREE in btrfs_init_root_free_objectid()
This is the trivial pattern for path auto free, initialize at the beginning and free at the end with simple goto -> return conversions. Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
aaa5ae8f6d
commit
72f2bae3c1
|
|
@ -4896,7 +4896,7 @@ static int btrfs_cleanup_transaction(struct btrfs_fs_info *fs_info)
|
|||
|
||||
int btrfs_init_root_free_objectid(struct btrfs_root *root)
|
||||
{
|
||||
struct btrfs_path *path;
|
||||
BTRFS_PATH_AUTO_FREE(path);
|
||||
int ret;
|
||||
struct extent_buffer *l;
|
||||
struct btrfs_key search_key;
|
||||
|
|
@ -4912,14 +4912,13 @@ int btrfs_init_root_free_objectid(struct btrfs_root *root)
|
|||
search_key.offset = (u64)-1;
|
||||
ret = btrfs_search_slot(NULL, root, &search_key, path, 0, 0);
|
||||
if (ret < 0)
|
||||
goto error;
|
||||
return ret;
|
||||
if (ret == 0) {
|
||||
/*
|
||||
* Key with offset -1 found, there would have to exist a root
|
||||
* with such id, but this is out of valid range.
|
||||
*/
|
||||
ret = -EUCLEAN;
|
||||
goto error;
|
||||
return -EUCLEAN;
|
||||
}
|
||||
if (path->slots[0] > 0) {
|
||||
slot = path->slots[0] - 1;
|
||||
|
|
@ -4930,10 +4929,8 @@ int btrfs_init_root_free_objectid(struct btrfs_root *root)
|
|||
} else {
|
||||
root->free_objectid = BTRFS_FIRST_FREE_OBJECTID;
|
||||
}
|
||||
ret = 0;
|
||||
error:
|
||||
btrfs_free_path(path);
|
||||
return ret;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int btrfs_get_free_objectid(struct btrfs_root *root, u64 *objectid)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user