Whamcloud - gitweb
- converting {seq|fld}_client_rpc() to new req-layout.
authoryury <yury>
Tue, 1 Aug 2006 16:47:09 +0000 (16:47 +0000)
committeryury <yury>
Tue, 1 Aug 2006 16:47:09 +0000 (16:47 +0000)
lustre/fid/fid_request.c
lustre/fld/fld_request.c

index 050a1f2..feb2b53 100644 (file)
@@ -47,7 +47,6 @@
 #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,
@@ -57,6 +56,7 @@ seq_client_rpc(struct lu_client_seq *seq,
         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;
@@ -68,7 +68,12 @@ seq_client_rpc(struct lu_client_seq *seq,
         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);
@@ -80,9 +85,7 @@ seq_client_rpc(struct lu_client_seq *seq,
         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);
@@ -94,6 +97,7 @@ seq_client_rpc(struct lu_client_seq *seq,
         
         EXIT;
 out_req:
+        req_capsule_fini(&pill);
         ptlrpc_req_finished(req); 
         return rc;
 }
index e2fc9f2..4ffe7b2 100644 (file)
@@ -322,7 +322,6 @@ fld_client_fini(struct lu_client_fld *fld)
 }
 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)
@@ -330,6 +329,7 @@ fld_client_rpc(struct obd_export *exp,
         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;
@@ -342,10 +342,15 @@ fld_client_rpc(struct obd_export *exp,
         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);
@@ -355,12 +360,17 @@ fld_client_rpc(struct obd_export *exp,
         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