• Filipe Manana's avatar
    Btrfs: fix qgroup rescan worker initialization · 8d9eddad
    Filipe Manana authored
    We were setting the qgroup_rescan_running flag to true only after the
    rescan worker started (which is a task run by a queue). So if a user
    space task starts a rescan and immediately after asks to wait for the
    rescan worker to finish, this second call might happen before the rescan
    worker task starts running, in which case the rescan wait ioctl returns
    immediatley, not waiting for the rescan worker to finish.
    
    This was making the fstest btrfs/022 fail very often.
    
    Fixes: d2c609b8 (btrfs: properly track when rescan worker is running)
    Cc: stable@vger.kernel.org # 4.4+
    Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    8d9eddad
qgroup.c 68.1 KB