From: Filipe Manana <>

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

Filipe Manana (9):
  btrfs: fix race when cloning extent buffer during rewind of an old
  btrfs: always pin deleted leaves when there are active tree mod log
  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: 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


Reply via email to