1364{
1368
1369 TRACE(
"Enter BtrFsMount(%lu)\n", DeviceId);
1370
1372 if (!BtrFsInfo)
1375
1376
1379 {
1382 }
1383
1384
1386 {
1389 }
1390
1392 TRACE(
"BtrFsMount(%lu) superblock magic ok\n", DeviceId);
1393
1395
1398
1399
1400 fs_root_item.bytenr = BtrFsInfo->
SuperBlock.root;
1401 fs_root_item.level = BtrFsInfo->
SuperBlock.root_level;
1402
1405 {
1409 }
1410
1412
1414
1415
1417
1418 TRACE(
"BtrFsMount(%lu) success\n", DeviceId);
1420}
#define BTRFS_FS_TREE_OBJECTID
#define BTRFS_ROOT_ITEM_KEY
#define BTRFS_SUPER_INFO_OFFSET
static void btrfs_init_crc32c(void)
VOID FrLdrTempFree(PVOID Allocation, ULONG Tag)
PVOID FrLdrTempAlloc(_In_ SIZE_T Size, _In_ 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)
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)