wip bcachefs

This commit is contained in:
Motiejus Jakštys 2024-04-04 10:52:59 +03:00
parent da04931759
commit 4d430c8530

View File

@ -0,0 +1,47 @@
---
title: "bcachefs"
date: 2024-04-04T10:32:22+03:00
draft: True
---
Once bcachefs got [merged][1] 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
```
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9e87705289667a6c5185c619ea32f3d39314eb1b