summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
2765933)
Convert out_handle() use use a BULK_BUF_KIOV rather than
a BULK_BUF_KVEC.
This is a step towards removed KVEC support and standardizing
on KIOV.
Signed-off-by: Mr NeilBrown <neilb@suse.de>
Change-Id: I3f5b1b06183a716ba57d6f7f2a28bf5aa0f76dfe
Reviewed-on: https://review.whamcloud.com/36826
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Shaun Tancheff <shaun.tancheff@hpe.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Mike Pershin <mpershin@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
update_bufs[0] = ouh->ouh_inline_data;
} else {
struct out_update_buffer *tmp;
update_bufs[0] = ouh->ouh_inline_data;
} else {
struct out_update_buffer *tmp;
oub = req_capsule_client_get(pill, &RMF_OUT_UPDATE_BUF);
if (oub == NULL)
GOTO(out_free, rc = err_serious(-EPROTO));
oub = req_capsule_client_get(pill, &RMF_OUT_UPDATE_BUF);
if (oub == NULL)
GOTO(out_free, rc = err_serious(-EPROTO));
- desc = ptlrpc_prep_bulk_exp(pill->rc_req, update_buf_count,
+ for (i = 0; i < update_buf_count; i++)
+ /* First *and* last might be partial pages, hence +1 */
+ page_count += DIV_ROUND_UP(oub[i].oub_size,
+ PAGE_SIZE) + 1;
+
+ desc = ptlrpc_prep_bulk_exp(pill->rc_req, page_count,
PTLRPC_BULK_OPS_COUNT,
PTLRPC_BULK_GET_SINK |
PTLRPC_BULK_OPS_COUNT,
PTLRPC_BULK_GET_SINK |
- &ptlrpc_bulk_kvec_ops);
+ &ptlrpc_bulk_kiov_nopin_ops);
if (desc == NULL)
GOTO(out_free, rc = err_serious(-ENOMEM));
if (desc == NULL)
GOTO(out_free, rc = err_serious(-ENOMEM));