jakstys.lt/content/log/2024/bcachefs.md
2024-04-04 10:52:59 +03:00

2.0 KiB

title date draft
bcachefs 2024-04-04T10:32:22+03:00 True

Once bcachefs got merged to Linux 6.7, I was excited to try it out. Who wouldn't? It intrigues me for a combination of features not readily available on other file systems:

  • Tiered storage: I want generally "fast" storage and "lots" of it (by my standards). Ideally, I would have a HDD with "cold" storage and SSD with "warm" storage (including writeback for fast writes). Currently all homeserver files are in a 2TB SSD drive. I would like to get an HDD and have a smaller (cheaper) SSD.
  • Compression: compression ratio for homeserver files is 1.07x, but over 2x for /nix. Compression ratio for /home on my personal laptop is 1.23x.

Part 1:

$ bcachefs fsck /dev/mapper/luksroot 
< over 1 million lines like this ... >
error validating btree node at btree rebalance_work level 0/1
  u64s 11 type btree_ptr_v2 53920:1262:U32_MAX len 0 ver 0: seq 914ce76a78ae3f22 written 281 min_key 0:19871775:1 durability: 1 ptr: 0:16177:0 gen 10
  node offset 141 bset u64s 94: invalid bkey: snapshot == 0
  u64s 5 type deleted 0:21863357:0 len 0 ver 0, fixing
error validating btree node at btree rebalance_work level 0/1
  u64s 11 type btree_ptr_v2 53920:1262:U32_MAX len 0 ver 0: seq 914ce76a78ae3f22 written 281 min_key 0:19871775:1 durability: 1 ptr: 0:16177:0 gen 10
  node offset 141 bset u64s 92: invalid bkey: snapshot == 0
  u64s 5 type deleted 0:21863362:0 len 0 ver 0, fixing
btree_node_read_work: rewriting btree node at btree=rebalance_work level=0 53920:1262:U32_MAX due to error
 done
journal_replay... done
check_alloc_info... done
check_lrus... done
check_btree_backpointers... done
check_backpointers_to_extents... done
check_extents_to_backpointers... done
check_alloc_to_lru_refs... done
check_snapshot_trees... done
*** buffer overflow detected ***: terminated
Aborted