• Filipe Manana's avatar
    Btrfs: fix mount failure when qgroup rescan is in progress · e4e7ede7
    Filipe Manana authored
    If a power failure happens while the qgroup rescan kthread is running,
    the next mount operation will always fail. This is because of a recent
    regression that makes qgroup_rescan_init() incorrectly return -EINVAL
    when we are mounting the filesystem (through btrfs_read_qgroup_config()).
    This causes the -EINVAL error to be returned regardless of any qgroup
    flags being set instead of returning the error only when neither of
    the flags BTRFS_QGROUP_STATUS_FLAG_RESCAN nor BTRFS_QGROUP_STATUS_FLAG_ON
    are set.
    
    A test case for fstests follows up soon.
    
    Fixes: 9593bf49 ("btrfs: qgroup: show more meaningful qgroup_rescan_init error message")
    Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
    Reviewed-by: default avatarQu Wenruo <wqu@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    e4e7ede7
qgroup.c 83.8 KB