@@ -1747,7 +1747,7 @@ LE64_BITMASK(BCH_SB_HAS_TOPOLOGY_ERRORS,struct bch_sb, flags[0], 61, 62);
17471747LE64_BITMASK (BCH_SB_BIG_ENDIAN , struct bch_sb , flags [0 ], 62 , 63 );
17481748
17491749LE64_BITMASK (BCH_SB_STR_HASH_TYPE , struct bch_sb , flags [1 ], 0 , 4 );
1750- LE64_BITMASK (BCH_SB_COMPRESSION_TYPE , struct bch_sb , flags [1 ], 4 , 8 );
1750+ LE64_BITMASK (BCH_SB_COMPRESSION_TYPE_LO , struct bch_sb , flags [1 ], 4 , 8 );
17511751LE64_BITMASK (BCH_SB_INODE_32BIT , struct bch_sb , flags [1 ], 8 , 9 );
17521752
17531753LE64_BITMASK (BCH_SB_128_BIT_MACS , struct bch_sb , flags [1 ], 9 , 10 );
@@ -1767,7 +1767,7 @@ LE64_BITMASK(BCH_SB_PROMOTE_TARGET, struct bch_sb, flags[1], 28, 40);
17671767LE64_BITMASK (BCH_SB_FOREGROUND_TARGET , struct bch_sb , flags [1 ], 40 , 52 );
17681768LE64_BITMASK (BCH_SB_BACKGROUND_TARGET , struct bch_sb , flags [1 ], 52 , 64 );
17691769
1770- LE64_BITMASK (BCH_SB_BACKGROUND_COMPRESSION_TYPE ,
1770+ LE64_BITMASK (BCH_SB_BACKGROUND_COMPRESSION_TYPE_LO ,
17711771 struct bch_sb , flags [2 ], 0 , 4 );
17721772LE64_BITMASK (BCH_SB_GC_RESERVE_BYTES , struct bch_sb , flags [2 ], 4 , 64 );
17731773
@@ -1783,11 +1783,36 @@ LE64_BITMASK(BCH_SB_NOCOW, struct bch_sb, flags[4], 33, 34);
17831783LE64_BITMASK (BCH_SB_WRITE_BUFFER_SIZE , struct bch_sb , flags [4 ], 34 , 54 );
17841784LE64_BITMASK (BCH_SB_VERSION_UPGRADE , struct bch_sb , flags [4 ], 54 , 56 );
17851785
1786- /* flags[4] 56-64 unused: */
1786+ LE64_BITMASK (BCH_SB_COMPRESSION_TYPE_HI ,struct bch_sb , flags [4 ], 56 , 60 );
1787+ LE64_BITMASK (BCH_SB_BACKGROUND_COMPRESSION_TYPE_HI ,
1788+ struct bch_sb , flags [4 ], 60 , 64 );
17871789
17881790LE64_BITMASK (BCH_SB_VERSION_UPGRADE_COMPLETE ,
17891791 struct bch_sb , flags [5 ], 0 , 16 );
17901792
1793+ static inline __u64 BCH_SB_COMPRESSION_TYPE (const struct bch_sb * sb )
1794+ {
1795+ return BCH_SB_COMPRESSION_TYPE_LO (sb ) | (BCH_SB_COMPRESSION_TYPE_HI (sb ) << 4 );
1796+ }
1797+
1798+ static inline void SET_BCH_SB_COMPRESSION_TYPE (struct bch_sb * sb , __u64 v )
1799+ {
1800+ SET_BCH_SB_COMPRESSION_TYPE_LO (sb , v );
1801+ SET_BCH_SB_COMPRESSION_TYPE_HI (sb , v >> 4 );
1802+ }
1803+
1804+ static inline __u64 BCH_SB_BACKGROUND_COMPRESSION_TYPE (const struct bch_sb * sb )
1805+ {
1806+ return BCH_SB_BACKGROUND_COMPRESSION_TYPE_LO (sb ) |
1807+ (BCH_SB_BACKGROUND_COMPRESSION_TYPE_HI (sb ) << 4 );
1808+ }
1809+
1810+ static inline void SET_BCH_SB_BACKGROUND_COMPRESSION_TYPE (struct bch_sb * sb , __u64 v )
1811+ {
1812+ SET_BCH_SB_BACKGROUND_COMPRESSION_TYPE_LO (sb , v );
1813+ SET_BCH_SB_BACKGROUND_COMPRESSION_TYPE_HI (sb , v >> 4 );
1814+ }
1815+
17911816/*
17921817 * Features:
17931818 *
0 commit comments