aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2017-09-25 13:58:39 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2017-10-11 22:37:49 -0400
commit8ececffa12f5555171075ce52e1226f570836b26 (patch)
tree2830c2aacbf0a9c8a3cbe322939fe92a6ed81a6e /drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
parentlustre: switch struct ksock_conn to iov_iter (diff)
downloadlinux-dev-8ececffa12f5555171075ce52e1226f570836b26.tar.xz
linux-dev-8ececffa12f5555171075ce52e1226f570836b26.zip
switch ksocknal_lib_recv_...() to use of iov_iter_for_each_range()
... and fold kvec and bio_vec variants in one Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c')
-rw-r--r--drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c44
1 files changed, 4 insertions, 40 deletions
diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
index c79aeb463a5c..b12c3b0f39e1 100644
--- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
+++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd_cb.c
@@ -249,16 +249,16 @@ ksocknal_transmit(struct ksock_conn *conn, struct ksock_tx *tx)
}
static int
-ksocknal_recv_iov(struct ksock_conn *conn)
+ksocknal_recv_iter(struct ksock_conn *conn)
{
int nob;
int rc;
/*
* Never touch conn->ksnc_rx_to or change connection
- * status inside ksocknal_lib_recv_iov
+ * status inside ksocknal_lib_recv
*/
- rc = ksocknal_lib_recv_iov(conn);
+ rc = ksocknal_lib_recv(conn);
if (rc <= 0)
return rc;
@@ -278,38 +278,6 @@ ksocknal_recv_iov(struct ksock_conn *conn)
if (iov_iter_count(&conn->ksnc_rx_to))
return -EAGAIN;
- return rc;
-}
-
-static int
-ksocknal_recv_kiov(struct ksock_conn *conn)
-{
- int nob;
- int rc;
-
- /*
- * Never touch conn->ksnc_rx_to or change connection
- * status inside ksocknal_lib_recv_iov
- */
- rc = ksocknal_lib_recv_kiov(conn);
-
- if (rc <= 0)
- return rc;
-
- /* received something... */
- nob = rc;
-
- conn->ksnc_peer->ksnp_last_alive = cfs_time_current();
- conn->ksnc_rx_deadline =
- cfs_time_shift(*ksocknal_tunables.ksnd_timeout);
- mb(); /* order with setting rx_started */
- conn->ksnc_rx_started = 1;
-
- conn->ksnc_rx_nob_left -= nob;
- iov_iter_advance(&conn->ksnc_rx_to, nob);
- if (iov_iter_count(&conn->ksnc_rx_to))
- return -EAGAIN;
-
return 1;
}
@@ -335,11 +303,7 @@ ksocknal_receive(struct ksock_conn *conn)
}
for (;;) {
- if (conn->ksnc_rx_to.type & ITER_KVEC)
- rc = ksocknal_recv_iov(conn);
- else
- rc = ksocknal_recv_kiov(conn);
-
+ rc = ksocknal_recv_iter(conn);
if (rc <= 0) {
/* error/EOF or partial receive */
if (rc == -EAGAIN) {