]> git.hungrycats.org Git - bees/commitdiff
fs: improve compatibility with linux-libc-dev 5.4
authorZygo Blaxell <bees@furryterror.org>
Sun, 9 Feb 2025 02:11:59 +0000 (21:11 -0500)
committerZygo Blaxell <bees@furryterror.org>
Sun, 9 Feb 2025 02:17:15 +0000 (21:17 -0500)
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 <bees@furryterror.org>
include/crucible/btrfs.h
lib/fs.cc

index f8c94086fd70017cecf990f62d19cbd0595ac0e0..c25e37cd304679f7038abf6566ca763b2472732a 100644 (file)
@@ -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
index 25443c8d22f39b1fc101d4710937f25589396a76..23ecb671cae61f1dd764b1d6628079dc81aeae4e 100644 (file)
--- 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),