diff --git a/src/add-ons/kernel/file_systems/btrfs/Volume.cpp b/src/add-ons/kernel/file_systems/btrfs/Volume.cpp index 71e148a687..372ce09ce4 100644 --- a/src/add-ons/kernel/file_systems/btrfs/Volume.cpp +++ b/src/add-ons/kernel/file_systems/btrfs/Volume.cpp @@ -389,7 +389,7 @@ Volume::Mount(const char* deviceName, uint32 flags) return B_NO_MEMORY; // ready - status = get_vnode(fFSVolume, BTRFS_OBJECT_ID_CHUNK_TREE, + status = get_vnode(fFSVolume, BTRFS_FIRST_SUBVOLUME, (void**)&fRootNode); if (status != B_OK) { ERROR("could not create root node: get_vnode() failed!\n"); @@ -492,7 +492,7 @@ Volume::FindBlock(off_t logical, off_t& physical) btrfs_key search_key; search_key.SetOffset(logical); search_key.SetType(BTRFS_KEY_TYPE_CHUNK_ITEM); - search_key.SetObjectID(BTRFS_OBJECT_ID_CHUNK_TREE); + search_key.SetObjectID(BTRFS_OBJECT_ID_FIRST_CHUNK_TREE); btrfs_chunk* chunk; size_t chunk_length; status_t status = fChunkTree->FindPrevious(search_key, (void**)&chunk, diff --git a/src/add-ons/kernel/file_systems/btrfs/btrfs.h b/src/add-ons/kernel/file_systems/btrfs/btrfs.h index 279c42c7ff..39ca5b3fd9 100644 --- a/src/add-ons/kernel/file_systems/btrfs/btrfs.h +++ b/src/add-ons/kernel/file_systems/btrfs/btrfs.h @@ -303,32 +303,34 @@ struct btrfs_extent_data { } _PACKED; -#define BTRFS_SUPER_BLOCK_MAGIC "_BHRfS_M" +#define BTRFS_SUPER_BLOCK_MAGIC "_BHRfS_M" +#define BTRFS_FIRST_SUBVOLUME 256 -#define BTRFS_OBJECT_ID_ROOT_TREE 1 -#define BTRFS_OBJECT_ID_EXTENT_TREE 2 -#define BTRFS_OBJECT_ID_DEV_TREE 4 -#define BTRFS_OBJECT_ID_FS_TREE 5 -#define BTRFS_OBJECT_ID_ROOT_TREE_DIR 6 -#define BTRFS_OBJECT_ID_CHECKSUM_TREE 7 -#define BTRFS_OBJECT_ID_CHUNK_TREE 256 +#define BTRFS_OBJECT_ID_ROOT_TREE 1 +#define BTRFS_OBJECT_ID_EXTENT_TREE 2 +#define BTRFS_OBJECT_ID_CHUNK_TREE 3 +#define BTRFS_OBJECT_ID_DEV_TREE 4 +#define BTRFS_OBJECT_ID_FS_TREE 5 +#define BTRFS_OBJECT_ID_ROOT_TREE_DIR 6 +#define BTRFS_OBJECT_ID_CHECKSUM_TREE 7 +#define BTRFS_OBJECT_ID_FIRST_CHUNK_TREE 256 -#define BTRFS_KEY_TYPE_CHUNK_ITEM 228 -#define BTRFS_KEY_TYPE_DIR_ITEM 84 -#define BTRFS_KEY_TYPE_DIR_INDEX 96 -#define BTRFS_KEY_TYPE_EXTENT_DATA 108 -#define BTRFS_KEY_TYPE_INODE_ITEM 1 -#define BTRFS_KEY_TYPE_INODE_REF 12 -#define BTRFS_KEY_TYPE_ROOT_ITEM 132 -#define BTRFS_KEY_TYPE_XATTR_ITEM 24 +#define BTRFS_KEY_TYPE_CHUNK_ITEM 228 +#define BTRFS_KEY_TYPE_DIR_ITEM 84 +#define BTRFS_KEY_TYPE_DIR_INDEX 96 +#define BTRFS_KEY_TYPE_EXTENT_DATA 108 +#define BTRFS_KEY_TYPE_INODE_ITEM 1 +#define BTRFS_KEY_TYPE_INODE_REF 12 +#define BTRFS_KEY_TYPE_ROOT_ITEM 132 +#define BTRFS_KEY_TYPE_XATTR_ITEM 24 -#define BTRFS_EXTENT_COMPRESS_NONE 0 -#define BTRFS_EXTENT_COMPRESS_ZLIB 1 -#define BTRFS_EXTENT_COMPRESS_LZO 2 +#define BTRFS_EXTENT_COMPRESS_NONE 0 +#define BTRFS_EXTENT_COMPRESS_ZLIB 1 +#define BTRFS_EXTENT_COMPRESS_LZO 2 -#define BTRFS_EXTENT_DATA_INLINE 0 -#define BTRFS_EXTENT_DATA_REGULAR 1 -#define BTRFS_EXTENT_DATA_PRE 2 +#define BTRFS_EXTENT_DATA_INLINE 0 +#define BTRFS_EXTENT_DATA_REGULAR 1 +#define BTRFS_EXTENT_DATA_PRE 2 struct file_cookie {