On  4.10.2018 21:30, Omar Sandoval wrote:
> 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.
> 

Yes, it works. I manually tried changing the label of the filesystem
(though now I'm thinking whether I had v2 space cache enabled) and also
run all tests for progs. Will revise this however with explicit v2 fst.

Reply via email to