This small patchset reworks the REF_COWS bit, by renaming it, and remove
that bit for data relocation root.
The basic idea of such rework is to reduce the confusion caused by the
name REF_COWS.
With the new bit called SHAREABLE, it should be clear that no user can
really create snapshot for data reloc tree, thus its tree blocks
shouldn't be shareable.
This would make data balance for reloc tree a little simpler.
Changelog:
v2:
- Add new patch to address the log tree check in
btrfs_truncate_inode_items()
Thanks for the advice from David, now it's much simpler than original
check, and data reloc tree no longer needs extra hanlding
- Grab data reloc root in create_reloc_inode() and
btrfs_recover_relocation()
- Comment update
v3:
- Remove ALIGN_DOWN() -> round_down() change
- Remove the confusing comment on the log tree inode
Qu Wenruo (3):
btrfs: Rename BTRFS_ROOT_REF_COWS to BTRFS_ROOT_SHAREABLE
btrfs: inode: Cleanup the log tree exceptions in
btrfs_truncate_inode_items()
btrfs: Don't set SHAREABLE flag for data reloc tree
fs/btrfs/backref.c | 4 ++--
fs/btrfs/backref.h | 2 +-
fs/btrfs/block-rsv.c | 2 +-
fs/btrfs/ctree.c | 26 +++++++++++++-------------
fs/btrfs/ctree.h | 25 +++++++++++++++++++++++--
fs/btrfs/disk-io.c | 27 ++++++++++++++++++++-------
fs/btrfs/extent-tree.c | 2 +-
fs/btrfs/file.c | 2 +-
fs/btrfs/inode.c | 35 +++++++++++++++++------------------
fs/btrfs/ioctl.c | 2 +-
fs/btrfs/relocation.c | 41 +++++++++++++++++++----------------------
fs/btrfs/transaction.c | 12 ++++++------
fs/btrfs/tree-defrag.c | 2 +-
13 files changed, 106 insertions(+), 76 deletions(-)
--
2.26.2