From 368023eadbfc5442e8800ac6ebe33876d0d1c012 Mon Sep 17 00:00:00 2001 From: Lars Ellenberg Date: Fri, 21 Jan 2011 22:53:48 +0100 Subject: [PATCH] --- yaml --- r: 242906 b: refs/heads/master c: 873b0d5f98ab70e4df7a62b2ef0305373f88f330 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/block/drbd/drbd_nl.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 29a6ff942b4f..9f38e0afd8e5 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e636db5b956950b8b9bfbeb766a637f84bae1e3b +refs/heads/master: 873b0d5f98ab70e4df7a62b2ef0305373f88f330 diff --git a/trunk/drivers/block/drbd/drbd_nl.c b/trunk/drivers/block/drbd/drbd_nl.c index bc0bcb964603..87aaa7fc4d27 100644 --- a/trunk/drivers/block/drbd/drbd_nl.c +++ b/trunk/drivers/block/drbd/drbd_nl.c @@ -2106,6 +2106,11 @@ static int drbd_nl_start_ov(struct drbd_conf *mdev, struct drbd_nl_cfg_req *nlp, reply->ret_code = ERR_MANDATORY_TAG; return 0; } + + /* If there is still bitmap IO pending, e.g. previous resync or verify + * just being finished, wait for it before requesting a new resync. */ + wait_event(mdev->misc_wait, !test_bit(BITMAP_IO, &mdev->flags)); + /* w_make_ov_request expects position to be aligned */ mdev->ov_start_sector = args.start_sector & ~BM_SECT_PER_BIT; reply->ret_code = drbd_request_state(mdev,NS(conn,C_VERIFY_S));