Commit c3361b7a authored by Lars Ellenberg's avatar Lars Ellenberg Committed by Philipp Reisner

fix regression in 8.3.3rc, some typos: bio_flagged != bio_rw_flagged

This may have led to spurious "IO Errors" on a receiving node, when
barriers are not disabled, and not supported by the lower level device.

regression was introduced by:
commit a2ad6507a0b5a2dc1f5a6a823b9a28d9c4430200
Author: Lars Ellenberg <lars.ellenberg@linbit.com>
Date:   Thu Aug 27 20:40:39 2009 +0200

    fix potential endless retry loop on IO error
Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
parent 5910fc51
......@@ -2347,6 +2347,10 @@ int drbd_send_dblock(struct drbd_conf *mdev, struct drbd_request *req)
}
if (bio_rw_flagged(req->master_bio, BIO_RW_SYNCIO))
dp_flags |= DP_RW_SYNC;
/* for now handle SYNCIO and UNPLUG
* as if they still were one and the same flag */
if (bio_rw_flagged(req->master_bio, BIO_RW_UNPLUG))
dp_flags |= DP_RW_SYNC;
if (mdev->state.conn >= C_SYNC_SOURCE &&
mdev->state.conn <= C_PAUSED_SYNC_T)
dp_flags |= DP_MAY_SET_IN_SYNC;
......
......@@ -144,7 +144,7 @@ void drbd_endio_write_sec(struct bio *bio, int error) __releases(local)
int is_syncer_req;
int do_al_complete_io;
int uptodate = bio_flagged(bio, BIO_UPTODATE);
int is_barrier = bio_flagged(bio, BIO_RW_BARRIER);
int is_barrier = bio_rw_flagged(bio, BIO_RW_BARRIER);
e = bio->bi_private;
mdev = e->mdev;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment