diff options
author | Wang Shilong <wangsl.fnst@cn.fujitsu.com> | 2014-01-23 13:47:48 +0800 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2014-01-29 07:06:23 -0800 |
commit | 538f72cdf03cad1c21c551ea542c8ce7d9fa2d81 (patch) | |
tree | d4480e764bdebea4cac696ffb25f9025c61ea240 /fs/afs/volume.c | |
parent | 3c9665df0c5d3f471b07efc32181459386678ebd (diff) | |
download | blackbird-op-linux-538f72cdf03cad1c21c551ea542c8ce7d9fa2d81.tar.gz blackbird-op-linux-538f72cdf03cad1c21c551ea542c8ce7d9fa2d81.zip |
Btrfs: fix protection between walking backrefs and root deletion
There is a race condition between resolving indirect ref and root deletion,
and we should gurantee that root can not be destroyed to avoid accessing
broken tree here.
Here we fix it by holding @subvol_srcu, and we will release it as soon
as we have held root node lock.
Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/afs/volume.c')
0 files changed, 0 insertions, 0 deletions