summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_main.c
diff options
context:
space:
mode:
authorPhilipp Reisner2013-03-27 14:08:39 +0100
committerJens Axboe2013-03-28 17:10:25 +0100
commitbb45185de2e90af63a7bc48855de6f870cc216fc (patch)
tree6c2d78db55ed259ccfdb2b4002f4bba4a537bca5 /drivers/block/drbd/drbd_main.c
parentdrbd: drop now useless duplicate state request from invalidate (diff)
downloadkernel-qcow2-linux-bb45185de2e90af63a7bc48855de6f870cc216fc.tar.gz
kernel-qcow2-linux-bb45185de2e90af63a7bc48855de6f870cc216fc.tar.xz
kernel-qcow2-linux-bb45185de2e90af63a7bc48855de6f870cc216fc.zip
drbd: fix spurious warning about bitmap being locked from detach
Introduced in drbd: always write bitmap on detach, the bitmap bulk writeout on detach was indicating it expected exclusive bitmap access. Where I meant to say: expect no more modifications, but testing/counting is still allowed. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'drivers/block/drbd/drbd_main.c')
-rw-r--r--drivers/block/drbd/drbd_main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index a150b59897a0..67d2bb3bb533 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -3412,8 +3412,12 @@ static int w_go_diskless(struct drbd_work *w, int unused)
* end up here after a failed attach, before ldev was even assigned.
*/
if (mdev->bitmap && mdev->ldev) {
+ /* An interrupted resync or similar is allowed to recounts bits
+ * while we detach.
+ * Any modifications would not be expected anymore, though.
+ */
if (drbd_bitmap_io_from_worker(mdev, drbd_bm_write,
- "detach", BM_LOCKED_MASK)) {
+ "detach", BM_LOCKED_TEST_ALLOWED)) {
if (test_bit(WAS_READ_ERROR, &mdev->flags)) {
drbd_md_set_flag(mdev, MDF_FULL_SYNC);
drbd_md_sync(mdev);