From 75040789c62e23f74162ad86c6bf074b8f7febce Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Sun, 26 Jan 2025 14:54:08 -0500 Subject: [PATCH] btrfs-tree: drop BtrfsFsTreeFetcher and clean up class comments BtrfsFsTreeFetcher was used for early versions of the extent scanner, but neither subvol nor extent scan now needs an object that is both persistent and configured to access only one subvol. BtrfsExtentDataFetcher does the same thing in that case. Clarify the comments on what the remaining classes do, so that BtrfsFsTreeFetcher doesn't get inadvertently reinvented in the future. Signed-off-by: Zygo Blaxell --- include/crucible/btrfs-tree.h | 13 +++++-------- lib/btrfs-tree.cc | 8 -------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/include/crucible/btrfs-tree.h b/include/crucible/btrfs-tree.h index b4d14a1..dddb55d 100644 --- a/include/crucible/btrfs-tree.h +++ b/include/crucible/btrfs-tree.h @@ -173,30 +173,27 @@ namespace crucible { void get_sums(uint64_t logical, size_t count, function output); }; - /// Fetch extent items from extent tree + /// Fetch extent items from extent tree. + /// Does not filter out metadata! See BtrfsDataExtentTreeFetcher for that. class BtrfsExtentItemFetcher : public BtrfsTreeObjectFetcher { public: BtrfsExtentItemFetcher(const Fd &fd); }; - /// Fetch extent refs from an inode + /// Fetch extent refs from an inode. Caller must set the tree and objectid. class BtrfsExtentDataFetcher : public BtrfsTreeOffsetFetcher { public: BtrfsExtentDataFetcher(const Fd &fd); }; - /// Fetch inodes from a subvol - class BtrfsFsTreeFetcher : public BtrfsTreeObjectFetcher { - public: - BtrfsFsTreeFetcher(const Fd &fd, uint64_t subvol); - }; - + /// Fetch raw inode items class BtrfsInodeFetcher : public BtrfsTreeObjectFetcher { public: BtrfsInodeFetcher(const Fd &fd); BtrfsTreeItem stat(uint64_t subvol, uint64_t inode); }; + /// Fetch a root (subvol) item class BtrfsRootFetcher : public BtrfsTreeObjectFetcher { public: BtrfsRootFetcher(const Fd &fd); diff --git a/lib/btrfs-tree.cc b/lib/btrfs-tree.cc index ed91f0a..a20919e 100644 --- a/lib/btrfs-tree.cc +++ b/lib/btrfs-tree.cc @@ -662,14 +662,6 @@ namespace crucible { type(BTRFS_EXTENT_DATA_KEY); } - BtrfsFsTreeFetcher::BtrfsFsTreeFetcher(const Fd &new_fd, uint64_t subvol) : - BtrfsTreeObjectFetcher(new_fd) - { - tree(subvol); - type(BTRFS_EXTENT_DATA_KEY); - scale_size(1); - } - BtrfsInodeFetcher::BtrfsInodeFetcher(const Fd &fd) : BtrfsTreeObjectFetcher(fd) {