aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Gruenbacher <agruen@linbit.com>2011-03-16 10:39:08 -0400
committerPhilipp Reisner <philipp.reisner@linbit.com>2012-11-08 10:44:38 -0500
commitdd5161218bc514a29e1d8670fe1f3753d5e0f813 (patch)
tree90032bc3dddb10698cf9effbd750e89191abc792
parenta8c32aa846cfa271744f1c11fcf425b131137991 (diff)
drbd: drbd_send_ack(): Return 0 upon success and an error code otherwise
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
-rw-r--r--drivers/block/drbd/drbd_main.c8
-rw-r--r--drivers/block/drbd/drbd_receiver.c10
-rw-r--r--drivers/block/drbd/drbd_worker.c10
3 files changed, 14 insertions, 14 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index c80ba373bcd2..bedfc1f62c76 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -1288,10 +1288,10 @@ int drbd_send_ack_rp(struct drbd_conf *mdev, enum drbd_packet cmd,
1288int drbd_send_ack(struct drbd_conf *mdev, enum drbd_packet cmd, 1288int drbd_send_ack(struct drbd_conf *mdev, enum drbd_packet cmd,
1289 struct drbd_peer_request *peer_req) 1289 struct drbd_peer_request *peer_req)
1290{ 1290{
1291 return !_drbd_send_ack(mdev, cmd, 1291 return _drbd_send_ack(mdev, cmd,
1292 cpu_to_be64(peer_req->i.sector), 1292 cpu_to_be64(peer_req->i.sector),
1293 cpu_to_be32(peer_req->i.size), 1293 cpu_to_be32(peer_req->i.size),
1294 peer_req->block_id); 1294 peer_req->block_id);
1295} 1295}
1296 1296
1297/* This function misuses the block_id field to signal if the blocks 1297/* This function misuses the block_id field to signal if the blocks
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 30a9559918a0..9cd3d0d3ae45 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -1473,12 +1473,12 @@ static int e_end_resync_block(struct drbd_work *w, int unused)
1473 1473
1474 if (likely((peer_req->flags & EE_WAS_ERROR) == 0)) { 1474 if (likely((peer_req->flags & EE_WAS_ERROR) == 0)) {
1475 drbd_set_in_sync(mdev, sector, peer_req->i.size); 1475 drbd_set_in_sync(mdev, sector, peer_req->i.size);
1476 ok = drbd_send_ack(mdev, P_RS_WRITE_ACK, peer_req); 1476 ok = !drbd_send_ack(mdev, P_RS_WRITE_ACK, peer_req);
1477 } else { 1477 } else {
1478 /* Record failure to sync */ 1478 /* Record failure to sync */
1479 drbd_rs_failed_io(mdev, sector, peer_req->i.size); 1479 drbd_rs_failed_io(mdev, sector, peer_req->i.size);
1480 1480
1481 ok = drbd_send_ack(mdev, P_NEG_ACK, peer_req); 1481 ok = !drbd_send_ack(mdev, P_NEG_ACK, peer_req);
1482 } 1482 }
1483 dec_unacked(mdev); 1483 dec_unacked(mdev);
1484 1484
@@ -1659,11 +1659,11 @@ static int e_end_block(struct drbd_work *w, int cancel)
1659 mdev->state.conn <= C_PAUSED_SYNC_T && 1659 mdev->state.conn <= C_PAUSED_SYNC_T &&
1660 peer_req->flags & EE_MAY_SET_IN_SYNC) ? 1660 peer_req->flags & EE_MAY_SET_IN_SYNC) ?
1661 P_RS_WRITE_ACK : P_WRITE_ACK; 1661 P_RS_WRITE_ACK : P_WRITE_ACK;
1662 ok &= drbd_send_ack(mdev, pcmd, peer_req); 1662 ok &= !drbd_send_ack(mdev, pcmd, peer_req);
1663 if (pcmd == P_RS_WRITE_ACK) 1663 if (pcmd == P_RS_WRITE_ACK)
1664 drbd_set_in_sync(mdev, sector, peer_req->i.size); 1664 drbd_set_in_sync(mdev, sector, peer_req->i.size);
1665 } else { 1665 } else {
1666 ok = drbd_send_ack(mdev, P_NEG_ACK, peer_req); 1666 ok = !drbd_send_ack(mdev, P_NEG_ACK, peer_req);
1667 /* we expect it to be marked out of sync anyways... 1667 /* we expect it to be marked out of sync anyways...
1668 * maybe assert this? */ 1668 * maybe assert this? */
1669 } 1669 }
@@ -1693,7 +1693,7 @@ static int e_send_ack(struct drbd_work *w, enum drbd_packet ack)
1693 container_of(w, struct drbd_peer_request, w); 1693 container_of(w, struct drbd_peer_request, w);
1694 int ok; 1694 int ok;
1695 1695
1696 ok = drbd_send_ack(mdev, ack, peer_req); 1696 ok = !drbd_send_ack(mdev, ack, peer_req);
1697 dec_unacked(mdev); 1697 dec_unacked(mdev);
1698 1698
1699 return ok; 1699 return ok;
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c
index d7263095cc19..69db6de984c0 100644
--- a/drivers/block/drbd/drbd_worker.c
+++ b/drivers/block/drbd/drbd_worker.c
@@ -926,7 +926,7 @@ int w_e_end_data_req(struct drbd_work *w, int cancel)
926 dev_err(DEV, "Sending NegDReply. sector=%llus.\n", 926 dev_err(DEV, "Sending NegDReply. sector=%llus.\n",
927 (unsigned long long)peer_req->i.sector); 927 (unsigned long long)peer_req->i.sector);
928 928
929 ok = drbd_send_ack(mdev, P_NEG_DREPLY, peer_req); 929 ok = !drbd_send_ack(mdev, P_NEG_DREPLY, peer_req);
930 } 930 }
931 931
932 dec_unacked(mdev); 932 dec_unacked(mdev);
@@ -962,7 +962,7 @@ int w_e_end_rsdata_req(struct drbd_work *w, int cancel)
962 } 962 }
963 963
964 if (mdev->state.conn == C_AHEAD) { 964 if (mdev->state.conn == C_AHEAD) {
965 ok = drbd_send_ack(mdev, P_RS_CANCEL, peer_req); 965 ok = !drbd_send_ack(mdev, P_RS_CANCEL, peer_req);
966 } else if (likely((peer_req->flags & EE_WAS_ERROR) == 0)) { 966 } else if (likely((peer_req->flags & EE_WAS_ERROR) == 0)) {
967 if (likely(mdev->state.pdsk >= D_INCONSISTENT)) { 967 if (likely(mdev->state.pdsk >= D_INCONSISTENT)) {
968 inc_rs_pending(mdev); 968 inc_rs_pending(mdev);
@@ -978,7 +978,7 @@ int w_e_end_rsdata_req(struct drbd_work *w, int cancel)
978 dev_err(DEV, "Sending NegRSDReply. sector %llus.\n", 978 dev_err(DEV, "Sending NegRSDReply. sector %llus.\n",
979 (unsigned long long)peer_req->i.sector); 979 (unsigned long long)peer_req->i.sector);
980 980
981 ok = drbd_send_ack(mdev, P_NEG_RS_DREPLY, peer_req); 981 ok = !drbd_send_ack(mdev, P_NEG_RS_DREPLY, peer_req);
982 982
983 /* update resync data with failure */ 983 /* update resync data with failure */
984 drbd_rs_failed_io(mdev, peer_req->i.sector, peer_req->i.size); 984 drbd_rs_failed_io(mdev, peer_req->i.sector, peer_req->i.size);
@@ -1034,7 +1034,7 @@ int w_e_end_csum_rs_req(struct drbd_work *w, int cancel)
1034 drbd_set_in_sync(mdev, peer_req->i.sector, peer_req->i.size); 1034 drbd_set_in_sync(mdev, peer_req->i.sector, peer_req->i.size);
1035 /* rs_same_csums unit is BM_BLOCK_SIZE */ 1035 /* rs_same_csums unit is BM_BLOCK_SIZE */
1036 mdev->rs_same_csum += peer_req->i.size >> BM_BLOCK_SHIFT; 1036 mdev->rs_same_csum += peer_req->i.size >> BM_BLOCK_SHIFT;
1037 ok = drbd_send_ack(mdev, P_RS_IS_IN_SYNC, peer_req); 1037 ok = !drbd_send_ack(mdev, P_RS_IS_IN_SYNC, peer_req);
1038 } else { 1038 } else {
1039 inc_rs_pending(mdev); 1039 inc_rs_pending(mdev);
1040 peer_req->block_id = ID_SYNCER; /* By setting block_id, digest pointer becomes invalid! */ 1040 peer_req->block_id = ID_SYNCER; /* By setting block_id, digest pointer becomes invalid! */
@@ -1043,7 +1043,7 @@ int w_e_end_csum_rs_req(struct drbd_work *w, int cancel)
1043 ok = drbd_send_block(mdev, P_RS_DATA_REPLY, peer_req); 1043 ok = drbd_send_block(mdev, P_RS_DATA_REPLY, peer_req);
1044 } 1044 }
1045 } else { 1045 } else {
1046 ok = drbd_send_ack(mdev, P_NEG_RS_DREPLY, peer_req); 1046 ok = !drbd_send_ack(mdev, P_NEG_RS_DREPLY, peer_req);
1047 if (__ratelimit(&drbd_ratelimit_state)) 1047 if (__ratelimit(&drbd_ratelimit_state))
1048 dev_err(DEV, "Sending NegDReply. I guess it gets messy.\n"); 1048 dev_err(DEV, "Sending NegDReply. I guess it gets messy.\n");
1049 } 1049 }