]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: check total number of devices when removing missing
authorJosef Bacik <josef@redhat.com>
Wed, 27 Jan 2010 02:09:38 +0000 (02:09 +0000)
committerChris Mason <chris.mason@oracle.com>
Thu, 28 Jan 2010 21:20:39 +0000 (16:20 -0500)
commit511531fd1a6b6008556f79504bf87ee1e533187f
treef3502142234e7d28df3e32b9b2cd26869db4b4d6
parent6737a7af797cebe5d68f886220e9aa494982ec23
Btrfs: check total number of devices when removing missing

If you have a disk failure in RAID1 and then add a new disk to the
array, and then try to remove the missing volume, it will fail.  The
reason is the sanity check only looks at the total number of rw devices,
which is just 2 because we have 2 good disks and 1 bad one.  Instead
check the total number of devices in the array to make sure we can
actually remove the device.  Tested this with a failed disk setup and
with this test we can now run

btrfs-vol -r missing /mount/point

and it works fine.

Signed-off-by: Josef Bacik <josef@redhat.com>
Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/volumes.c