From 6dbef5f27b466215c256d4ceacfcec7481223c45 Mon Sep 17 00:00:00 2001 From: Zygo Blaxell Date: Sat, 8 Feb 2025 21:11:59 -0500 Subject: [PATCH] fs: improve compatibility with linux-libc-dev 5.4 Fix the missing symbols that popped up when adding chunk tree to lib/fs.cc. Also define the missing symbols instead of merely trying to avoid them. Signed-off-by: Zygo Blaxell --- include/crucible/btrfs.h | 15 ++++++++++++--- lib/fs.cc | 8 -------- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/include/crucible/btrfs.h b/include/crucible/btrfs.h index f8c9408..c25e37c 100644 --- a/include/crucible/btrfs.h +++ b/include/crucible/btrfs.h @@ -78,9 +78,6 @@ enum btrfs_compression_type { #define BTRFS_SHARED_BLOCK_REF_KEY 182 #define BTRFS_SHARED_DATA_REF_KEY 184 #define BTRFS_BLOCK_GROUP_ITEM_KEY 192 - #define BTRFS_FREE_SPACE_INFO_KEY 198 - #define BTRFS_FREE_SPACE_EXTENT_KEY 199 - #define BTRFS_FREE_SPACE_BITMAP_KEY 200 #define BTRFS_DEV_EXTENT_KEY 204 #define BTRFS_DEV_ITEM_KEY 216 #define BTRFS_CHUNK_ITEM_KEY 228 @@ -97,6 +94,18 @@ enum btrfs_compression_type { #endif +#ifndef BTRFS_FREE_SPACE_INFO_KEY + #define BTRFS_FREE_SPACE_INFO_KEY 198 + #define BTRFS_FREE_SPACE_EXTENT_KEY 199 + #define BTRFS_FREE_SPACE_BITMAP_KEY 200 + #define BTRFS_FREE_SPACE_OBJECTID -11ULL +#endif + +#ifndef BTRFS_BLOCK_GROUP_RAID1C4 + #define BTRFS_BLOCK_GROUP_RAID1C3 (1ULL << 9) + #define BTRFS_BLOCK_GROUP_RAID1C4 (1ULL << 10) +#endif + #ifndef BTRFS_DEFRAG_RANGE_START_IO // For some reason uapi has BTRFS_DEFRAG_RANGE_COMPRESS and diff --git a/lib/fs.cc b/lib/fs.cc index 25443c8..23ecb67 100644 --- a/lib/fs.cc +++ b/lib/fs.cc @@ -932,15 +932,9 @@ namespace crucible { NTOA_TABLE_ENTRY_ENUM(BTRFS_SHARED_BLOCK_REF_KEY), NTOA_TABLE_ENTRY_ENUM(BTRFS_SHARED_DATA_REF_KEY), NTOA_TABLE_ENTRY_ENUM(BTRFS_BLOCK_GROUP_ITEM_KEY), -#ifdef BTRFS_FREE_SPACE_INFO_KEY NTOA_TABLE_ENTRY_ENUM(BTRFS_FREE_SPACE_INFO_KEY), -#endif -#ifdef BTRFS_FREE_SPACE_EXTENT_KEY NTOA_TABLE_ENTRY_ENUM(BTRFS_FREE_SPACE_EXTENT_KEY), -#endif -#ifdef BTRFS_FREE_SPACE_BITMAP_KEY NTOA_TABLE_ENTRY_ENUM(BTRFS_FREE_SPACE_BITMAP_KEY), -#endif NTOA_TABLE_ENTRY_ENUM(BTRFS_DEV_EXTENT_KEY), NTOA_TABLE_ENTRY_ENUM(BTRFS_DEV_ITEM_KEY), NTOA_TABLE_ENTRY_ENUM(BTRFS_CHUNK_ITEM_KEY), @@ -972,9 +966,7 @@ namespace crucible { NTOA_TABLE_ENTRY_ENUM(BTRFS_CSUM_TREE_OBJECTID), NTOA_TABLE_ENTRY_ENUM(BTRFS_QUOTA_TREE_OBJECTID), NTOA_TABLE_ENTRY_ENUM(BTRFS_UUID_TREE_OBJECTID), -#ifdef BTRFS_FREE_SPACE_TREE_OBJECTID NTOA_TABLE_ENTRY_ENUM(BTRFS_FREE_SPACE_TREE_OBJECTID), -#endif NTOA_TABLE_ENTRY_ENUM(BTRFS_BALANCE_OBJECTID), NTOA_TABLE_ENTRY_ENUM(BTRFS_ORPHAN_OBJECTID), NTOA_TABLE_ENTRY_ENUM(BTRFS_TREE_LOG_OBJECTID),