diff options
author | Josef Bacik <jbacik@fb.com> | 2016-03-25 13:25:48 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2016-07-07 18:45:53 +0200 |
commit | 25d609f86d6808eb1f0e8a6cafc3edb4a2b5ae35 (patch) | |
tree | 24b8d9a911aa57675c5ade8f46028d32e77c521a /fs/btrfs/relocation.c | |
parent | e40edf2da4fc6ab10c707b0522372b08b38171e6 (diff) | |
download | op-kernel-dev-25d609f86d6808eb1f0e8a6cafc3edb4a2b5ae35.zip op-kernel-dev-25d609f86d6808eb1f0e8a6cafc3edb4a2b5ae35.tar.gz |
Btrfs: fix callers of btrfs_block_rsv_migrate
So btrfs_block_rsv_migrate just unconditionally calls block_rsv_migrate_bytes.
Not only this but it unconditionally changes the size of the block_rsv. This
isn't a bug strictly speaking, but it makes truncate block rsv's look funny
because every time we migrate bytes over its size grows, even though we only
want it to be a specific size. So collapse this into one function that takes an
update_size argument and make truncate and evict not update the size for
consistency sake. Thanks,
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/relocation.c')
-rw-r--r-- | fs/btrfs/relocation.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 0477dca..0bf3bc8 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -4643,7 +4643,7 @@ int btrfs_reloc_post_snapshot(struct btrfs_trans_handle *trans, if (rc->merge_reloc_tree) { ret = btrfs_block_rsv_migrate(&pending->block_rsv, rc->block_rsv, - rc->nodes_relocated); + rc->nodes_relocated, 1); if (ret) return ret; } |