drbd: drbd_send_drequest_csum(): 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>
This commit is contained in:
Andreas Gruenbacher 2011-03-16 01:37:21 +01:00 committed by Philipp Reisner
parent 6c1005e74d
commit db1b0b724e
2 changed files with 11 additions and 13 deletions

View File

@ -1320,7 +1320,7 @@ int drbd_send_drequest(struct drbd_conf *mdev, int cmd,
int drbd_send_drequest_csum(struct drbd_conf *mdev, sector_t sector, int size, int drbd_send_drequest_csum(struct drbd_conf *mdev, sector_t sector, int size,
void *digest, int digest_size, enum drbd_packet cmd) void *digest, int digest_size, enum drbd_packet cmd)
{ {
int ok; int err;
struct p_block_req p; struct p_block_req p;
prepare_header(mdev, &p.head, cmd, sizeof(p) - sizeof(struct p_header) + digest_size); prepare_header(mdev, &p.head, cmd, sizeof(p) - sizeof(struct p_header) + digest_size);
@ -1329,13 +1329,11 @@ int drbd_send_drequest_csum(struct drbd_conf *mdev, sector_t sector, int size,
p.blksize = cpu_to_be32(size); p.blksize = cpu_to_be32(size);
mutex_lock(&mdev->tconn->data.mutex); mutex_lock(&mdev->tconn->data.mutex);
err = drbd_send_all(mdev->tconn, mdev->tconn->data.socket, &p, sizeof(p), 0);
ok = (sizeof(p) == drbd_send(mdev->tconn, mdev->tconn->data.socket, &p, sizeof(p), 0)); if (!err)
ok = ok && (digest_size == drbd_send(mdev->tconn, mdev->tconn->data.socket, digest, digest_size, 0)); err = drbd_send_all(mdev->tconn, mdev->tconn->data.socket, digest, digest_size, 0);
mutex_unlock(&mdev->tconn->data.mutex); mutex_unlock(&mdev->tconn->data.mutex);
return err;
return ok;
} }
int drbd_send_ov_request(struct drbd_conf *mdev, sector_t sector, int size) int drbd_send_ov_request(struct drbd_conf *mdev, sector_t sector, int size)

View File

@ -324,9 +324,9 @@ static int w_e_send_csum(struct drbd_work *w, int cancel)
drbd_free_ee(mdev, peer_req); drbd_free_ee(mdev, peer_req);
peer_req = NULL; peer_req = NULL;
inc_rs_pending(mdev); inc_rs_pending(mdev);
ok = drbd_send_drequest_csum(mdev, sector, size, ok = !drbd_send_drequest_csum(mdev, sector, size,
digest, digest_size, digest, digest_size,
P_CSUM_RS_REQUEST); P_CSUM_RS_REQUEST);
kfree(digest); kfree(digest);
} else { } else {
dev_err(DEV, "kmalloc() of digest failed.\n"); dev_err(DEV, "kmalloc() of digest failed.\n");
@ -1089,9 +1089,9 @@ int w_e_end_ov_req(struct drbd_work *w, int cancel)
drbd_free_ee(mdev, peer_req); drbd_free_ee(mdev, peer_req);
peer_req = NULL; peer_req = NULL;
inc_rs_pending(mdev); inc_rs_pending(mdev);
ok = drbd_send_drequest_csum(mdev, sector, size, ok = !drbd_send_drequest_csum(mdev, sector, size,
digest, digest_size, digest, digest_size,
P_OV_REPLY); P_OV_REPLY);
if (!ok) if (!ok)
dec_rs_pending(mdev); dec_rs_pending(mdev);
kfree(digest); kfree(digest);