summaryrefslogtreecommitdiff
path: root/btrfs-select-super.c
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2018-08-03 13:50:21 +0800
committerDavid Sterba <dsterba@suse.com>2018-10-23 14:48:40 +0200
commit40073c3ca97b929e3345802896eaaf0165ed7f83 (patch)
tree0caf641675d33a2ebd1d7ae286992c0e6e193bfb /btrfs-select-super.c
parentb02b426a784cb327b13a15df752ca285652a45c4 (diff)
btrfs-progs: exit gracefully when device extent allocation fails
Another BUG_ON() during fuzz/003: ====== RUN MAYFAIL btrfs check --repair tests/fuzz-tests/images/bko-199833-reloc-recovery-crash.raw.restored [1/7] checking root items Fixed 0 roots. [2/7] checking extents ctree.c:1650: leaf_space_used: Warning: assertion `data_len < 0` failed, value 1 bad key ordering 18 19 bad block 29409280 ERROR: errors found in extent allocation tree or chunk allocation WARNING: minor unaligned/mismatch device size detected WARNING: recommended to use 'btrfs rescue fix-device-size' to fix it [3/7] checking free space cache [4/7] checking fs roots ctree.c:1650: leaf_space_used: Warning: assertion `data_len < 0` failed, value 1 bad key ordering 18 19 root 18446744073709551608 missing its root dir, recreating Unable to find block group for 0 Unable to find block group for 0 Unable to find block group for 0 volumes.c:564: btrfs_alloc_dev_extent: BUG_ON `ret` triggered, value -28 failed (ignored, ret=134): btrfs check --repair tests/fuzz-tests/images/bko-199833-reloc-recovery-crash.raw.restored mayfail: returned code 134 (SIGABRT), not ignored test failed for case 003-multi-check-unmounted However the culprit function btrfs_alloc_dev_extent() has proper error handling label err:, just using that label would solve the problem easily. Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Nikolay Borisov <nborisov@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'btrfs-select-super.c')
0 files changed, 0 insertions, 0 deletions