linux/fs/btrfs
Josef Bacik 035fe03a7a 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>
2010-01-28 16:20:39 -05:00
..
acl.c Btrfs: fix a memory leak in btrfs_init_acl 2010-01-28 16:20:39 -05:00
async-thread.c Btrfs: fix deadlock on async thread startup 2009-10-05 09:44:45 -04:00
async-thread.h Btrfs: fix deadlock on async thread startup 2009-10-05 09:44:45 -04:00
btrfs_inode.h Btrfs: Fix disk_i_size update corner case 2009-12-17 12:33:24 -05:00
compat.h
compression.c
compression.h
ctree.c Btrfs: Fix per root used space accounting 2009-12-17 12:33:35 -05:00
ctree.h Btrfs: Add mount -o compress-force 2010-01-28 16:18:15 -05:00
delayed-ref.c
delayed-ref.h
dir-item.c Btrfs: Pass transaction handle to security and ACL initialization functions 2009-12-17 12:33:34 -05:00
disk-io.c Btrfs: run orphan cleanup on default fs root 2010-01-28 16:20:39 -05:00
disk-io.h
export.c
export.h
extent_io.c Btrfs: release delalloc reservations on extent item insertion 2009-10-08 15:21:10 -04:00
extent_io.h Btrfs: release delalloc reservations on extent item insertion 2009-10-08 15:21:10 -04:00
extent_map.c Btrfs: remove tree_search() in extent_map.c 2010-01-28 16:20:38 -05:00
extent_map.h
extent-tree.c Btrfs: fix possible panic on unmount 2010-01-17 20:40:30 -05:00
file-item.c
file.c Btrfs: Fix race in btrfs_mark_extent_written 2010-01-17 20:40:21 -05:00
free-space-cache.c Btrfs: fix how we set max_size for free space clusters 2009-11-11 14:20:17 -05:00
free-space-cache.h
hash.h
inode-item.c
inode-map.c
inode.c Btrfs: run orphan cleanup on default fs root 2010-01-28 16:20:39 -05:00
ioctl.c Btrfs: Fix per root used space accounting 2009-12-17 12:33:35 -05:00
ioctl.h
Kconfig
locking.c
locking.h
Makefile
ordered-data.c Btrfs: align offsets for btrfs_ordered_update_i_size 2010-01-17 20:06:27 -05:00
ordered-data.h Btrfs: Add delayed iput 2009-12-17 12:33:35 -05:00
orphan.c
print-tree.c
print-tree.h
ref-cache.c
ref-cache.h
relocation.c Btrfs, fix memory leaks in error paths 2010-01-17 20:40:20 -05:00
root-tree.c Btrfs: skip btrfs_release_path in btrfs_update_root and btrfs_del_root 2009-11-11 14:20:18 -05:00
struct-funcs.c
super.c Btrfs: Add mount -o compress-force 2010-01-28 16:18:15 -05:00
sysfs.c
transaction.c Btrfs: Fix per root used space accounting 2009-12-17 12:33:35 -05:00
transaction.h Btrfs: Avoid superfluous tree-log writeout 2009-12-15 21:24:25 -05:00
tree-defrag.c
tree-log.c Btrfs: Avoid orphan inodes cleanup while replaying log 2009-12-17 12:33:33 -05:00
tree-log.h Btrfs: avoid tree log commit when there are no changes 2009-10-13 13:35:12 -04:00
version.h
version.sh
volumes.c Btrfs: check total number of devices when removing missing 2010-01-28 16:20:39 -05:00
volumes.h
xattr.c Btrfs: Pass transaction handle to security and ACL initialization functions 2009-12-17 12:33:34 -05:00
xattr.h Btrfs: Pass transaction handle to security and ACL initialization functions 2009-12-17 12:33:34 -05:00
zlib.c