diff --git a/drbd/drbd_main.c b/drbd/drbd_main.c index 943ef0b..ccf2e17 100644 --- a/drbd/drbd_main.c +++ b/drbd/drbd_main.c @@ -2023,7 +2023,6 @@ int drbd_send_dblock(struct drbd_conf *mdev, struct drbd_request *req) p.dp_flags = cpu_to_be32(dp_flags); dump_packet(mdev, mdev->data.socket, 0, (void *)&p, __FILE__, __LINE__); blk_add_trace_bio(mdev->rq_queue, req->master_bio, BLK_TA_GETRQ); - set_bit(UNPLUG_REMOTE, &mdev->flags); ok = (sizeof(p) == drbd_send(mdev, mdev->data.socket, &p, sizeof(p), MSG_MORE)); if (ok && dgs) { diff --git a/drbd/drbd_req.c b/drbd/drbd_req.c index 745713e..74fe905 100644 --- a/drbd/drbd_req.c +++ b/drbd/drbd_req.c @@ -661,6 +661,8 @@ void _req_mod(struct drbd_request *req, enum drbd_req_event what, int error) * * Add req to the (now) current epoch (barrier). */ + set_bit(UNPLUG_REMOTE, &mdev->flags); /* Worth sending unplug when higher layer unplugs */ + /* see drbd_make_request_common, * just after it grabs the req_lock */ D_ASSERT(test_bit(CREATE_BARRIER, &mdev->flags) == 0);