@@ -1747,7 +1747,7 @@ LE64_BITMASK(BCH_SB_HAS_TOPOLOGY_ERRORS,struct bch_sb, flags[0], 61, 62);
1747
1747
LE64_BITMASK (BCH_SB_BIG_ENDIAN , struct bch_sb , flags [0 ], 62 , 63 );
1748
1748
1749
1749
LE64_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 );
1751
1751
LE64_BITMASK (BCH_SB_INODE_32BIT , struct bch_sb , flags [1 ], 8 , 9 );
1752
1752
1753
1753
LE64_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);
1767
1767
LE64_BITMASK (BCH_SB_FOREGROUND_TARGET , struct bch_sb , flags [1 ], 40 , 52 );
1768
1768
LE64_BITMASK (BCH_SB_BACKGROUND_TARGET , struct bch_sb , flags [1 ], 52 , 64 );
1769
1769
1770
- LE64_BITMASK (BCH_SB_BACKGROUND_COMPRESSION_TYPE ,
1770
+ LE64_BITMASK (BCH_SB_BACKGROUND_COMPRESSION_TYPE_LO ,
1771
1771
struct bch_sb , flags [2 ], 0 , 4 );
1772
1772
LE64_BITMASK (BCH_SB_GC_RESERVE_BYTES , struct bch_sb , flags [2 ], 4 , 64 );
1773
1773
@@ -1783,11 +1783,36 @@ LE64_BITMASK(BCH_SB_NOCOW, struct bch_sb, flags[4], 33, 34);
1783
1783
LE64_BITMASK (BCH_SB_WRITE_BUFFER_SIZE , struct bch_sb , flags [4 ], 34 , 54 );
1784
1784
LE64_BITMASK (BCH_SB_VERSION_UPGRADE , struct bch_sb , flags [4 ], 54 , 56 );
1785
1785
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 );
1787
1789
1788
1790
LE64_BITMASK (BCH_SB_VERSION_UPGRADE_COMPLETE ,
1789
1791
struct bch_sb , flags [5 ], 0 , 16 );
1790
1792
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
+
1791
1816
/*
1792
1817
* Features:
1793
1818
*
0 commit comments