Namespaces | |
| namespace | anonymous_namespace{xfs_btree.cpp} |
| namespace | anonymous_namespace{xfs_dir.cpp} |
Classes | |
| struct | AGContext |
| struct | AGF |
| struct | AGI |
| struct | AllocatedInode |
| struct | BtreeLongHeader |
| struct | BtreeNodeHeader |
| struct | DinodeCore |
| struct | DirEntry |
| struct | Extent |
| struct | InobtRec |
| struct | InodeAddress |
| struct | ShortformDir |
| struct | Superblock |
| struct | VolumeContext |
Typedefs | |
| using | InobtRecordCallback |
Functions | |
| bool | parse_btree_header (const unsigned char *buf, uint32_t expected_magic_v4, uint32_t expected_magic_v5, BtreeNodeHeader &out) |
| void | parse_inobt_record (const unsigned char *buf, bool is_v5_sparse, InobtRec &out) |
| bool | walk_inode_btree (DiskReader &reader, const VolumeContext &vol, uint32_t agno, const InobtRecordCallback &on_record, std::vector< std::string > &logs, std::string &error) |
| bool | walk_all_inode_records (DiskReader &reader, const VolumeContext &vol, const InobtRecordCallback &on_record, std::vector< std::string > &logs) |
| bool | 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 | walk_all_free_inode_records (DiskReader &reader, const VolumeContext &vol, const InobtRecordCallback &on_record, std::vector< std::string > &logs) |
| void | expand_chunk (const InobtRec &rec, uint32_t agno, const VolumeContext &vol, std::vector< AllocatedInode > &out) |
| void | expand_chunk_free (const InobtRec &rec, uint32_t agno, const VolumeContext &vol, std::vector< AllocatedInode > &out) |
| bool | parse_btree_long_header (const unsigned char *buf, uint32_t expected_magic_v4, uint32_t expected_magic_v5, BtreeLongHeader &out) |
| bool | 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) |
| uint32_t | btree_header_size (bool is_v5) |
| uint32_t | btree_long_header_size (bool is_v5) |
| bool | parse_shortform_dir (const unsigned char *data, uint32_t data_len, bool has_ftype, ShortformDir &out) |
| bool | parse_dir_data_block (const unsigned char *block_buf, uint32_t block_size, bool is_v5, bool has_ftype, bool accept_block_magic, bool accept_data_magic, std::vector< DirEntry > &out) |
| bool | parse_superblock (const unsigned char *buf, Superblock &out) |
| bool | parse_agf (const unsigned char *buf, AGF &out) |
| bool | parse_agi (const unsigned char *buf, AGI &out) |
| bool | parse_agi (const unsigned char *buf, bool is_v5, AGI &out) |
| InodeAddress | crack_inode (uint64_t ino, const Superblock &sb) |
| uint16_t | be16 (const unsigned char *p) |
| uint32_t | be32 (const unsigned char *p) |
| uint64_t | be64 (const unsigned char *p) |
| bool | parse_dinode_core (const unsigned char *buf, DinodeCore &out) |
| uint32_t | dinode_data_fork_length (const DinodeCore &core, uint32_t inode_size) |
| void | decode_extent_record (const unsigned char *buf16, Extent &out) |
| uint64_t | fsb_to_disk_offset (uint64_t fsb, const VolumeContext &vol) |
| bool | decode_extents_inline (const unsigned char *data_fork_buf, uint32_t nextents, uint32_t max_bytes, std::vector< Extent > &out) |
| uint32_t | dinode_data_fork_offset (const DinodeCore &core) |
Variables | |
| constexpr uint32_t | NULLAGBLOCK = 0xFFFFFFFFu |
| constexpr uint64_t | NULLFSBLOCK = 0xFFFFFFFFFFFFFFFFull |
| constexpr uint32_t | XFS_BMBT_MAGIC_V4 = 0x424D4150u |
| constexpr uint32_t | XFS_BMBT_MAGIC_V5 = 0x424D4133u |
| constexpr uint32_t | BMBT_KEY_SIZE_LONG = 8 |
| constexpr uint32_t | BMBT_PTR_SIZE_LONG = 8 |
| constexpr uint32_t | BMBT_REC_SIZE = 16 |
| constexpr uint8_t | XFS_DIR3_FT_UNKNOWN = 0 |
| constexpr uint8_t | XFS_DIR3_FT_REG_FILE = 1 |
| constexpr uint8_t | XFS_DIR3_FT_DIR = 2 |
| constexpr uint8_t | XFS_DIR3_FT_CHRDEV = 3 |
| constexpr uint8_t | XFS_DIR3_FT_BLKDEV = 4 |
| constexpr uint8_t | XFS_DIR3_FT_FIFO = 5 |
| constexpr uint8_t | XFS_DIR3_FT_SOCK = 6 |
| constexpr uint8_t | XFS_DIR3_FT_SYMLINK = 7 |
| constexpr uint32_t | XFS_DIR2_BLOCK_MAGIC = 0x58443242u |
| constexpr uint32_t | XFS_DIR3_BLOCK_MAGIC = 0x58444233u |
| constexpr uint32_t | XFS_DIR2_DATA_MAGIC = 0x58443244u |
| constexpr uint32_t | XFS_DIR3_DATA_MAGIC = 0x58444433u |
| constexpr uint16_t | XFS_DIR2_DATA_FREE_TAG = 0xFFFFu |
| constexpr uint32_t | XFS_SB_MAGIC = 0x58465342u |
| constexpr uint32_t | XFS_AGF_MAGIC_V4 = 0x58414746u |
| constexpr uint32_t | XFS_AGF_MAGIC_V5 = 0x58414746u |
| constexpr uint32_t | XFS_AGI_MAGIC_V4 = 0x58414749u |
| constexpr uint32_t | XFS_AGI_MAGIC_V5 = 0x58414749u |
| constexpr uint32_t | XFS_AGFL_MAGIC_V5 = 0x5841464Cu |
| constexpr uint32_t | XFS_DINODE_MAGIC = 0x494Eu |
| constexpr uint32_t | XFS_ABTB_MAGIC_V4 = 0x41425442u |
| constexpr uint32_t | XFS_ABTB_MAGIC_V5 = 0x41423342u |
| constexpr uint32_t | XFS_ABTC_MAGIC_V4 = 0x41425443u |
| constexpr uint32_t | XFS_ABTC_MAGIC_V5 = 0x41423343u |
| constexpr uint32_t | XFS_IBT_MAGIC_V4 = 0x49414254u |
| constexpr uint32_t | XFS_IBT_MAGIC_V5 = 0x49414233u |
| constexpr uint32_t | XFS_FIBT_MAGIC_V4 = 0x46494254u |
| constexpr uint32_t | XFS_FIBT_MAGIC_V5 = 0x46494233u |
| constexpr uint32_t | XFS_BMAP_MAGIC_V4 = 0x424D4150u |
| constexpr uint32_t | XFS_BMAP_MAGIC_V5 = 0x424D4133u |
| constexpr uint16_t | XFS_SB_VERSION_NUMBITS = 0x000F |
| constexpr uint16_t | XFS_SB_VERSION_4 = 4 |
| constexpr uint16_t | XFS_SB_VERSION_5 = 5 |
| constexpr uint16_t | XFS_SB_VERSION_ATTRBIT = 0x0010 |
| constexpr uint16_t | XFS_SB_VERSION_NLINKBIT = 0x0020 |
| constexpr uint16_t | XFS_SB_VERSION_QUOTABIT = 0x0040 |
| constexpr uint16_t | XFS_SB_VERSION_ALIGNBIT = 0x0080 |
| constexpr uint16_t | XFS_SB_VERSION_DALIGNBIT = 0x0100 |
| constexpr uint16_t | XFS_SB_VERSION_SHAREDBIT = 0x0200 |
| constexpr uint16_t | XFS_SB_VERSION_LOGV2BIT = 0x0400 |
| constexpr uint16_t | XFS_SB_VERSION_SECTORBIT = 0x0800 |
| constexpr uint16_t | XFS_SB_VERSION_EXTFLGBIT = 0x1000 |
| constexpr uint16_t | XFS_SB_VERSION_DIRV2BIT = 0x2000 |
| constexpr uint16_t | XFS_SB_VERSION_BORGBIT = 0x4000 |
| constexpr uint16_t | XFS_SB_VERSION_MOREBITSBIT = 0x8000 |
| constexpr uint32_t | XFS_SB_FEAT_RO_COMPAT_FINOBT = 0x00000001 |
| constexpr uint32_t | XFS_SB_FEAT_RO_COMPAT_RMAPBT = 0x00000002 |
| constexpr uint32_t | XFS_SB_FEAT_RO_COMPAT_REFLINK = 0x00000004 |
| constexpr uint32_t | XFS_SB_FEAT_RO_COMPAT_INOBTCNT = 0x00000008 |
| constexpr uint32_t | XFS_SB_FEAT_INCOMPAT_FTYPE = 0x00000001 |
| constexpr uint32_t | XFS_SB_FEAT_INCOMPAT_SPINODES = 0x00000002 |
| constexpr uint32_t | XFS_SB_FEAT_INCOMPAT_META_UUID = 0x00000004 |
| constexpr uint32_t | XFS_SB_FEAT_INCOMPAT_BIGTIME = 0x00000008 |
| constexpr uint32_t | XFS_SB_FEAT_INCOMPAT_NEEDSREPAIR = 0x00000010 |
| constexpr uint32_t | XFS_SB_FEAT_INCOMPAT_NREXT64 = 0x00000020 |
| constexpr uint8_t | XFS_DINODE_FMT_DEV = 0 |
| constexpr uint8_t | XFS_DINODE_FMT_LOCAL = 1 |
| constexpr uint8_t | XFS_DINODE_FMT_EXTENTS = 2 |
| constexpr uint8_t | XFS_DINODE_FMT_BTREE = 3 |
| constexpr uint8_t | XFS_DINODE_FMT_UUID = 4 |
| constexpr uint16_t | MODE_TYPE_MASK = 0xF000 |
| constexpr uint16_t | MODE_IFREG = 0x8000 |
| constexpr uint16_t | MODE_IFDIR = 0x4000 |
| constexpr uint16_t | MODE_IFLNK = 0xA000 |
| constexpr uint16_t | MODE_IFCHR = 0x2000 |
| constexpr uint16_t | MODE_IFBLK = 0x6000 |
| constexpr uint16_t | MODE_IFIFO = 0x1000 |
| constexpr uint16_t | MODE_IFSOCK = 0xC000 |
| constexpr uint16_t | XFS_DINODE_MAGIC_BE = 0x494E |
| using xfs::InobtRecordCallback |
Definition at line 165 of file xfs_btree.hpp.
|
inline |
Definition at line 38 of file xfs_format.hpp.
References be16().
Referenced by be16(), parse_btree_header(), parse_btree_long_header(), parse_dinode_core(), parse_dir_data_block(), parse_inobt_record(), parse_superblock(), and walk_extent_btree_root().
|
inline |
Definition at line 41 of file xfs_format.hpp.
References be32().
Referenced by be32(), anonymous_namespace{xfs_recovery.cpp}::collect_dir_entries_block_or_leaf(), parse_agf(), parse_agi(), parse_btree_header(), parse_btree_long_header(), parse_dinode_core(), parse_dir_data_block(), parse_inobt_record(), parse_superblock(), xfs::anonymous_namespace{xfs_dir.cpp}::read_u32_be(), and xfs::anonymous_namespace{xfs_btree.cpp}::walk_ibt_block().
|
inline |
Definition at line 47 of file xfs_format.hpp.
References be64().
Referenced by be64(), xfs::anonymous_namespace{xfs_btree.cpp}::decode_bmbt_record_local(), decode_extent_record(), parse_btree_header(), parse_btree_long_header(), parse_dinode_core(), parse_dir_data_block(), parse_inobt_record(), parse_superblock(), xfs::anonymous_namespace{xfs_dir.cpp}::read_u64_be(), xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block(), and walk_extent_btree_root().
|
inline |
Definition at line 105 of file xfs_btree.hpp.
References btree_header_size().
Referenced by btree_header_size(), and xfs::anonymous_namespace{xfs_btree.cpp}::walk_ibt_block().
|
inline |
Definition at line 333 of file xfs_btree.hpp.
References btree_long_header_size().
Referenced by btree_long_header_size(), and xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block().
| InodeAddress xfs::crack_inode | ( | uint64_t | ino, |
| const Superblock & | sb ) |
Definition at line 208 of file xfs_format.cpp.
References xfs::Superblock::agblklog, xfs::InodeAddress::agbno, xfs::InodeAddress::agno, crack_inode(), xfs::Superblock::inopblock, xfs::Superblock::inopblog, and xfs::InodeAddress::offset.
Referenced by crack_inode(), and anonymous_namespace{xfs_recovery.cpp}::read_dinode().
| void xfs::decode_extent_record | ( | const unsigned char * | buf16, |
| Extent & | out ) |
Definition at line 74 of file xfs_inode.cpp.
References be64(), decode_extent_record(), xfs::Extent::length_blocks, xfs::Extent::logical_off_blocks, xfs::Extent::physical_block, and xfs::Extent::unwritten.
Referenced by decode_extent_record(), and decode_extents_inline().
| bool xfs::decode_extents_inline | ( | const unsigned char * | data_fork_buf, |
| uint32_t | nextents, | ||
| uint32_t | max_bytes, | ||
| std::vector< Extent > & | out ) |
Definition at line 105 of file xfs_inode.cpp.
References decode_extent_record(), decode_extents_inline(), and xfs::Extent::length_blocks.
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_extents(), and decode_extents_inline().
| uint32_t xfs::dinode_data_fork_length | ( | const DinodeCore & | core, |
| uint32_t | inode_size ) |
Definition at line 58 of file xfs_inode.cpp.
References dinode_data_fork_length(), dinode_data_fork_offset(), and xfs::DinodeCore::forkoff.
Referenced by dinode_data_fork_length(), and XfsRecovery::recover().
|
inline |
Definition at line 154 of file xfs_inode.hpp.
References dinode_data_fork_offset(), and xfs::DinodeCore::is_v3().
Referenced by dinode_data_fork_length(), dinode_data_fork_offset(), and XfsRecovery::recover().
| void xfs::expand_chunk | ( | const InobtRec & | rec, |
| uint32_t | agno, | ||
| const VolumeContext & | vol, | ||
| std::vector< AllocatedInode > & | out ) |
Definition at line 391 of file xfs_btree.cpp.
References xfs::Superblock::agblklog, xfs::AllocatedInode::agbno, xfs::AllocatedInode::agno, xfs::InobtRec::count, xfs::AllocatedInode::disk_offset, expand_chunk(), xfs::InobtRec::freemask, xfs::InobtRec::holemask, xfs::AllocatedInode::in_chunk_index, xfs::AllocatedInode::ino, xfs::Superblock::inodesize, xfs::Superblock::inopblock, xfs::Superblock::inopblog, xfs::VolumeContext::sb, xfs::InobtRec::sparse, and xfs::InobtRec::startino.
Referenced by expand_chunk().
| void xfs::expand_chunk_free | ( | const InobtRec & | rec, |
| uint32_t | agno, | ||
| const VolumeContext & | vol, | ||
| std::vector< AllocatedInode > & | out ) |
Definition at line 435 of file xfs_btree.cpp.
References xfs::Superblock::agblklog, xfs::AllocatedInode::agbno, xfs::AllocatedInode::agno, xfs::InobtRec::count, xfs::AllocatedInode::disk_offset, expand_chunk_free(), xfs::InobtRec::freemask, xfs::InobtRec::holemask, xfs::AllocatedInode::in_chunk_index, xfs::AllocatedInode::ino, xfs::Superblock::inodesize, xfs::Superblock::inopblock, xfs::Superblock::inopblog, xfs::VolumeContext::sb, xfs::InobtRec::sparse, and xfs::InobtRec::startino.
Referenced by expand_chunk_free(), and XfsRecovery::recover().
| uint64_t xfs::fsb_to_disk_offset | ( | uint64_t | fsb, |
| const VolumeContext & | vol ) |
Definition at line 95 of file xfs_inode.cpp.
References xfs::Superblock::agblklog, xfs::Superblock::agblocks, xfs::Superblock::blocksize, fsb_to_disk_offset(), xfs::VolumeContext::sb, and xfs::VolumeContext::volume_offset.
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_dir_entries_block_or_leaf(), fsb_to_disk_offset(), anonymous_namespace{xfs_recovery.cpp}::read_extents_data(), and anonymous_namespace{xfs_recovery.cpp}::write_extents_to_path().
| bool xfs::parse_agf | ( | const unsigned char * | buf, |
| AGF & | out ) |
Definition at line 130 of file xfs_format.cpp.
References be32(), xfs::AGF::btreeblks, xfs::AGF::flcount, xfs::AGF::flfirst, xfs::AGF::fllast, xfs::AGF::freeblks, xfs::AGF::length, xfs::AGF::levels, xfs::AGF::longest, xfs::AGF::magicnum, parse_agf(), xfs::AGF::roots, xfs::AGF::seqno, xfs::AGF::versionnum, and XFS_AGF_MAGIC_V4.
Referenced by anonymous_namespace{xfs_recovery.cpp}::load_ag_headers(), and parse_agf().
| bool xfs::parse_agi | ( | const unsigned char * | buf, |
| AGI & | out ) |
Definition at line 158 of file xfs_format.cpp.
References parse_agi().
Referenced by anonymous_namespace{xfs_recovery.cpp}::load_ag_headers(), parse_agi(), and parse_agi().
| bool xfs::parse_agi | ( | const unsigned char * | buf, |
| bool | is_v5, | ||
| AGI & | out ) |
Definition at line 162 of file xfs_format.cpp.
References be32(), xfs::AGI::count, xfs::AGI::dirino, xfs::AGI::free_level, xfs::AGI::free_root, xfs::AGI::freecount, xfs::AGI::length, xfs::AGI::level, xfs::AGI::magicnum, xfs::AGI::newino, parse_agi(), xfs::AGI::root, xfs::AGI::seqno, xfs::AGI::unlinked, xfs::AGI::versionnum, and XFS_AGI_MAGIC_V4.
| bool xfs::parse_btree_header | ( | const unsigned char * | buf, |
| uint32_t | expected_magic_v4, | ||
| uint32_t | expected_magic_v5, | ||
| BtreeNodeHeader & | out ) |
Definition at line 72 of file xfs_btree.cpp.
References be16(), be32(), be64(), xfs::BtreeNodeHeader::blkno, xfs::BtreeNodeHeader::crc, xfs::BtreeNodeHeader::is_v5_header, xfs::BtreeNodeHeader::leftsib, xfs::BtreeNodeHeader::level, xfs::BtreeNodeHeader::lsn, xfs::BtreeNodeHeader::magic, xfs::BtreeNodeHeader::numrecs, xfs::BtreeNodeHeader::owner, parse_btree_header(), and xfs::BtreeNodeHeader::rightsib.
Referenced by parse_btree_header(), and xfs::anonymous_namespace{xfs_btree.cpp}::walk_ibt_block().
| bool xfs::parse_btree_long_header | ( | const unsigned char * | buf, |
| uint32_t | expected_magic_v4, | ||
| uint32_t | expected_magic_v5, | ||
| BtreeLongHeader & | out ) |
Definition at line 474 of file xfs_btree.cpp.
References be16(), be32(), be64(), xfs::BtreeLongHeader::blkno, xfs::BtreeLongHeader::crc, xfs::BtreeLongHeader::is_v5_header, xfs::BtreeLongHeader::leftsib, xfs::BtreeLongHeader::level, xfs::BtreeLongHeader::lsn, xfs::BtreeLongHeader::magic, xfs::BtreeLongHeader::numrecs, xfs::BtreeLongHeader::owner, parse_btree_long_header(), and xfs::BtreeLongHeader::rightsib.
Referenced by parse_btree_long_header(), and xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block().
| bool xfs::parse_dinode_core | ( | const unsigned char * | buf, |
| DinodeCore & | out ) |
Definition at line 15 of file xfs_inode.cpp.
References xfs::DinodeCore::aformat, xfs::DinodeCore::anextents, be16(), be32(), be64(), xfs::DinodeCore::flags, xfs::DinodeCore::flags2, xfs::DinodeCore::forkoff, xfs::DinodeCore::format, xfs::DinodeCore::gen, xfs::DinodeCore::gid, xfs::DinodeCore::ino, xfs::DinodeCore::is_v3(), xfs::DinodeCore::magic, xfs::DinodeCore::mode, xfs::DinodeCore::nblocks, xfs::DinodeCore::nextents, xfs::DinodeCore::nlink, parse_dinode_core(), xfs::DinodeCore::size, xfs::DinodeCore::uid, xfs::DinodeCore::version, and XFS_DINODE_MAGIC_BE.
Referenced by parse_dinode_core(), and XfsRecovery::recover().
| bool xfs::parse_dir_data_block | ( | const unsigned char * | block_buf, |
| uint32_t | block_size, | ||
| bool | is_v5, | ||
| bool | has_ftype, | ||
| bool | accept_block_magic, | ||
| bool | accept_data_magic, | ||
| std::vector< DirEntry > & | out ) |
Definition at line 122 of file xfs_dir.cpp.
References be16(), be32(), be64(), xfs::DirEntry::ftype, xfs::DirEntry::ftype_valid, xfs::DirEntry::ino, xfs::DirEntry::name, parse_dir_data_block(), XFS_DIR2_BLOCK_MAGIC, XFS_DIR2_DATA_FREE_TAG, XFS_DIR2_DATA_MAGIC, XFS_DIR3_BLOCK_MAGIC, and XFS_DIR3_DATA_MAGIC.
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_dir_entries_block_or_leaf(), and parse_dir_data_block().
| void xfs::parse_inobt_record | ( | const unsigned char * | buf, |
| bool | is_v5_sparse, | ||
| InobtRec & | out ) |
Definition at line 107 of file xfs_btree.cpp.
References be16(), be32(), be64(), xfs::InobtRec::count, xfs::InobtRec::freecount, xfs::InobtRec::freemask, xfs::InobtRec::holemask, parse_inobt_record(), xfs::InobtRec::sparse, and xfs::InobtRec::startino.
Referenced by parse_inobt_record(), and xfs::anonymous_namespace{xfs_btree.cpp}::walk_ibt_block().
| bool xfs::parse_shortform_dir | ( | const unsigned char * | data, |
| uint32_t | data_len, | ||
| bool | has_ftype, | ||
| ShortformDir & | out ) |
Definition at line 30 of file xfs_dir.cpp.
References xfs::ShortformDir::entries, xfs::DirEntry::ftype, xfs::DirEntry::ftype_valid, xfs::DirEntry::ino, xfs::DirEntry::name, xfs::ShortformDir::parent_ino, and parse_shortform_dir().
Referenced by parse_shortform_dir(), and XfsRecovery::recover().
| bool xfs::parse_superblock | ( | const unsigned char * | buf, |
| Superblock & | out ) |
Definition at line 19 of file xfs_format.cpp.
References xfs::Superblock::agblklog, xfs::Superblock::agblocks, xfs::Superblock::agcount, xfs::Superblock::bad_features2, be16(), be32(), be64(), xfs::Superblock::blocklog, xfs::Superblock::blocksize, xfs::Superblock::crc, xfs::Superblock::dblocks, xfs::Superblock::dirblklog, xfs::Superblock::fdblocks, xfs::Superblock::features2, xfs::Superblock::features_compat, xfs::Superblock::features_incompat, xfs::Superblock::features_log_incompat, xfs::Superblock::features_ro_compat, xfs::Superblock::flags, xfs::Superblock::fname, xfs::Superblock::format_version(), xfs::Superblock::frextents, xfs::Superblock::gquotino, xfs::Superblock::icount, xfs::Superblock::ifree, xfs::Superblock::imax_pct, xfs::Superblock::inoalignmt, xfs::Superblock::inodelog, xfs::Superblock::inodesize, xfs::Superblock::inopblock, xfs::Superblock::inopblog, xfs::Superblock::inprogress, xfs::Superblock::logblocks, xfs::Superblock::logsectlog, xfs::Superblock::logsectsize, xfs::Superblock::logstart, xfs::Superblock::logsunit, xfs::Superblock::lsn, xfs::Superblock::magicnum, xfs::Superblock::meta_uuid, parse_superblock(), xfs::Superblock::pquotino, xfs::Superblock::qflags, xfs::Superblock::rblocks, xfs::Superblock::rbmblocks, xfs::Superblock::rbmino, xfs::Superblock::rextents, xfs::Superblock::rextsize, xfs::Superblock::rextslog, xfs::Superblock::rootino, xfs::Superblock::rsumino, xfs::Superblock::sectlog, xfs::Superblock::sectsize, xfs::Superblock::shared_vn, xfs::Superblock::spino_align, xfs::Superblock::unit, xfs::Superblock::uquotino, xfs::Superblock::uuid, xfs::Superblock::versionnum, xfs::Superblock::width, XFS_SB_MAGIC, XFS_SB_VERSION_4, and XFS_SB_VERSION_5.
Referenced by parse_superblock(), XfsRecovery::recover(), anonymous_namespace{filesystem_probes.cpp}::xfs_probe(), and anonymous_namespace{lost_partition_finder.cpp}::xfs_size_bytes().
| bool xfs::walk_all_free_inode_records | ( | DiskReader & | reader, |
| const VolumeContext & | vol, | ||
| const InobtRecordCallback & | on_record, | ||
| std::vector< std::string > & | logs ) |
Definition at line 371 of file xfs_btree.cpp.
References xfs::VolumeContext::ag, xfs::Superblock::agcount, xfs::Superblock::features_ro_compat, xfs::Superblock::is_v5(), xfs::VolumeContext::sb, walk_all_free_inode_records(), walk_free_inode_btree(), and XFS_SB_FEAT_RO_COMPAT_FINOBT.
Referenced by XfsRecovery::recover(), and walk_all_free_inode_records().
| bool xfs::walk_all_inode_records | ( | DiskReader & | reader, |
| const VolumeContext & | vol, | ||
| const InobtRecordCallback & | on_record, | ||
| std::vector< std::string > & | logs ) |
Definition at line 303 of file xfs_btree.cpp.
References xfs::VolumeContext::ag, xfs::Superblock::agcount, xfs::VolumeContext::sb, walk_all_inode_records(), and walk_inode_btree().
Referenced by walk_all_inode_records().
| 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 ) |
Definition at line 663 of file xfs_btree.cpp.
References be16(), be64(), and walk_extent_btree_root().
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_extents(), and walk_extent_btree_root().
| 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 ) |
Definition at line 323 of file xfs_btree.cpp.
References xfs::VolumeContext::ag, xfs::Superblock::features_ro_compat, xfs::Superblock::is_v5(), NULLAGBLOCK, xfs::VolumeContext::sb, walk_free_inode_btree(), XFS_FIBT_MAGIC_V4, XFS_FIBT_MAGIC_V5, and XFS_SB_FEAT_RO_COMPAT_FINOBT.
Referenced by walk_all_free_inode_records(), and walk_free_inode_btree().
| 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 ) |
Definition at line 261 of file xfs_btree.cpp.
References xfs::VolumeContext::ag, NULLAGBLOCK, walk_inode_btree(), XFS_IBT_MAGIC_V4, and XFS_IBT_MAGIC_V5.
Referenced by walk_all_inode_records(), and walk_inode_btree().
|
constexpr |
Definition at line 314 of file xfs_btree.hpp.
Referenced by xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block().
|
constexpr |
Definition at line 315 of file xfs_btree.hpp.
Referenced by xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block().
|
constexpr |
Definition at line 316 of file xfs_btree.hpp.
Referenced by xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block().
|
constexpr |
Definition at line 109 of file xfs_inode.hpp.
Referenced by xfs::DinodeCore::is_special().
|
constexpr |
Definition at line 108 of file xfs_inode.hpp.
Referenced by xfs::DinodeCore::is_special().
|
constexpr |
Definition at line 106 of file xfs_inode.hpp.
Referenced by xfs::DinodeCore::is_dir().
|
constexpr |
Definition at line 110 of file xfs_inode.hpp.
Referenced by xfs::DinodeCore::is_special().
|
constexpr |
Definition at line 107 of file xfs_inode.hpp.
Referenced by xfs::DinodeCore::is_symlink().
|
constexpr |
Definition at line 105 of file xfs_inode.hpp.
Referenced by xfs::DinodeCore::is_reg().
|
constexpr |
Definition at line 111 of file xfs_inode.hpp.
Referenced by xfs::DinodeCore::is_special().
|
constexpr |
Definition at line 104 of file xfs_inode.hpp.
Referenced by xfs::DinodeCore::is_dir(), xfs::DinodeCore::is_reg(), xfs::DinodeCore::is_special(), and xfs::DinodeCore::is_symlink().
|
constexpr |
Definition at line 85 of file xfs_btree.hpp.
Referenced by walk_free_inode_btree(), xfs::anonymous_namespace{xfs_btree.cpp}::walk_ibt_block(), and walk_inode_btree().
|
constexpr |
Definition at line 86 of file xfs_btree.hpp.
Referenced by xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block().
|
constexpr |
Definition at line 71 of file xfs_format.hpp.
|
constexpr |
Definition at line 72 of file xfs_format.hpp.
|
constexpr |
Definition at line 73 of file xfs_format.hpp.
|
constexpr |
Definition at line 74 of file xfs_format.hpp.
|
constexpr |
Definition at line 63 of file xfs_format.hpp.
Referenced by parse_agf().
|
constexpr |
Definition at line 64 of file xfs_format.hpp.
|
constexpr |
Definition at line 67 of file xfs_format.hpp.
|
constexpr |
Definition at line 65 of file xfs_format.hpp.
Referenced by parse_agi().
|
constexpr |
Definition at line 66 of file xfs_format.hpp.
|
constexpr |
Definition at line 79 of file xfs_format.hpp.
|
constexpr |
Definition at line 80 of file xfs_format.hpp.
|
constexpr |
Definition at line 310 of file xfs_btree.hpp.
Referenced by xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block().
|
constexpr |
Definition at line 311 of file xfs_btree.hpp.
Referenced by xfs::anonymous_namespace{xfs_btree.cpp}::walk_bmbt_block().
|
constexpr |
Definition at line 100 of file xfs_inode.hpp.
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_extents(), and XfsRecovery::recover().
|
constexpr |
Definition at line 97 of file xfs_inode.hpp.
|
constexpr |
Definition at line 99 of file xfs_inode.hpp.
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_extents(), and XfsRecovery::recover().
|
constexpr |
Definition at line 98 of file xfs_inode.hpp.
Referenced by XfsRecovery::recover().
|
constexpr |
Definition at line 101 of file xfs_inode.hpp.
|
constexpr |
Definition at line 68 of file xfs_format.hpp.
|
constexpr |
Definition at line 113 of file xfs_inode.hpp.
Referenced by parse_dinode_core().
|
constexpr |
Definition at line 51 of file xfs_dir.hpp.
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_dir_entries_block_or_leaf(), and parse_dir_data_block().
|
constexpr |
Definition at line 60 of file xfs_dir.hpp.
Referenced by parse_dir_data_block().
|
constexpr |
Definition at line 56 of file xfs_dir.hpp.
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_dir_entries_block_or_leaf(), and parse_dir_data_block().
|
constexpr |
Definition at line 52 of file xfs_dir.hpp.
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_dir_entries_block_or_leaf(), and parse_dir_data_block().
|
constexpr |
Definition at line 57 of file xfs_dir.hpp.
Referenced by anonymous_namespace{xfs_recovery.cpp}::collect_dir_entries_block_or_leaf(), and parse_dir_data_block().
|
constexpr |
Definition at line 44 of file xfs_dir.hpp.
|
constexpr |
Definition at line 43 of file xfs_dir.hpp.
|
constexpr |
Definition at line 42 of file xfs_dir.hpp.
|
constexpr |
Definition at line 45 of file xfs_dir.hpp.
|
constexpr |
Definition at line 41 of file xfs_dir.hpp.
|
constexpr |
Definition at line 46 of file xfs_dir.hpp.
|
constexpr |
Definition at line 47 of file xfs_dir.hpp.
|
constexpr |
Definition at line 40 of file xfs_dir.hpp.
|
constexpr |
Definition at line 77 of file xfs_format.hpp.
Referenced by walk_free_inode_btree().
|
constexpr |
Definition at line 78 of file xfs_format.hpp.
Referenced by walk_free_inode_btree().
|
constexpr |
Definition at line 75 of file xfs_format.hpp.
Referenced by walk_inode_btree().
|
constexpr |
Definition at line 76 of file xfs_format.hpp.
Referenced by walk_inode_btree().
|
constexpr |
Definition at line 113 of file xfs_format.hpp.
Referenced by XfsRecovery::recover().
|
constexpr |
Definition at line 110 of file xfs_format.hpp.
Referenced by xfs::Superblock::has_ftype(), and XfsRecovery::recover().
|
constexpr |
Definition at line 112 of file xfs_format.hpp.
|
constexpr |
Definition at line 114 of file xfs_format.hpp.
|
constexpr |
Definition at line 115 of file xfs_format.hpp.
Referenced by XfsRecovery::recover().
|
constexpr |
Definition at line 111 of file xfs_format.hpp.
Referenced by XfsRecovery::recover(), and xfs::anonymous_namespace{xfs_btree.cpp}::walk_ibt_block().
|
constexpr |
Definition at line 105 of file xfs_format.hpp.
Referenced by XfsRecovery::recover(), walk_all_free_inode_records(), walk_free_inode_btree(), and anonymous_namespace{filesystem_probes.cpp}::xfs_probe().
|
constexpr |
Definition at line 108 of file xfs_format.hpp.
|
constexpr |
Definition at line 107 of file xfs_format.hpp.
Referenced by XfsRecovery::recover(), and anonymous_namespace{filesystem_probes.cpp}::xfs_probe().
|
constexpr |
Definition at line 106 of file xfs_format.hpp.
|
constexpr |
Definition at line 62 of file xfs_format.hpp.
Referenced by parse_superblock().
|
constexpr |
Definition at line 87 of file xfs_format.hpp.
Referenced by xfs::Superblock::is_v4(), and parse_superblock().
|
constexpr |
Definition at line 88 of file xfs_format.hpp.
Referenced by xfs::Superblock::is_v5(), and parse_superblock().
|
constexpr |
Definition at line 94 of file xfs_format.hpp.
|
constexpr |
Definition at line 91 of file xfs_format.hpp.
|
constexpr |
Definition at line 101 of file xfs_format.hpp.
|
constexpr |
Definition at line 95 of file xfs_format.hpp.
|
constexpr |
Definition at line 100 of file xfs_format.hpp.
|
constexpr |
Definition at line 99 of file xfs_format.hpp.
|
constexpr |
Definition at line 97 of file xfs_format.hpp.
|
constexpr |
Definition at line 102 of file xfs_format.hpp.
|
constexpr |
Definition at line 92 of file xfs_format.hpp.
|
constexpr |
Definition at line 86 of file xfs_format.hpp.
Referenced by xfs::Superblock::format_version().
|
constexpr |
Definition at line 93 of file xfs_format.hpp.
|
constexpr |
Definition at line 98 of file xfs_format.hpp.
|
constexpr |
Definition at line 96 of file xfs_format.hpp.