summaryrefslogtreecommitdiff
path: root/fs/btrfs/transaction.c
diff options
context:
space:
mode:
authorJosef Bacik <josef@redhat.com>2011-06-08 14:36:54 -0400
committerJosef Bacik <josef@redhat.com>2011-06-09 10:12:07 -0400
commit25b8b936ed44814a5ce6fc3b2a21401f33cd56f6 (patch)
tree3f95ff0f54340bf63885e1d38766cf52a05d3029 /fs/btrfs/transaction.c
parentf6a398298d34af66ec3a2d82a44a4dbc5277357d (diff)
downloadlinux-3.10-25b8b936ed44814a5ce6fc3b2a21401f33cd56f6.tar.gz
linux-3.10-25b8b936ed44814a5ce6fc3b2a21401f33cd56f6.tar.bz2
linux-3.10-25b8b936ed44814a5ce6fc3b2a21401f33cd56f6.zip
Btrfs: don't map extent buffer if path->skip_locking is set
Arne's scrub stuff exposed a problem with mapping the extent buffer in reada_for_search. He searches the commit root with multiple threads and with skip_locking set, so we can race and overwrite node->map_token since node isn't locked. So fix this so that we only map the extent buffer if we don't already have a map_token and skip_locking isn't set. Without this patch scrub would panic almost immediately, with the patch it doesn't panic anymore. Thanks, Reported-by: Arne Jansen <sensille@gmx.net> Signed-off-by: Josef Bacik <josef@redhat.com>
Diffstat (limited to 'fs/btrfs/transaction.c')
0 files changed, 0 insertions, 0 deletions