• Josef Bacik's avatar
    btrfs: remove lockdep classes for the fs tree · 416e3445
    Josef Bacik authored
    
    
    We have this weird problem where our lockdep class is set after we
    read a tree block, which can race with concurrent readers and result in
    erroneous lockdep errors.  We want to set the lockdep class at
    allocation time if possible, but in certain cases we may not have the
    actual root owner, such as with relocation or any backref lookups.  This
    is only really a problem for reference counted trees, because all other
    trees have their root reference set in their extent reference.  Remove
    the fs tree specific lock class.  We need to still keep the reloc tree
    one, it's still reference counted, because replace_path will lock the
    reloc tree and the destination tree, and if they're both set to
    tree-<level> we'll have issues.
    Reviewed-by: default avatarFilipe Manana <fdmanana@suse.com>
    Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
    Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    416e3445
disk-io.c 131 KB