Whamcloud - gitweb
LU-4961 lustre: remove liblustre.h and obd.h from userspace
[fs/lustre-release.git] / lustre / ptlrpc / layout.c
index 0c5f148..af36c72 100644 (file)
 #include <lustre/lustre_idl.h>
 /* obd2cli_tgt() (required by DEBUG_REQ()) */
 #include <obd.h>
+#include <lustre_debug.h>
+#include <lustre_update.h>
+#endif /* !__REQ_LAYOUT_USER__ */
 
-/* __REQ_LAYOUT_USER__ */
-#endif
 /* struct ptlrpc_request, lustre_msg* */
 #include <lustre_req_layout.h>
-#include <lustre_update.h>
 #include <lustre_acl.h>
-#include <lustre_debug.h>
 
 /*
  * RQFs (see below) refer to two struct req_msg_field arrays describing the
@@ -184,6 +183,16 @@ static const struct req_msg_field *fld_query_server[] = {
         &RMF_FLD_MDFLD
 };
 
+static const struct req_msg_field *fld_read_client[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_FLD_MDFLD
+};
+
+static const struct req_msg_field *fld_read_server[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_GENERIC_DATA
+};
+
 static const struct req_msg_field *mds_getattr_name_client[] = {
         &RMF_PTLRPC_BODY,
         &RMF_MDT_BODY,
@@ -299,7 +308,8 @@ static const struct req_msg_field *mds_reint_setxattr_client[] = {
         &RMF_REC_REINT,
         &RMF_CAPA1,
         &RMF_NAME,
-        &RMF_EADATA
+        &RMF_EADATA,
+       &RMF_DLM_REQ
 };
 
 static const struct req_msg_field *mdt_swap_layouts[] = {
@@ -519,12 +529,12 @@ static const struct req_msg_field *mds_setattr_server[] = {
 
 static const struct req_msg_field *mds_update_client[] = {
        &RMF_PTLRPC_BODY,
-       &RMF_UPDATE,
+       &RMF_OUT_UPDATE,
 };
 
 static const struct req_msg_field *mds_update_server[] = {
        &RMF_PTLRPC_BODY,
-       &RMF_UPDATE_REPLY,
+       &RMF_OUT_UPDATE_REPLY,
 };
 
 static const struct req_msg_field *llog_origin_handle_create_client[] = {
@@ -609,7 +619,7 @@ static const struct req_msg_field *ost_get_info_generic_server[] = {
 
 static const struct req_msg_field *ost_get_info_generic_client[] = {
         &RMF_PTLRPC_BODY,
-        &RMF_SETINFO_KEY
+       &RMF_GETINFO_KEY
 };
 
 static const struct req_msg_field *ost_get_last_id_server[] = {
@@ -617,6 +627,12 @@ static const struct req_msg_field *ost_get_last_id_server[] = {
         &RMF_OBD_ID
 };
 
+static const struct req_msg_field *ost_get_last_fid_client[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_GETINFO_KEY,
+       &RMF_FID,
+};
+
 static const struct req_msg_field *ost_get_last_fid_server[] = {
        &RMF_PTLRPC_BODY,
        &RMF_FID,
@@ -677,6 +693,16 @@ static const struct req_msg_field *mdt_hsm_request[] = {
        &RMF_GENERIC_DATA,
 };
 
+static const struct req_msg_field *obd_lfsck_request[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_LFSCK_REQUEST,
+};
+
+static const struct req_msg_field *obd_lfsck_reply[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_LFSCK_REPLY,
+};
+
 static struct req_format *req_formats[] = {
         &RQF_OBD_PING,
         &RQF_OBD_SET_INFO,
@@ -687,6 +713,7 @@ static struct req_format *req_formats[] = {
         &RQF_MGS_CONFIG_READ,
         &RQF_SEQ_QUERY,
         &RQF_FLD_QUERY,
+       &RQF_FLD_READ,
         &RQF_MDS_CONNECT,
         &RQF_MDS_DISCONNECT,
         &RQF_MDS_GET_INFO,
@@ -725,7 +752,7 @@ static struct req_format *req_formats[] = {
        &RQF_MDS_HSM_ACTION,
        &RQF_MDS_HSM_REQUEST,
        &RQF_MDS_SWAP_LAYOUTS,
-       &RQF_UPDATE_OBJ,
+       &RQF_OUT_UPDATE,
        &RQF_QC_CALLBACK,
         &RQF_OST_CONNECT,
         &RQF_OST_DISCONNECT,
@@ -741,7 +768,7 @@ static struct req_format *req_formats[] = {
         &RQF_OST_BRW_WRITE,
         &RQF_OST_STATFS,
         &RQF_OST_SET_GRANT_INFO,
-        &RQF_OST_GET_INFO_GENERIC,
+       &RQF_OST_GET_INFO,
         &RQF_OST_GET_INFO_LAST_ID,
        &RQF_OST_GET_INFO_LAST_FID,
        &RQF_OST_SET_INFO_LAST_FID,
@@ -773,6 +800,8 @@ static struct req_format *req_formats[] = {
         &RQF_LLOG_ORIGIN_HANDLE_READ_HEADER,
        &RQF_LLOG_ORIGIN_CONNECT,
        &RQF_CONNECT,
+       &RQF_LFSCK_NOTIFY,
+       &RQF_LFSCK_QUERY,
 };
 
 struct req_msg_field {
@@ -1160,19 +1189,30 @@ struct req_msg_field RMF_MDS_HSM_REQUEST =
                    lustre_swab_hsm_request, NULL);
 EXPORT_SYMBOL(RMF_MDS_HSM_REQUEST);
 
-struct req_msg_field RMF_UPDATE = DEFINE_MSGF("update", 0, -1,
-                                             lustre_swab_update_buf, NULL);
-EXPORT_SYMBOL(RMF_UPDATE);
+struct req_msg_field RMF_OUT_UPDATE = DEFINE_MSGF("object_update", 0, -1,
+                               lustre_swab_object_update_request, NULL);
+EXPORT_SYMBOL(RMF_OUT_UPDATE);
 
-struct req_msg_field RMF_UPDATE_REPLY = DEFINE_MSGF("update_reply", 0, -1,
-                                               lustre_swab_update_reply_buf,
-                                                   NULL);
-EXPORT_SYMBOL(RMF_UPDATE_REPLY);
+struct req_msg_field RMF_OUT_UPDATE_REPLY =
+                       DEFINE_MSGF("object_update_reply", 0, -1,
+                                   lustre_swab_object_update_reply, NULL);
+EXPORT_SYMBOL(RMF_OUT_UPDATE_REPLY);
 
 struct req_msg_field RMF_SWAP_LAYOUTS =
        DEFINE_MSGF("swap_layouts", 0, sizeof(struct  mdc_swap_layouts),
                    lustre_swab_swap_layouts, NULL);
 EXPORT_SYMBOL(RMF_SWAP_LAYOUTS);
+
+struct req_msg_field RMF_LFSCK_REQUEST =
+       DEFINE_MSGF("lfsck_request", 0, sizeof(struct lfsck_request),
+                   lustre_swab_lfsck_request, NULL);
+EXPORT_SYMBOL(RMF_LFSCK_REQUEST);
+
+struct req_msg_field RMF_LFSCK_REPLY =
+       DEFINE_MSGF("lfsck_reply", 0, sizeof(struct lfsck_reply),
+                   lustre_swab_lfsck_reply, NULL);
+EXPORT_SYMBOL(RMF_LFSCK_REPLY);
+
 /*
  * Request formats.
  */
