diff options
author | Andreas Gruenbacher <agruen@linbit.com> | 2011-03-16 10:39:08 -0400 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2012-11-08 10:44:38 -0500 |
commit | dd5161218bc514a29e1d8670fe1f3753d5e0f813 (patch) | |
tree | 90032bc3dddb10698cf9effbd750e89191abc792 | |
parent | a8c32aa846cfa271744f1c11fcf425b131137991 (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.c | 8 | ||||
-rw-r--r-- | drivers/block/drbd/drbd_receiver.c | 10 | ||||
-rw-r--r-- | drivers/block/drbd/drbd_worker.c | 10 |
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, | |||
1288 | int drbd_send_ack(struct drbd_conf *mdev, enum drbd_packet cmd, | 1288 | int 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 | } |