In case some buffers need to be moved because of segment growth
from req_capsule_server_grow(), just set buflen to old length
before actually calling lustre_grow_msg().
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: I6707927a0f24c0637dbc79aa91788122a84ab8c4
Reviewed-on: https://review.whamcloud.com/38701
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
/* Now we need only buffers, copy them and grow the needed one */
to = lustre_msg_buf(nrs->rs_msg, 0, 0);
from = lustre_msg_buf(rs->rs_msg, 0, 0);
- len = (char *)rs->rs_msg + lustre_packed_msg_size(rs->rs_msg) - from;
- memcpy(to, from, len);
+ memcpy(to, from,
+ (char *)rs->rs_msg + lustre_packed_msg_size(rs->rs_msg) - from);
+ lustre_msg_set_buflen(nrs->rs_msg, offset, len);
pill->rc_req->rq_replen = lustre_grow_msg(nrs->rs_msg, offset, newlen);
if (rs->rs_difficult) {