diff options
author | Josef Bacik <josef@redhat.com> | 2011-06-08 18:36:54 (GMT) |
---|---|---|
committer | Josef Bacik <josef@redhat.com> | 2011-06-09 14:12:07 (GMT) |
commit | 25b8b936ed44814a5ce6fc3b2a21401f33cd56f6 (patch) | |
tree | 3f95ff0f54340bf63885e1d38766cf52a05d3029 /fs/btrfs/transaction.c | |
parent | f6a398298d34af66ec3a2d82a44a4dbc5277357d (diff) | |
download | linux-fsl-qoriq-25b8b936ed44814a5ce6fc3b2a21401f33cd56f6.tar.xz |
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