/* size[REQ_REC_OFF] still sizeof (*body) */
if (opc == OST_WRITE) {
- if (unlikely(cli->cl_checksum)) {
+ if (unlikely(cli->cl_checksum) &&
+ req->rq_flvr.sf_bulk_csum == BULK_CSUM_ALG_NULL) {
body->oa.o_valid |= OBD_MD_FLCKSUM;
body->oa.o_cksum = osc_checksum_bulk(requested_nob,
page_count, pga,
size[REPLY_REC_OFF + 1] = sizeof(__u32) * niocount;
ptlrpc_req_set_repsize(req, 3, size);
} else {
- if (unlikely(cli->cl_checksum))
+ if (unlikely(cli->cl_checksum) &&
+ req->rq_flvr.sf_bulk_csum == BULK_CSUM_ALG_NULL)
body->oa.o_valid |= OBD_MD_FLCKSUM;
/* 1 RC for the whole I/O */
ptlrpc_req_set_repsize(req, 2, size);
RETURN(rc);
}
-static int osc_reconnect(struct obd_export *exp, struct obd_device *obd,
+static int osc_reconnect(const struct lu_env *env,
+ struct obd_export *exp, struct obd_device *obd,
struct obd_uuid *cluuid,
struct obd_connect_data *data)
{
lprocfs_osc_init_vars(&lvars);
if (lprocfs_obd_setup(obd, lvars.obd_vars) == 0) {
lproc_osc_attach_seqstat(obd);
+ sptlrpc_lprocfs_cliobd_attach(obd);
ptlrpc_lprocfs_register_obd(obd);
}
lprocfs_osc_init_vars(&lvars);
- rc = class_process_proc_param(PARAM_OSC, lvars.obd_vars, lcfg, obd);
+ switch (lcfg->lcfg_command) {
+ case LCFG_SPTLRPC_CONF:
+ rc = sptlrpc_cliobd_process_config(obd, lcfg);
+ break;
+ default:
+ rc = class_process_proc_param(PARAM_OSC, lvars.obd_vars,
+ lcfg, obd);
+ break;
+ }
+
return(rc);
}