From 2a4939b730f18f9c661d3c9184d4a12b323d9d49 Mon Sep 17 00:00:00 2001 From: wangdi Date: Thu, 13 Apr 2006 14:09:47 +0000 Subject: [PATCH] Branch: b_new_cmd prototype of fld --- lustre/mdc/mdc_lib.c | 11 +++++++++++ lustre/mdc/mdc_reint.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+) diff --git a/lustre/mdc/mdc_lib.c b/lustre/mdc/mdc_lib.c index c26263d..d00f555 100644 --- a/lustre/mdc/mdc_lib.c +++ b/lustre/mdc/mdc_lib.c @@ -75,6 +75,17 @@ void mdc_pack_req_body(struct ptlrpc_request *req, int offset, mdc_pack_body(b); } +#ifdef FLD_PROTO_TYPE +void mdc_fld_pack(struct ptlrpc_request *req, int offset, __u64 mds_num, + __u64 seq_num, int op) +{ + struct mdt_body *b = lustre_msg_buf(req->rq_reqmsg, offset, sizeof(*b)); + + b->size = seq_num; + b->valid = mds_num; + b->fsuid = op; +} +#endif /* packing of MDS records */ void mdc_create_pack(struct ptlrpc_request *req, int offset, struct mdc_op_data *op_data, const void *data, int datalen, diff --git a/lustre/mdc/mdc_reint.c b/lustre/mdc/mdc_reint.c index 9b1f7fa..30934ce4 100644 --- a/lustre/mdc/mdc_reint.c +++ b/lustre/mdc/mdc_reint.c @@ -155,6 +155,35 @@ int mdc_create(struct obd_export *exp, struct mdc_op_data *op_data, RETURN(rc); } +#ifdef FLD_PROTO_TYPE +int mdc_fld_req(struct obd_export *exp, __u64 mds_num, __u64 seq_num, int op) +{ + struct obd_device *obd = exp->exp_obd; + struct ptlrpc_request *req; + int size[] = { sizeof(struct mdt_body)}; + int rc, level, bufcount = 1; + ENTRY; + + req = ptlrpc_prep_req(class_exp2cliimp(exp), LUSTRE_MDS_VERSION, + MDS_FLD_OP, bufcount, size, NULL); + if (req == NULL) + RETURN(-ENOMEM); + + /* mdc_create_pack fills msg->bufs[1] with name + * and msg->bufs[2] with tgt, for symlinks or lov MD data */ + mdc_fld_pack(req, MDS_REQ_REC_OFF, mds_num, seq_num, op); + + size[0] = sizeof(struct mdt_body); + req->rq_replen = lustre_msg_size(1, size); + + level = LUSTRE_IMP_FULL; + rc = mdc_reint(req, obd->u.cli.cl_rpc_lock, level); + + ptlrpc_req_finished(req); + RETURN(rc); +} +#endif + int mdc_unlink(struct obd_export *exp, struct mdc_op_data *data, struct ptlrpc_request **request) { -- 1.8.3.1