Loading drivers/block/drbd/drbd_int.h +6 −2 Original line number Diff line number Diff line Loading @@ -374,9 +374,13 @@ union p_header { */ /* these defines must not be changed without changing the protocol version */ #define DP_HARDBARRIER 1 #define DP_RW_SYNC 2 #define DP_HARDBARRIER 1 /* depricated */ #define DP_RW_SYNC 2 /* equals REQ_SYNC */ #define DP_MAY_SET_IN_SYNC 4 #define DP_UNPLUG 8 /* equals REQ_UNPLUG */ #define DP_FUA 16 /* equals REQ_FUA */ #define DP_FLUSH 32 /* equals REQ_FLUSH */ #define DP_DISCARD 64 /* equals REQ_DISCARD */ struct p_data { union p_header head; Loading drivers/block/drbd/drbd_main.c +14 −14 Original line number Diff line number Diff line Loading @@ -2426,6 +2426,18 @@ static int _drbd_send_zc_ee(struct drbd_conf *mdev, struct drbd_epoch_entry *e) return 1; } static u32 bio_flags_to_wire(struct drbd_conf *mdev, unsigned long bi_rw) { if (mdev->agreed_pro_version >= 95) return (bi_rw & REQ_SYNC ? DP_RW_SYNC : 0) | (bi_rw & REQ_UNPLUG ? DP_UNPLUG : 0) | (bi_rw & REQ_FUA ? DP_FUA : 0) | (bi_rw & REQ_FLUSH ? DP_FLUSH : 0) | (bi_rw & REQ_DISCARD ? DP_DISCARD : 0); else return bi_rw & (REQ_SYNC | REQ_UNPLUG) ? DP_RW_SYNC : 0; } /* Used to send write requests * R_PRIMARY -> Peer (P_DATA) */ Loading Loading @@ -2459,21 +2471,9 @@ int drbd_send_dblock(struct drbd_conf *mdev, struct drbd_request *req) p.block_id = (unsigned long)req; p.seq_num = cpu_to_be32(req->seq_num = atomic_add_return(1, &mdev->packet_seq)); dp_flags = 0; /* NOTE: no need to check if barriers supported here as we would * not pass the test in make_request_common in that case */ if (req->master_bio->bi_rw & REQ_HARDBARRIER) { dev_err(DEV, "ASSERT FAILED would have set DP_HARDBARRIER\n"); /* dp_flags |= DP_HARDBARRIER; */ } if (req->master_bio->bi_rw & REQ_SYNC) dp_flags |= DP_RW_SYNC; /* for now handle SYNCIO and UNPLUG * as if they still were one and the same flag */ if (req->master_bio->bi_rw & REQ_UNPLUG) dp_flags |= DP_RW_SYNC; dp_flags = bio_flags_to_wire(mdev, req->master_bio->bi_rw); if (mdev->state.conn >= C_SYNC_SOURCE && mdev->state.conn <= C_PAUSED_SYNC_T) dp_flags |= DP_MAY_SET_IN_SYNC; Loading drivers/block/drbd/drbd_receiver.c +14 −6 Original line number Diff line number Diff line Loading @@ -1753,6 +1753,18 @@ static int drbd_wait_peer_seq(struct drbd_conf *mdev, const u32 packet_seq) return ret; } static unsigned long write_flags_to_bio(struct drbd_conf *mdev, u32 dpf) { if (mdev->agreed_pro_version >= 95) return (dpf & DP_RW_SYNC ? REQ_SYNC : 0) | (dpf & DP_UNPLUG ? REQ_UNPLUG : 0) | (dpf & DP_FUA ? REQ_FUA : 0) | (dpf & DP_FLUSH ? REQ_FUA : 0) | (dpf & DP_DISCARD ? REQ_DISCARD : 0); else return dpf & DP_RW_SYNC ? (REQ_SYNC | REQ_UNPLUG) : 0; } /* mirrored write */ static int receive_Data(struct drbd_conf *mdev, enum drbd_packets cmd, unsigned int data_size) { Loading Loading @@ -1818,12 +1830,8 @@ static int receive_Data(struct drbd_conf *mdev, enum drbd_packets cmd, unsigned spin_unlock(&mdev->epoch_lock); dp_flags = be32_to_cpu(p->dp_flags); if (dp_flags & DP_HARDBARRIER) { dev_err(DEV, "ASSERT FAILED would have submitted barrier request\n"); /* rw |= REQ_HARDBARRIER; */ } if (dp_flags & DP_RW_SYNC) rw |= REQ_SYNC | REQ_UNPLUG; rw |= write_flags_to_bio(mdev, dp_flags); if (dp_flags & DP_MAY_SET_IN_SYNC) e->flags |= EE_MAY_SET_IN_SYNC; Loading Loading
drivers/block/drbd/drbd_int.h +6 −2 Original line number Diff line number Diff line Loading @@ -374,9 +374,13 @@ union p_header { */ /* these defines must not be changed without changing the protocol version */ #define DP_HARDBARRIER 1 #define DP_RW_SYNC 2 #define DP_HARDBARRIER 1 /* depricated */ #define DP_RW_SYNC 2 /* equals REQ_SYNC */ #define DP_MAY_SET_IN_SYNC 4 #define DP_UNPLUG 8 /* equals REQ_UNPLUG */ #define DP_FUA 16 /* equals REQ_FUA */ #define DP_FLUSH 32 /* equals REQ_FLUSH */ #define DP_DISCARD 64 /* equals REQ_DISCARD */ struct p_data { union p_header head; Loading
drivers/block/drbd/drbd_main.c +14 −14 Original line number Diff line number Diff line Loading @@ -2426,6 +2426,18 @@ static int _drbd_send_zc_ee(struct drbd_conf *mdev, struct drbd_epoch_entry *e) return 1; } static u32 bio_flags_to_wire(struct drbd_conf *mdev, unsigned long bi_rw) { if (mdev->agreed_pro_version >= 95) return (bi_rw & REQ_SYNC ? DP_RW_SYNC : 0) | (bi_rw & REQ_UNPLUG ? DP_UNPLUG : 0) | (bi_rw & REQ_FUA ? DP_FUA : 0) | (bi_rw & REQ_FLUSH ? DP_FLUSH : 0) | (bi_rw & REQ_DISCARD ? DP_DISCARD : 0); else return bi_rw & (REQ_SYNC | REQ_UNPLUG) ? DP_RW_SYNC : 0; } /* Used to send write requests * R_PRIMARY -> Peer (P_DATA) */ Loading Loading @@ -2459,21 +2471,9 @@ int drbd_send_dblock(struct drbd_conf *mdev, struct drbd_request *req) p.block_id = (unsigned long)req; p.seq_num = cpu_to_be32(req->seq_num = atomic_add_return(1, &mdev->packet_seq)); dp_flags = 0; /* NOTE: no need to check if barriers supported here as we would * not pass the test in make_request_common in that case */ if (req->master_bio->bi_rw & REQ_HARDBARRIER) { dev_err(DEV, "ASSERT FAILED would have set DP_HARDBARRIER\n"); /* dp_flags |= DP_HARDBARRIER; */ } if (req->master_bio->bi_rw & REQ_SYNC) dp_flags |= DP_RW_SYNC; /* for now handle SYNCIO and UNPLUG * as if they still were one and the same flag */ if (req->master_bio->bi_rw & REQ_UNPLUG) dp_flags |= DP_RW_SYNC; dp_flags = bio_flags_to_wire(mdev, req->master_bio->bi_rw); if (mdev->state.conn >= C_SYNC_SOURCE && mdev->state.conn <= C_PAUSED_SYNC_T) dp_flags |= DP_MAY_SET_IN_SYNC; Loading
drivers/block/drbd/drbd_receiver.c +14 −6 Original line number Diff line number Diff line Loading @@ -1753,6 +1753,18 @@ static int drbd_wait_peer_seq(struct drbd_conf *mdev, const u32 packet_seq) return ret; } static unsigned long write_flags_to_bio(struct drbd_conf *mdev, u32 dpf) { if (mdev->agreed_pro_version >= 95) return (dpf & DP_RW_SYNC ? REQ_SYNC : 0) | (dpf & DP_UNPLUG ? REQ_UNPLUG : 0) | (dpf & DP_FUA ? REQ_FUA : 0) | (dpf & DP_FLUSH ? REQ_FUA : 0) | (dpf & DP_DISCARD ? REQ_DISCARD : 0); else return dpf & DP_RW_SYNC ? (REQ_SYNC | REQ_UNPLUG) : 0; } /* mirrored write */ static int receive_Data(struct drbd_conf *mdev, enum drbd_packets cmd, unsigned int data_size) { Loading Loading @@ -1818,12 +1830,8 @@ static int receive_Data(struct drbd_conf *mdev, enum drbd_packets cmd, unsigned spin_unlock(&mdev->epoch_lock); dp_flags = be32_to_cpu(p->dp_flags); if (dp_flags & DP_HARDBARRIER) { dev_err(DEV, "ASSERT FAILED would have submitted barrier request\n"); /* rw |= REQ_HARDBARRIER; */ } if (dp_flags & DP_RW_SYNC) rw |= REQ_SYNC | REQ_UNPLUG; rw |= write_flags_to_bio(mdev, dp_flags); if (dp_flags & DP_MAY_SET_IN_SYNC) e->flags |= EE_MAY_SET_IN_SYNC; Loading