#include <lustre_fid.h>
#include "fid_internal.h"
-/* XXX: this should use new req-layout interface */
static int
seq_client_rpc(struct lu_client_seq *seq,
struct lu_range *range,
int repsize = sizeof(struct lu_range);
int rc, reqsize = sizeof(__u32);
struct ptlrpc_request *req;
+ struct req_capsule pill;
struct lu_range *ran;
__u32 *op;
ENTRY;
if (req == NULL)
RETURN(-ENOMEM);
- op = lustre_msg_buf(req->rq_reqmsg, 0, sizeof(*op));
+ req_capsule_init(&pill, req, RCL_CLIENT,
+ &repsize);
+
+ req_capsule_set(&pill, &RQF_SEQ_QUERY);
+
+ op = req_capsule_client_get(&pill, &RMF_SEQ_OPC);
*op = opc;
req->rq_replen = lustre_msg_size(1, &repsize);
if (rc)
GOTO(out_req, rc);
- ran = lustre_swab_repbuf(req, 0, sizeof(*ran),
- lustre_swab_lu_range);
-
+ ran = req_capsule_server_get(&pill, &RMF_SEQ_RANGE);
if (ran == NULL) {
CERROR("invalid range is returned\n");
GOTO(out_req, rc = -EPROTO);
EXIT;
out_req:
+ req_capsule_fini(&pill);
ptlrpc_req_finished(req);
return rc;
}
}
EXPORT_SYMBOL(fld_client_fini);
-/* XXX: this should use new req-layout interface. */
static int
fld_client_rpc(struct obd_export *exp,
struct md_fld *mf, __u32 fld_op)
int size[2] = {sizeof(__u32), sizeof(struct md_fld)}, rc;
int mf_size = sizeof(struct md_fld);
struct ptlrpc_request *req;
+ struct req_capsule pill;
struct md_fld *pmf;
__u32 *op;
ENTRY;
if (req == NULL)
RETURN(-ENOMEM);
- op = lustre_msg_buf(req->rq_reqmsg, 0, sizeof (*op));
+ req_capsule_init(&pill, req, RCL_CLIENT,
+ &mf_size);
+
+ req_capsule_set(&pill, &RQF_FLD_QUERY);
+
+ op = req_capsule_client_get(&pill, &RMF_FLD_OPC);
*op = fld_op;
- pmf = lustre_msg_buf(req->rq_reqmsg, 1, sizeof (*pmf));
+ pmf = req_capsule_client_get(&pill, &RMF_FLD_MDFLD);
*pmf = *mf;
req->rq_replen = lustre_msg_size(1, &mf_size);
if (rc)
GOTO(out_req, rc);
- pmf = lustre_swab_repbuf(req, 0, sizeof(*pmf),
- lustre_swab_md_fld);
+ pmf = req_capsule_server_get(&pill, &RMF_FLD_MDFLD);
+ if (pmf == NULL) {
+ CERROR("Can't unpack FLD response\n");
+ GOTO(out_req, rc = -EFAULT);
+ }
*mf = *pmf;
+ EXIT;
out_req:
+ req_capsule_fini(&pill);
ptlrpc_req_finished(req);
- RETURN(rc);
+ return rc;
}
static int