This wave has the following features:
- Hunt down BUG_ON() in btrfs_delete_delayed_dir_index()
EEXIST can cause BUG_ON(). And all callers of this function has
already handled error by aborting transacation.
- Only allocate extents from the same block group type
This is a very tricky bug, needs MIXED_GROUP super flag with regular
block groups (separate META and DATA) and corrupted extent tree.
- ROOT_ITEM check for tree checker
This kills the unaligned bytenr, invalid level and incorrect reloc
tree.
Reported-by: Jungyeon Yoon <jungyeon.yoon@xxxxxxxxx>
Qu Wenruo (3):
btrfs: delayed-inode: Kill the BUG_ON() in
btrfs_delete_delayed_dir_index()
btrfs: extent-tree: Make sure we only allocate extents from block
groups with the same type
btrfs: tree-checker: Add ROOT_ITEM check
fs/btrfs/delayed-inode.c | 14 +++++-
fs/btrfs/extent-tree.c | 9 ++++
fs/btrfs/tree-checker.c | 92 ++++++++++++++++++++++++++++++++++++++++
3 files changed, 113 insertions(+), 2 deletions(-)
--
2.22.0