From: Filipe Manana <fdman...@suse.com> This patchset fixes a couple bugs, in the two first patches, with the tree mod log code. The remaining patches just move all that code into a separate file, since it's quite large and ctree.c is huge as well, and do some small refactorings and cleanups.
One of the bugs in particular, has been hit frequently by Zygo, hitting a BUG_ON(). Filipe Manana (9): btrfs: fix race when cloning extent buffer during rewind of an old root btrfs: always pin deleted leaves when there are active tree mod log users btrfs: move the tree mod log code into its own file btrfs: use booleans where appropriate for the tree mod log functions btrfs: use a bit to track the existence of tree mod log users btrfs: use the new bit BTRFS_FS_TREE_MOD_LOG_USERS at btrfs_free_tree_block() btrfs: remove unnecessary leaf check at btrfs_tree_mod_log_free_eb() btrfs: add and use helper to get lowest sequence number for the tree mod log btrfs: update debug message when checking seq number of a delayed ref fs/btrfs/Makefile | 2 +- fs/btrfs/backref.c | 33 +- fs/btrfs/ctree.c | 954 ++-------------------------------------- fs/btrfs/ctree.h | 20 +- fs/btrfs/delayed-ref.c | 31 +- fs/btrfs/extent-tree.c | 21 +- fs/btrfs/qgroup.c | 9 +- fs/btrfs/tree-mod-log.c | 912 ++++++++++++++++++++++++++++++++++++++ fs/btrfs/tree-mod-log.h | 53 +++ 9 files changed, 1056 insertions(+), 979 deletions(-) create mode 100644 fs/btrfs/tree-mod-log.c create mode 100644 fs/btrfs/tree-mod-log.h -- 2.28.0