• Filipe Manana's avatar
    btrfs: assert that extent buffers are write locked instead of only locked · 49d0c642
    Filipe Manana authored
    We currently use lockdep_assert_held() at btrfs_assert_tree_locked(), and
    that checks that we hold a lock either in read mode or write mode.
    
    However in all contexts we use btrfs_assert_tree_locked(), we actually
    want to check if we are holding a write lock on the extent buffer's rw
    semaphore - it would be a bug if in any of those contexts we were holding
    a read lock instead.
    
    So change btrfs_assert_tree_locked() to use lockdep_assert_held_write()
    instead and, to make it more explicit, rename btrfs_assert_tree_locked()
    to btrfs_assert_tree_write_locked(), so that it's clear we want to check
    we are holding a write lock.
    
    For now there are no contexts where we want to assert that we must have
    a read lock, but in case that is needed in the future, we can add a new
    helper function that just calls out lockdep_assert_held_read().
    Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    49d0c642
locking.h 4.33 KB