1298{
1302
1303 TRACE(
"Enter BtrFsMount(%lu)\n", DeviceId);
1304
1306 if (!BtrFsInfo)
1309
1310
1313 {
1316 }
1317
1318
1320 {
1323 }
1324
1326 TRACE(
"BtrFsMount(%lu) superblock magic ok\n", DeviceId);
1327
1329
1332
1333
1334 fs_root_item.bytenr = BtrFsInfo->
SuperBlock.root;
1335 fs_root_item.level = BtrFsInfo->
SuperBlock.root_level;
1336
1339 {
1343 }
1344
1346
1348
1349
1351
1352 TRACE(
"BtrFsMount(%lu) success\n", DeviceId);
1354}
#define BTRFS_FS_TREE_OBJECTID
#define BTRFS_ROOT_ITEM_KEY
#define BTRFS_SUPER_INFO_OFFSET
static void btrfs_init_crc32c(void)
FORCEINLINE PVOID FrLdrTempAlloc(_In_ SIZE_T Size, _In_ ULONG Tag)
FORCEINLINE VOID FrLdrTempFree(PVOID Allocation, ULONG Tag)
static void free_path(struct btrfs_path *path)
static void init_path(const struct btrfs_super_block *sb, struct btrfs_path *path)
static void btrfs_read_chunk_tree(PBTRFS_INFO BtrFsInfo)
PBTRFS_INFO BtrFsVolumes[MAX_FDS]
static void btrfs_read_sys_chunk_array(PBTRFS_INFO BtrFsInfo)
static BOOLEAN disk_read(ULONG DeviceId, u64 physical, void *dest, u32 count)
static UCHAR * path_current_data(struct btrfs_path *path)
static BOOLEAN BtrFsSearchTreeType(PBTRFS_INFO BtrFsInfo, const struct btrfs_root_item *root, u64 objectid, u8 type, struct btrfs_path *path)
const DEVVTBL BtrFsFuncTable
struct btrfs_super_block SuperBlock
struct btrfs_root_item FsRoot
#define RtlZeroMemory(Destination, Length)