diff options
author | David Sterba <dsterba@suse.cz> | 2014-06-15 03:20:26 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2014-12-12 18:26:55 +0100 |
commit | 3f556f7853ec4845a7c219d026cbcdf4cfa8cea7 (patch) | |
tree | cf3552bb4ed22bc7c46403549ca13043c40fe460 /fs/btrfs/ctree.c | |
parent | 23d79d81b13431756fee428acde49c9b770da132 (diff) | |
download | lwn-3f556f7853ec4845a7c219d026cbcdf4cfa8cea7.tar.gz lwn-3f556f7853ec4845a7c219d026cbcdf4cfa8cea7.zip |
btrfs: unify extent buffer allocation api
Make the extent buffer allocation interface consistent. Cloned eb will
set a valid fs_info. For dummy eb, we can drop the length parameter and
set it from fs_info.
The built-in sanity checks may pass a NULL fs_info that's queried for
nodesize, but we know it's 4096.
Signed-off-by: David Sterba <dsterba@suse.cz>
Diffstat (limited to 'fs/btrfs/ctree.c')
-rw-r--r-- | fs/btrfs/ctree.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c index 50eca331812c..276d4187cbf0 100644 --- a/fs/btrfs/ctree.c +++ b/fs/btrfs/ctree.c @@ -1363,8 +1363,7 @@ tree_mod_log_rewind(struct btrfs_fs_info *fs_info, struct btrfs_path *path, if (tm->op == MOD_LOG_KEY_REMOVE_WHILE_FREEING) { BUG_ON(tm->slot != 0); - eb_rewin = alloc_dummy_extent_buffer(eb->start, - fs_info->tree_root->nodesize); + eb_rewin = alloc_dummy_extent_buffer(fs_info, eb->start); if (!eb_rewin) { btrfs_tree_read_unlock_blocking(eb); free_extent_buffer(eb); @@ -1444,7 +1443,7 @@ get_old_root(struct btrfs_root *root, u64 time_seq) } else if (old_root) { btrfs_tree_read_unlock(eb_root); free_extent_buffer(eb_root); - eb = alloc_dummy_extent_buffer(logical, root->nodesize); + eb = alloc_dummy_extent_buffer(root->fs_info, logical); } else { btrfs_set_lock_blocking_rw(eb_root, BTRFS_READ_LOCK); eb = btrfs_clone_extent_buffer(eb_root); |