diff options
| author | Amar Tumballi <amarts@redhat.com> | 2012-05-24 12:58:04 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2012-05-24 17:32:32 -0700 | 
| commit | 89b3466373191b7d2f0001778308b2393ea74da6 (patch) | |
| tree | 00a69678ad54be29d9b487c2f01a70ffeaeceef7 /rpc/rpc-transport/socket/src | |
| parent | 9f81eb0b24f27ea9797bb8a4ff062e6f77e872fd (diff) | |
rpc: fix the vecsizer issue
* currently, we needed 'base-address' of the header for glusterfs
  writev vecsizer and 'current-address' of the buffer which is
  reading the data on socket, for nfs write vecsizer.
* nfs write issues started coming after http://review.gluster.com/3182
  was pushed into repo, now fixed.
* fixed by sending both as argument for vecsizer from the transport
Change-Id: I6db360ce265ce5f083f1794ebdb3867f8cfad9ec
Signed-off-by: Amar Tumballi <amarts@redhat.com>
BUG: 824472
Reviewed-on: http://review.gluster.com/3431
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'rpc/rpc-transport/socket/src')
| -rw-r--r-- | rpc/rpc-transport/socket/src/socket.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/rpc/rpc-transport/socket/src/socket.c b/rpc/rpc-transport/socket/src/socket.c index 5e65755d813..2476b13f7ee 100644 --- a/rpc/rpc-transport/socket/src/socket.c +++ b/rpc/rpc-transport/socket/src/socket.c @@ -875,7 +875,8 @@ sp_state_read_verfbytes:                  proghdr_buf = priv->incoming.frag.fragcurrent;                  priv->incoming.frag.call_body.request.vector_sizer_state =                          vector_sizer (priv->incoming.frag.call_body.request.vector_sizer_state, -                                      &readsize, proghdr_buf); +                                      &readsize, proghdr_buf, +                                      priv->incoming.frag.fragcurrent);                  __socket_proto_init_pending (priv, readsize);                  priv->incoming.frag.call_body.request.vector_state                          = SP_STATE_READING_PROGHDR; @@ -887,7 +888,8 @@ sp_state_read_verfbytes:  sp_state_reading_proghdr:                  priv->incoming.frag.call_body.request.vector_sizer_state =                          vector_sizer (priv->incoming.frag.call_body.request.vector_sizer_state, -                                      &readsize, proghdr_buf); +                                      &readsize, proghdr_buf, +                                      priv->incoming.frag.fragcurrent);                  if (readsize == 0) {                          priv->incoming.frag.call_body.request.vector_state =                                  SP_STATE_READ_PROGHDR;  | 
