• Chris Mason's avatar
    Btrfs: Fix async thread shutdown race · 6e74057c
    Chris Mason authored
    It was possible for an async worker thread to be selected to
    receive a new work item, but exit before the work item was
    actually placed into that thread's work list.
    
    This commit fixes the race by incrementing the num_pending
    counter earlier, and making sure to check the number of pending
    work items before a thread exits.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    6e74057c
async-thread.c 15.9 KB