• Filipe Manana's avatar
    Btrfs: wake up inode cache waiters sooner to reduce waiting time · 32e53440
    Filipe Manana authored
    If we need to start an inode caching thread, because none currently exists
    on disk, we can wake up all waiters as soon as we mark the range starting
    at root's highest objectid + 1 and ending at BTRFS_LAST_FREE_OBJECTID as
    free, so that they don't need to wait for the caching thread to start and
    do some progress. We follow the same approach within the caching thread,
    since as soon as it finds a free range and marks it as free space in the
    cache, it wakes up all waiters. So improve this by adding such a wakeup
    call after marking that initial range as free space.
    
    Fixes: a47d6b70 ("Btrfs: setup free ino caching in a more asynchronous way")
    Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
    Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    32e53440
inode-map.c 14.6 KB