]> git.hungrycats.org Git - bees/commitdiff
btrfs-tree: drop BtrfsFsTreeFetcher and clean up class comments
authorZygo Blaxell <bees@furryterror.org>
Sun, 26 Jan 2025 19:54:08 +0000 (14:54 -0500)
committerZygo Blaxell <bees@furryterror.org>
Fri, 7 Feb 2025 03:42:15 +0000 (22:42 -0500)
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 <bees@furryterror.org>
include/crucible/btrfs-tree.h
lib/btrfs-tree.cc

index b4d14a1da4cfabcd9ae3e7ecb2b9423350270829..dddb55d757b17aba56cf9d82b6f697fb94ba9b48 100644 (file)
@@ -173,30 +173,27 @@ namespace crucible {
                void get_sums(uint64_t logical, size_t count, function<void(uint64_t logical, const uint8_t *buf, size_t count)> 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);
index ed91f0a9cc124c70ce26d24b8bc715bd232540de..a20919ee9ac507b42ff10aa839daa42b0b907119 100644 (file)
@@ -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)
        {