]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: fix regression in raid level conversion
authorChris Mason <clm@fb.com>
Wed, 20 May 2015 01:54:41 +0000 (18:54 -0700)
committerChris Mason <clm@fb.com>
Wed, 20 May 2015 18:03:38 +0000 (11:03 -0700)
commit6836307359862eba264c4e367c216e3df6ddc6c0
tree281b31ee220fc7bf3930f32b7863ddd16ad1e2af
parent673e6258561fca485cab9edbde205b588f33fadc
Btrfs: fix regression in raid level conversion

Commit f36116faaa8092e1a9c392ec0adcad2fd8b2c0f4 changed
btrfs_set_block_group_ro to avoid trying to allocate new chunks with the
new raid profile during conversion.  This fixed failures when there was
no space on the drive to allocate a new chunk, but the metadata
reserves were sufficient to continue the conversion.

But this ended up causing a regression when the drive had plenty of
space to allocate new chunks, mostly because reduce_alloc_profile isn't
using the new raid profile.

Fixing btrfs_reduce_alloc_profile is a bigger patch.  For now, do a
partial revert of f36116faa, and don't error out if we hit ENOSPC.

Signed-off-by: Chris Mason <clm@fb.com>
Tested-by: Dave Sterba <dsterba@suse.cz>
Reported-by: Holger Hoffstaette <holger.hoffstaette@googlemail.com>
fs/btrfs/extent-tree.c