bch_sb.features is an array of __le64. Convert the native endian format
of the features mask appropriately. This causes a bcachefs format to
produce an unmountable fs when run from a big endian system.

Signed-off-by: Brian Foster <[email protected]>
---
 libbcachefs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libbcachefs.c b/libbcachefs.c
index bac772b..44a5fbf 100644
--- a/libbcachefs.c
+++ b/libbcachefs.c
@@ -193,7 +193,7 @@ struct bch_sb *bch2_format(struct bch_opt_strs      
fs_opt_strs,
        sb.sb->nr_devices       = nr_devs;
 
        if (opts.version == bcachefs_metadata_version_current)
-               sb.sb->features[0] |= BCH_SB_FEATURES_ALL;
+               sb.sb->features[0] |= cpu_to_le64(BCH_SB_FEATURES_ALL);
 
        uuid_generate(sb.sb->uuid.b);
 
-- 
2.41.0

Reply via email to