There are many btrfs functions that manually search the tree for an item. They all reimplement the same mechanism and differ in the conditions that they use to find the item. Zach Brown proposed creating a new core interface, btrfs_find_item, take the place of these functions, and standardize the search functionality.
This patchset takes the first steps toward the implementation of this core interface. Create a starting point for the interface by moving one of the search functions, __inode_item, to ctree.c and renaming it with the core function name. With the next two patches, eliminate one similar helper function each by replacing their callers with calls to the new core function, and modifying the new core function to ensure it fulfills the purpose of the function being replaced. Kelley Nielsen (3): Bootstrap generic btrfs_find_item interface expand btrfs_find_item() to include find_root_ref functionality expand btrfs_find_item() to include find_orphan_item functionality fs/btrfs/backref.c | 40 ++++------------------------------------ fs/btrfs/ctree.c | 43 +++++++++++++++++++++++++++++++++++++++++++ fs/btrfs/ctree.h | 2 ++ fs/btrfs/disk-io.c | 3 ++- fs/btrfs/inode.c | 6 +++--- fs/btrfs/orphan.c | 20 -------------------- fs/btrfs/root-tree.c | 15 --------------- fs/btrfs/tree-log.c | 3 ++- 8 files changed, 56 insertions(+), 76 deletions(-) -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html