bcachefs: BTREE_ID_subvolume_children
authorKent Overstreet <kent.overstreet@linux.dev>
Sun, 21 Jan 2024 11:00:07 +0000 (06:00 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 14 Mar 2024 01:22:24 +0000 (21:22 -0400)
commitb26d79147f5ffaeabbda1cad556761965d6d85fe
tree7453b1c158817965b3879b2fc66be1134bf12a2f
parentb8628a2529e7d615361efdbfd6c9662b687fd828
bcachefs: BTREE_ID_subvolume_children

Add a btree to record a parent -> child subvolume relationships,
according to the filesystem heirarchy.

The subvolume_children btree is a bitset btree: if a bit is set at pos
p, that means p.offset is a child of subvolume p.inode.

This will be used for efficiently listing subvolumes, as well as
recursive deletion.

Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/bcachefs.h
fs/bcachefs/bcachefs_format.h
fs/bcachefs/btree_types.h
fs/bcachefs/recovery_types.h
fs/bcachefs/sb-downgrade.c
fs/bcachefs/subvolume.c
fs/bcachefs/subvolume.h