@@ -1244,6 +1284,10 @@ struct req_format RQF_FLD_QUERY =
         DEFINE_REQ_FMT0("FLD_QUERY", fld_query_client, fld_query_server);
 EXPORT_SYMBOL(RQF_FLD_QUERY);
 
+struct req_format RQF_FLD_READ =
+       DEFINE_REQ_FMT0("FLD_READ", fld_read_client, fld_read_server);
+EXPORT_SYMBOL(RQF_FLD_READ);
+
 struct req_format RQF_LOG_CANCEL =
         DEFINE_REQ_FMT0("OBD_LOG_CANCEL", log_cancel_client, empty);
 EXPORT_SYMBOL(RQF_LOG_CANCEL);
@@ -1372,10 +1416,10 @@ struct req_format RQF_MDS_GET_INFO =
                         mds_getinfo_server);
 EXPORT_SYMBOL(RQF_MDS_GET_INFO);
 
-struct req_format RQF_UPDATE_OBJ =
-       DEFINE_REQ_FMT0("OBJECT_UPDATE_OBJ", mds_update_client,
+struct req_format RQF_OUT_UPDATE =
+       DEFINE_REQ_FMT0("OUT_UPDATE_OBJ", mds_update_client,
                        mds_update_server);
-EXPORT_SYMBOL(RQF_UPDATE_OBJ);
+EXPORT_SYMBOL(RQF_OUT_UPDATE);
 
 struct req_format RQF_LDLM_ENQUEUE =
         DEFINE_REQ_FMT0("LDLM_ENQUEUE",
@@ -1616,10 +1660,10 @@ struct req_format RQF_OST_SET_GRANT_INFO =
                          ost_body_only);
 EXPORT_SYMBOL(RQF_OST_SET_GRANT_INFO);
 
-struct req_format RQF_OST_GET_INFO_GENERIC =
+struct req_format RQF_OST_GET_INFO =
         DEFINE_REQ_FMT0("OST_GET_INFO", ost_get_info_generic_client,
                                         ost_get_info_generic_server);
-EXPORT_SYMBOL(RQF_OST_GET_INFO_GENERIC);
+EXPORT_SYMBOL(RQF_OST_GET_INFO);
 
 struct req_format RQF_OST_GET_INFO_LAST_ID =
         DEFINE_REQ_FMT0("OST_GET_INFO_LAST_ID", ost_get_info_generic_client,
@@ -1627,7 +1671,7 @@ struct req_format RQF_OST_GET_INFO_LAST_ID =
 EXPORT_SYMBOL(RQF_OST_GET_INFO_LAST_ID);
 
 struct req_format RQF_OST_GET_INFO_LAST_FID =
-       DEFINE_REQ_FMT0("OST_GET_INFO_LAST_FID", obd_set_info_client,
+       DEFINE_REQ_FMT0("OST_GET_INFO_LAST_FID", ost_get_last_fid_client,
                                                 ost_get_last_fid_server);
 EXPORT_SYMBOL(RQF_OST_GET_INFO_LAST_FID);
 
@@ -1641,6 +1685,14 @@ struct req_format RQF_OST_GET_INFO_FIEMAP =
                                                ost_get_fiemap_server);
 EXPORT_SYMBOL(RQF_OST_GET_INFO_FIEMAP);
 
+struct req_format RQF_LFSCK_NOTIFY =
+       DEFINE_REQ_FMT0("LFSCK_NOTIFY", obd_lfsck_request, empty);
+EXPORT_SYMBOL(RQF_LFSCK_NOTIFY);
+
+struct req_format RQF_LFSCK_QUERY =
+       DEFINE_REQ_FMT0("LFSCK_QUERY", obd_lfsck_request, obd_lfsck_reply);
+EXPORT_SYMBOL(RQF_LFSCK_QUERY);
+
 #if !defined(__REQ_LAYOUT_USER__)
 
 /* Convenience macro */
@@ -1886,8 +1938,11 @@ swabber_dumper_helper(struct req_capsule *pill,
         else
                 do_swab = 0;
 
+       if (!field->rmf_dumper)
+               dump = 0;
+
         if (!(field->rmf_flags & RMF_F_STRUCT_ARRAY)) {
-                if (dump && field->rmf_dumper) {
+                if (dump) {
                         CDEBUG(D_RPCTRACE, "Dump of %sfield %s follows\n",
                                do_swab ? "unswabbed " : "", field->rmf_name);
                         field->rmf_dumper(value);
@@ -1896,7 +1951,7 @@ swabber_dumper_helper(struct req_capsule *pill,
                         return;
                 swabber(value);
                 ptlrpc_buf_set_swabbed(pill->rc_req, inout, offset);
-               if (dump && field->rmf_dumper) {
+               if (dump) {
                         CDEBUG(D_RPCTRACE, "Dump of swabbed field %s "
                                "follows\n", field->rmf_name);
                         field->rmf_dumper(value);
@@ -1913,7 +1968,7 @@ swabber_dumper_helper(struct req_capsule *pill,
         for (p = value, i = 0, n = len / field->rmf_size;
              i < n;
              i++, p += field->rmf_size) {
-                if (dump && field->rmf_dumper) {
+                if (dump) {
                         CDEBUG(D_RPCTRACE, "Dump of %sarray field %s, "
                                "element %d follows\n",
                                do_swab ? "unswabbed " : "", field->rmf_name, i);
@@ -1922,7 +1977,7 @@ swabber_dumper_helper(struct req_capsule *pill,
                 if (!do_swab)
                         continue;
                 swabber(p);
-                if (dump && field->rmf_dumper) {
+                if (dump) {
                         CDEBUG(D_RPCTRACE, "Dump of swabbed array field %s, "
                                "element %d follows\n", field->rmf_name, i);
                         field->rmf_dumper(value);