mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Philipp Reisner <philipp.reisner@linbit.com>
To: linux-kernel@vger.kernel.org, Jens Axboe <axboe@kernel.dk>
Cc: drbd-dev@lists.linbit.com
Subject: [PATCH 04/54] drbd: _conn_send_cmd(): Return 0 upon success and an error code otherwise
Date: Mon,  5 Sep 2011 13:44:55 +0200	[thread overview]
Message-ID: <1315223145-20640-5-git-send-email-philipp.reisner@linbit.com> (raw)
In-Reply-To: <1315223145-20640-1-git-send-email-philipp.reisner@linbit.com>

From: Andreas Gruenbacher <agruen@linbit.com>

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
---
 drivers/block/drbd/drbd_int.h      |    2 +-
 drivers/block/drbd/drbd_main.c     |   17 +++++++----------
 drivers/block/drbd/drbd_receiver.c |    6 +++---
 3 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h
index 32799ea..9badc52 100644
--- a/drivers/block/drbd/drbd_int.h
+++ b/drivers/block/drbd/drbd_int.h
@@ -1926,7 +1926,7 @@ static inline int _drbd_send_cmd(struct drbd_conf *mdev, struct socket *sock,
 				  enum drbd_packet cmd, struct p_header *h, size_t size,
 				  unsigned msg_flags)
 {
-	return _conn_send_cmd(mdev->tconn, mdev->vnr, sock, cmd, h, size, msg_flags);
+	return !_conn_send_cmd(mdev->tconn, mdev->vnr, sock, cmd, h, size, msg_flags);
 }
 
 static inline int drbd_send_cmd(struct drbd_conf *mdev, int use_data_socket,
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c
index 79389bf..58141ba 100644
--- a/drivers/block/drbd/drbd_main.c
+++ b/drivers/block/drbd/drbd_main.c
@@ -723,17 +723,14 @@ int _conn_send_cmd(struct drbd_tconn *tconn, int vnr, struct socket *sock,
 		   enum drbd_packet cmd, struct p_header *h, size_t size,
 		   unsigned msg_flags)
 {
-	int sent, ok;
+	int err;
 
 	_prepare_header(tconn, vnr, h, cmd, size - sizeof(struct p_header));
-
-	sent = drbd_send(tconn, sock, h, size, msg_flags);
-
-	ok = (sent == size);
-	if (!ok && !signal_pending(current))
-		conn_warn(tconn, "short sent %s size=%d sent=%d\n",
-			  cmdname(cmd), (int)size, sent);
-	return ok;
+	err = drbd_send_all(tconn, sock, h, size, msg_flags);
+	if (err && !signal_pending(current))
+		conn_warn(tconn, "short send %s size=%d\n",
+			  cmdname(cmd), (int)size);
+	return err;
 }
 
 /* don't pass the socket. we may only look at it
@@ -756,7 +753,7 @@ int conn_send_cmd(struct drbd_tconn *tconn, int vnr, int use_data_socket,
 	/* drbd_disconnect() could have called drbd_free_sock()
 	 * while we were waiting in down()... */
 	if (likely(sock != NULL))
-		ok = _conn_send_cmd(tconn, vnr, sock, cmd, h, size, 0);
+		ok = !_conn_send_cmd(tconn, vnr, sock, cmd, h, size, 0);
 
 	if (use_data_socket)
 		mutex_unlock(&tconn->data.mutex);
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index e7e6ed6..7431e3c 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -711,7 +711,7 @@ static int drbd_send_fp(struct drbd_tconn *tconn, struct socket *sock, enum drbd
 {
 	struct p_header *h = &tconn->data.sbuf.header;
 
-	return _conn_send_cmd(tconn, 0, sock, cmd, h, sizeof(*h), 0);
+	return !_conn_send_cmd(tconn, 0, sock, cmd, h, sizeof(*h), 0);
 }
 
 static enum drbd_packet drbd_recv_fp(struct drbd_tconn *tconn, struct socket *sock)
@@ -4148,8 +4148,8 @@ static int drbd_send_handshake(struct drbd_tconn *tconn)
 	memset(p, 0, sizeof(*p));
 	p->protocol_min = cpu_to_be32(PRO_VERSION_MIN);
 	p->protocol_max = cpu_to_be32(PRO_VERSION_MAX);
-	ok = _conn_send_cmd(tconn, 0, tconn->data.socket, P_HAND_SHAKE,
-			    &p->head, sizeof(*p), 0);
+	ok = !_conn_send_cmd(tconn, 0, tconn->data.socket, P_HAND_SHAKE,
+			     &p->head, sizeof(*p), 0);
 	mutex_unlock(&tconn->data.mutex);
 	return ok;
 }
-- 
1.7.4.1


  parent reply	other threads:[~2011-09-05 11:52 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-05 11:44 [RFC 00/54] drbd: part 6 of adding multiple volume support to drbd Philipp Reisner
2011-09-05 11:44 ` [PATCH 01/54] drbd: drbd_get_data_sock(): Return 0 upon success and an error code otherwise Philipp Reisner
2011-09-05 11:44 ` [PATCH 02/54] drbd: Add drbd_send_all(): Send an entire buffer Philipp Reisner
2011-09-05 11:44 ` [PATCH 03/54] drbd: conn_send_cmd2(): Return 0 upon success and an error code otherwise Philipp Reisner
2011-09-05 11:44 ` Philipp Reisner [this message]
2011-09-05 11:44 ` [PATCH 05/54] drbd: _drbd_send_cmd(): " Philipp Reisner
2011-09-05 11:44 ` [PATCH 06/54] drbd: conn_send_cmd(): " Philipp Reisner
2011-09-05 11:44 ` [PATCH 07/54] drbd: Get rid of USE_DATA_SOCKET and USE_META_SOCKET Philipp Reisner
2011-09-05 11:44 ` [PATCH 08/54] drbd: drbd_send_cmd(): Return 0 upon success and an error code otherwise Philipp Reisner
2011-09-05 11:45 ` [PATCH 09/54] drbd: drbd_send_sync_param(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 10/54] drbd: drbd_send_state(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 11/54] drbd: drbd_send_handshake(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 12/54] drbd: drbd_send_protocol(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 13/54] drbd: drbd_send_uuids() and its variants: " Philipp Reisner
2011-09-05 11:45 ` [PATCH 14/54] drbd: drbd_gen_and_send_sync_uuid(): Return void: the result is never used Philipp Reisner
2011-09-05 11:45 ` [PATCH 15/54] drbd: drbd_send_sizes(): Return 0 upon success and an error code otherwise Philipp Reisner
2011-09-05 11:45 ` [PATCH 16/54] drbd: _conn_send_state_req(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 17/54] drbd: conn_send_state_req(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 18/54] drbd: drbd_send_state_req(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 19/54] drbd: drbd_send_sr_reply(): Return void: the result is never used Philipp Reisner
2011-09-05 11:45 ` [PATCH 20/54] drbd: drbd_send_b_ack(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 21/54] drbd: _drbd_send_ack(): Return 0 upon success and an error code otherwise Philipp Reisner
2011-09-05 11:45 ` [PATCH 22/54] drbd: drbd_send_ack(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 23/54] drbd: drbd_send_ack_{dp,rp}(): Return void: the result is never used Philipp Reisner
2011-09-05 11:45 ` [PATCH 24/54] drbd: drbd_send_ack_ex(): Return 0 upon success and an error code otherwise Philipp Reisner
2011-09-05 11:45 ` [PATCH 25/54] drbd: drbd_send_drequest(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 26/54] drbd: drbd_send_drequest_csum(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 27/54] drbd: drbd_send_oos(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 28/54] drbd: _drbd_no_send_page(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 29/54] drbd: _drbd_send_page(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 30/54] drbd: _drbd_send_zc_ee(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 31/54] drbd: drbd_send_block(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 32/54] drbd: _drbd_send_bio(), _drbd_send_zc_bio(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 33/54] drbd: drbd_send_dblock(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 34/54] drbd: drbd_send_short_cmd(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 35/54] drbd: Temporarily change the return type of all worker callbacks Philipp Reisner
2011-09-05 11:45 ` [PATCH 36/54] drbd: Make all worker callbacks return 0 upon success and an error code otherwise Philipp Reisner
2011-09-05 11:45 ` [PATCH 37/54] drbd: drbd_process_done_ee(): Return " Philipp Reisner
2011-09-05 11:45 ` [PATCH 38/54] drbd: decode_header(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 39/54] drbd: drbd_recv_header(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 40/54] drbd: drbd_drain_block(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 41/54] drbd: recv_dless_read(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 42/54] drbd: recv_resync_read(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 43/54] drbd: send_bitmap_rle_or_plain(): Error handling cleanup Philipp Reisner
2011-09-05 11:45 ` [PATCH 44/54] drbd: Add drbd_recv_all(): Receive an entire buffer Philipp Reisner
2011-09-05 11:45 ` [PATCH 45/54] drbd: Make all command handlers return 0 upon success and an error code otherwise Philipp Reisner
2011-09-05 11:45 ` [PATCH 46/54] drbd: drbd_bm_read() never returns a positive value through drbd_bitmap_io() Philipp Reisner
2011-09-05 11:45 ` [PATCH 47/54] drbd: _drbd_md_sync_page_io(): Return 0 upon success and an error code otherwise Philipp Reisner
2011-09-05 11:45 ` [PATCH 48/54] drbd: drbd_md_sync_page_io(): " Philipp Reisner
2011-09-05 11:45 ` [PATCH 49/54] drbd: Remove duplicate initialization Philipp Reisner
2011-09-05 11:45 ` [PATCH 50/54] drbd: Remove unnecessary assertion Philipp Reisner
2011-09-05 11:45 ` [PATCH 51/54] drbd: drbd_may_do_local_read(): Use bool/true/false Philipp Reisner
2011-09-05 11:45 ` [PATCH 52/54] drbd: Rename various functions from *_oos_* to *_out_of_sync_* for clarity Philipp Reisner
2011-09-05 11:45 ` [PATCH 53/54] drbd: Get rid of typedef drbd_work_cb Philipp Reisner
2011-09-05 11:45 ` [PATCH 54/54] drbd: Introduce and use drbd_recv_all_warn() Philipp Reisner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1315223145-20640-5-git-send-email-philipp.reisner@linbit.com \
    --to=philipp.reisner@linbit.com \
    --cc=axboe@kernel.dk \
    --cc=drbd-dev@lists.linbit.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®