bcachefs: Erasure coding: Track open stripes
authorKent Overstreet <kent.overstreet@linux.dev>
Sun, 19 Feb 2023 02:07:25 +0000 (21:07 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Sun, 22 Oct 2023 21:09:54 +0000 (17:09 -0400)
commit4b1e669995a6c19f1e1cc8a600101edf7fe9277e
tree5473319bd7894eff6cfb8e55c2f6c2b4a3787811
parentba7c37d330816bcc10c55c8eaab268afca2447e8
bcachefs: Erasure coding: Track open stripes

This adds a new hash table for stripes being created or updated, instead
of hackily relying on the stripes heap.

This lets us reserve the slot for the new stripe up front, at the same
time as we would pick an existing stripe - if we were updating an
existing stripe - making the overall code more consistent.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/bcachefs.h
fs/bcachefs/ec.c
fs/bcachefs/ec.h