Version: 1
-Previous: 0a7d443ec80d14b313409b9f096bea80ff711548
-Head: ec435867dbbf9ce443aeceba22da7898e5e9a1ba
+Previous: 54c88d78f651f97fff418ceaad0af388225155ec
+Head: 0f10d4b30a415b12753f94167f96cb0209badaa1
Applied:
destroy_cqs: 66410c265b2661e16b7f6126bcc4ea5c7e1af1bd
conn-err: ac46465ae6061b06f005ba9b49b371c9eb0d2325
rstream-bufsize: 76a7691690cd14c123b4a3125598134edd567e1f
rs-def-qpsize: 6895cd6a4d77d7f0c212af73ff4741c5c251b9e6
rs-1sge: ec435867dbbf9ce443aeceba22da7898e5e9a1ba
+ refresh-temp: 0f10d4b30a415b12753f94167f96cb0209badaa1
Unapplied:
rs-def-inline: 50d6a49950b5ffc77b971e60c80045c5d70bda2b
acm-sock: 11767dd5ff9823ee43369fd19a9c624ac4397360
--- /dev/null
+Bottom: d6059001f0d2f622720ad871c89e3c1ef4410125
+Top: e9e6fbdeef17d4c02f8c8aa86981e6965cd2d120
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2012-05-28 00:59:49 -0700
+
+Refresh of rs-1sge
+
+---
+
+diff --git a/src/rsocket.c b/src/rsocket.c
+index 5be242f..bd4c8dd 100644
+--- a/src/rsocket.c
++++ b/src/rsocket.c
+@@ -1128,18 +1128,16 @@ 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)) {
+- 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_sbuf_left(rs))
++ xfer_size = rs_sbuf_left(rs);
+
+ if (xfer_size <= rs->sq_inline) {
+ sge.addr = (uintptr_t) buf;
+ sge.length = xfer_size;
+ sge.lkey = 0;
+ ret = rs_write_data(rs, &sge, IBV_SEND_INLINE);
++ if (xfer_size == rs_sbuf_left(rs))
++ rs->ssge.addr = (uintptr_t) rs->sbuf;
+ } else {
+ memcpy((void *) (uintptr_t) rs->ssge.addr, buf, xfer_size);
+ rs->ssge.length = xfer_size;