diff options
author | Josef Bacik <josef@redhat.com> | 2011-06-08 14:45:50 -0400 |
---|---|---|
committer | Arne Jansen <sensille@gmx.net> | 2011-06-10 12:14:12 +0200 |
commit | ad3e34bba4b64ab8e1f5ea1a17768e1a0d9648ea (patch) | |
tree | 46f2081646866cea4f89d8f20c5f632f14e3bc2a /lib/int_sqrt.c | |
parent | aa0467d8d2a00e75b2bb6a56a4ee6d70c5d1928f (diff) | |
download | blackbird-op-linux-ad3e34bba4b64ab8e1f5ea1a17768e1a0d9648ea.tar.gz blackbird-op-linux-ad3e34bba4b64ab8e1f5ea1a17768e1a0d9648ea.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 'lib/int_sqrt.c')
0 files changed, 0 insertions, 0 deletions