Skip to content

Commit e86e912

Browse files
author
Kent Overstreet
committed
bcachefs: Extent sb compression type fields to 8 bits
The upper 4 bits are for compression level. Signed-off-by: Kent Overstreet <[email protected]>
1 parent a5cf5a4 commit e86e912

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

fs/bcachefs/bcachefs_format.h

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1747,7 +1747,7 @@ LE64_BITMASK(BCH_SB_HAS_TOPOLOGY_ERRORS,struct bch_sb, flags[0], 61, 62);
17471747
LE64_BITMASK(BCH_SB_BIG_ENDIAN, struct bch_sb, flags[0], 62, 63);
17481748

17491749
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);
17511751
LE64_BITMASK(BCH_SB_INODE_32BIT, struct bch_sb, flags[1], 8, 9);
17521752

17531753
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);
17671767
LE64_BITMASK(BCH_SB_FOREGROUND_TARGET, struct bch_sb, flags[1], 40, 52);
17681768
LE64_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);
17721772
LE64_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);
17831783
LE64_BITMASK(BCH_SB_WRITE_BUFFER_SIZE, struct bch_sb, flags[4], 34, 54);
17841784
LE64_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

17881790
LE64_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

Comments
 (0)