Skip to content
API Documentation
BastionGuard™
xfs_btree.cpp File Reference

Go to the source code of this file.

Classes

struct  xfs::anonymous_namespace{xfs_btree.cpp}::LocalBmbtRec

Namespaces

namespace  xfs
namespace  xfs::anonymous_namespace{xfs_btree.cpp}

Functions

uint32_t xfs::anonymous_namespace{xfs_btree.cpp}::ibt_maxrecs (uint32_t blocksize, uint32_t header_size, uint32_t level)
uint64_t xfs::anonymous_namespace{xfs_btree.cpp}::ag_block_to_disk_offset (const VolumeContext &vol, uint32_t agno, uint32_t agbno)
bool xfs::parse_btree_header (const unsigned char *buf, uint32_t expected_magic_v4, uint32_t expected_magic_v5, BtreeNodeHeader &out)
void xfs::parse_inobt_record (const unsigned char *buf, bool is_v5_sparse, InobtRec &out)
bool xfs::anonymous_namespace{xfs_btree.cpp}::walk_ibt_block (DiskReader &reader, const VolumeContext &vol, uint32_t agno, uint32_t agbno, uint32_t expected_level, uint32_t magic_v4, uint32_t magic_v5, const char *tree_label, const InobtRecordCallback &on_record, std::set< uint32_t > &visited, size_t &nodes_visited, std::vector< std::string > &logs, std::string &error, bool &callback_stopped)
bool xfs::walk_inode_btree (DiskReader &reader, const VolumeContext &vol, uint32_t agno, const InobtRecordCallback &on_record, std::vector< std::string > &logs, std::string &error)
bool xfs::walk_all_inode_records (DiskReader &reader, const VolumeContext &vol, const InobtRecordCallback &on_record, std::vector< std::string > &logs)
bool xfs::walk_free_inode_btree (DiskReader &reader, const VolumeContext &vol, uint32_t agno, const InobtRecordCallback &on_record, std::vector< std::string > &logs, std::string &error)
bool xfs::walk_all_free_inode_records (DiskReader &reader, const VolumeContext &vol, const InobtRecordCallback &on_record, std::vector< std::string > &logs)
void xfs::expand_chunk (const InobtRec &rec, uint32_t agno, const VolumeContext &vol, std::vector< AllocatedInode > &out)
void xfs::expand_chunk_free (const InobtRec &rec, uint32_t agno, const VolumeContext &vol, std::vector< AllocatedInode > &out)
bool xfs::parse_btree_long_header (const unsigned char *buf, uint32_t expected_magic_v4, uint32_t expected_magic_v5, BtreeLongHeader &out)
void xfs::anonymous_namespace{xfs_btree.cpp}::decode_bmbt_record_local (const unsigned char *buf16, LocalBmbtRec &r)
uint64_t xfs::anonymous_namespace{xfs_btree.cpp}::fsb_to_byte_offset_local (uint64_t fsb, const VolumeContext &vol)
void xfs::anonymous_namespace{xfs_btree.cpp}::push_extent (std::vector< Extent > &out, const LocalBmbtRec &r)
bool xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block (DiskReader &reader, const VolumeContext &vol, uint64_t child_fsb, uint32_t expected_level, bool is_v5, std::vector< Extent > &out, std::vector< std::string > &logs, uint32_t max_extents, std::set< uint64_t > &visited, size_t &nodes_visited)
bool xfs::walk_extent_btree_root (DiskReader &reader, const VolumeContext &vol, const unsigned char *root_buf, uint32_t root_len, bool is_v5_volume, uint32_t max_extents, std::vector< Extent > &out, std::vector< std::string > &logs, std::string &error)

Variables

constexpr uint32_t xfs::anonymous_namespace{xfs_btree.cpp}::IBT_REC_SIZE = 16
constexpr uint32_t xfs::anonymous_namespace{xfs_btree.cpp}::IBT_KEY_SIZE = 4
constexpr uint32_t xfs::anonymous_namespace{xfs_btree.cpp}::IBT_PTR_SIZE = 4
constexpr size_t xfs::anonymous_namespace{xfs_btree.cpp}::MAX_NODES_PER_AG = 1'000'000