Version: 1
-Previous: 50e150de91d49ec41ade9dd494116386c46fb1a2
-Head: 6018dff3bec9f70b2c1373af7919bc7f768356ad
+Previous: aa7c2f8d1038005d1cdc31395bdbceaf39750c48
+Head: 2c9b217c2919e0135a4718d91a8be010067a6f28
Applied:
destroy_cqs: 66410c265b2661e16b7f6126bcc4ea5c7e1af1bd
conn-err: ac46465ae6061b06f005ba9b49b371c9eb0d2325
rstream-bufsize: 76a7691690cd14c123b4a3125598134edd567e1f
rs-def-qpsize: 6895cd6a4d77d7f0c212af73ff4741c5c251b9e6
rs-1sge: 6018dff3bec9f70b2c1373af7919bc7f768356ad
+ refresh-temp: 2c9b217c2919e0135a4718d91a8be010067a6f28
Unapplied:
rs-def-inline: 50d6a49950b5ffc77b971e60c80045c5d70bda2b
acm-sock: 11767dd5ff9823ee43369fd19a9c624ac4397360
--- /dev/null
+Bottom: e8c78258fd1389fa7012b47fe14a62c9d0472281
+Top: dbf2268a62da8784c6ab9033fc297c6d57babbda
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2012-05-27 23:55:11 -0700
+
+Refresh of rs-1sge
+
+---
+
+diff --git a/src/rsocket.c b/src/rsocket.c
+index 529c3b0..e480bfd 100644
+--- a/src/rsocket.c
++++ b/src/rsocket.c
+@@ -1128,8 +1128,12 @@ ssize_t rsend(int socket, const void *buf, size_t len, int flags)
+ xfer_size = rs->sbuf_bytes_avail;
+ if (xfer_size > rs->target_sgl[rs->target_sge].length)
+ xfer_size = rs->target_sgl[rs->target_sge].length;
+- if (xfer_size > rs_sbuf_left(rs))
+- xfer_size = rs_sbuf_left(rs);
++ if (xfer_size > rs_sbuf_left(rs)) {
++ if (xfer_size <= rs->sbuf_bytes_avail - rs_sbuf(left(rs)))
++ rs->ssge.addr = (uintptr_t) rs->sbuf;
++ else
++ xfer_size = rs_sbuf_left(rs);
++ }
+
+ if (xfer_size <= rs->sq_inline) {
+ sge.addr = (uintptr_t) buf;