On Mon, Oct 01, 2018 at 05:46:18PM +0300, Nikolay Borisov wrote: > The RO_FREE_SPACE_TREE(_VALID) flags are required in order to be able > to open an FST filesystem in repair mode. Add them to > BTRFS_FEATURE_COMPAT_RO_SUPP. > > Signed-off-by: Nikolay Borisov <nbori...@suse.com> > --- > ctree.h | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/ctree.h b/ctree.h > index a6d6c3decd87..3c396e7d293d 100644 > --- a/ctree.h > +++ b/ctree.h > @@ -497,7 +497,9 @@ struct btrfs_super_block { > * added here until read-write support for the free space tree is > implemented in > * btrfs-progs. > */
This comment should go away. > -#define BTRFS_FEATURE_COMPAT_RO_SUPP 0ULL > +#define BTRFS_FEATURE_COMPAT_RO_SUPP \ > + (BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE | \ > + BTRFS_FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID) > > #define BTRFS_FEATURE_INCOMPAT_SUPP \ > (BTRFS_FEATURE_INCOMPAT_MIXED_BACKREF | \ To repeat my question from before, did you test whether we can properly change the filesystem with, e.g., btrfstune or btrfs fi label? Given that some critical code was missing in the free space tree code, I'd be surprised if it worked correctly.