Whamcloud - gitweb
LU-1940 test: use default resend count for 118c
[fs/lustre-release.git] / lustre / ptlrpc / layout.c
index f696827..84642b6 100644 (file)
@@ -69,6 +69,7 @@
 #endif
 /* struct ptlrpc_request, lustre_msg* */
 #include <lustre_req_layout.h>
+#include <lustre_update.h>
 #include <lustre_acl.h>
 #include <lustre_debug.h>
 
@@ -293,6 +294,15 @@ static const struct req_msg_field *mds_reint_setxattr_client[] = {
         &RMF_EADATA
 };
 
+static const struct req_msg_field *mdt_swap_layouts[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_MDT_BODY,
+       &RMF_SWAP_LAYOUTS,
+       &RMF_CAPA1,
+       &RMF_CAPA2,
+       &RMF_DLM_REQ
+};
+
 static const struct req_msg_field *obd_connect_client[] = {
         &RMF_PTLRPC_BODY,
         &RMF_TGTUUID,
@@ -480,6 +490,16 @@ static const struct req_msg_field *mds_setattr_server[] = {
         &RMF_CAPA2
 };
 
+static const struct req_msg_field *mds_update_client[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_UPDATE,
+};
+
+static const struct req_msg_field *mds_update_server[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_UPDATE_REPLY,
+};
+
 static const struct req_msg_field *llog_origin_handle_create_client[] = {
         &RMF_PTLRPC_BODY,
         &RMF_LLOGD_BODY,
@@ -570,6 +590,11 @@ static const struct req_msg_field *ost_get_last_id_server[] = {
         &RMF_OBD_ID
 };
 
+static const struct req_msg_field *ost_get_last_fid_server[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_FID
+};
+
 static const struct req_msg_field *ost_get_fiemap_client[] = {
         &RMF_PTLRPC_BODY,
         &RMF_FIEMAP_KEY,
@@ -581,6 +606,41 @@ static const struct req_msg_field *ost_get_fiemap_server[] = {
         &RMF_FIEMAP_VAL
 };
 
+static const struct req_msg_field *mdt_hsm_progress[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_MDS_HSM_PROGRESS,
+};
+
+static const struct req_msg_field *mdt_hsm_ct_register[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_MDS_HSM_ARCHIVE,
+};
+
+static const struct req_msg_field *mdt_hsm_action_server[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_MDS_HSM_CURRENT_ACTION,
+};
+
+static const struct req_msg_field *mdt_hsm_state_get_server[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_HSM_USER_STATE,
+};
+
+static const struct req_msg_field *mdt_hsm_state_set[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_MDT_BODY,
+       &RMF_CAPA1,
+       &RMF_HSM_STATE_SET,
+};
+
+static const struct req_msg_field *mdt_hsm_request[] = {
+       &RMF_PTLRPC_BODY,
+       &RMF_MDT_BODY,
+       &RMF_MDS_HSM_REQUEST,
+       &RMF_MDS_HSM_USER_ITEM,
+       &RMF_GENERIC_DATA,
+};
+
 static struct req_format *req_formats[] = {
         &RQF_OBD_PING,
         &RQF_OBD_SET_INFO,
@@ -620,7 +680,16 @@ static struct req_format *req_formats[] = {
         &RQF_MDS_REINT_SETXATTR,
         &RQF_MDS_QUOTACHECK,
         &RQF_MDS_QUOTACTL,
-        &RQF_QC_CALLBACK,
+       &RQF_MDS_HSM_PROGRESS,
+       &RQF_MDS_HSM_CT_REGISTER,
+       &RQF_MDS_HSM_CT_UNREGISTER,
+       &RQF_MDS_HSM_STATE_GET,
+       &RQF_MDS_HSM_STATE_SET,
+       &RQF_MDS_HSM_ACTION,
+       &RQF_MDS_HSM_REQUEST,
+       &RQF_MDS_SWAP_LAYOUTS,
+       &RQF_UPDATE_OBJ,
+       &RQF_QC_CALLBACK,
         &RQF_OST_CONNECT,
         &RQF_OST_DISCONNECT,
         &RQF_OST_QUOTACHECK,
@@ -637,6 +706,8 @@ static struct req_format *req_formats[] = {
         &RQF_OST_SET_GRANT_INFO,
         &RQF_OST_GET_INFO_GENERIC,
         &RQF_OST_GET_INFO_LAST_ID,
+       &RQF_OST_GET_INFO_LAST_FID,
+       &RQF_OST_SET_INFO_LAST_FID,
         &RQF_OST_GET_INFO_FIEMAP,
         &RQF_LDLM_ENQUEUE,
         &RQF_LDLM_ENQUEUE_LVB,
@@ -978,6 +1049,11 @@ struct req_msg_field RMF_OBD_ID =
                     sizeof(obd_id), lustre_swab_ost_last_id, NULL);
 EXPORT_SYMBOL(RMF_OBD_ID);
 
+struct req_msg_field RMF_FID =
+       DEFINE_MSGF("fid", 0,
+                   sizeof(struct lu_fid), lustre_swab_lu_fid, NULL);
+EXPORT_SYMBOL(RMF_FID);
+
 struct req_msg_field RMF_FIEMAP_KEY =
         DEFINE_MSGF("fiemap", 0, sizeof(struct ll_fiemap_info_key),
                     lustre_swab_fiemap, NULL);
@@ -991,7 +1067,55 @@ struct req_msg_field RMF_IDX_INFO =
        DEFINE_MSGF("idx_info", 0, sizeof(struct idx_info),
                    lustre_swab_idx_info, NULL);
 EXPORT_SYMBOL(RMF_IDX_INFO);
-
+struct req_msg_field RMF_HSM_USER_STATE =
+       DEFINE_MSGF("hsm_user_state", 0, sizeof(struct hsm_user_state),
+                   lustre_swab_hsm_user_state, NULL);
+EXPORT_SYMBOL(RMF_HSM_USER_STATE);
+
+struct req_msg_field RMF_HSM_STATE_SET =
+       DEFINE_MSGF("hsm_state_set", 0, sizeof(struct hsm_state_set),
+                   lustre_swab_hsm_state_set, NULL);
+EXPORT_SYMBOL(RMF_HSM_STATE_SET);
+
+struct req_msg_field RMF_MDS_HSM_PROGRESS =
+       DEFINE_MSGF("hsm_progress", 0, sizeof(struct hsm_progress_kernel),
+                   lustre_swab_hsm_progress_kernel, NULL);
+EXPORT_SYMBOL(RMF_MDS_HSM_PROGRESS);
+
+struct req_msg_field RMF_MDS_HSM_CURRENT_ACTION =
+       DEFINE_MSGF("hsm_current_action", 0, sizeof(struct hsm_current_action),
+                   lustre_swab_hsm_current_action, NULL);
+EXPORT_SYMBOL(RMF_MDS_HSM_CURRENT_ACTION);
+
+struct req_msg_field RMF_MDS_HSM_USER_ITEM =
+       DEFINE_MSGF("hsm_user_item", RMF_F_STRUCT_ARRAY,
+                   sizeof(struct hsm_user_item), lustre_swab_hsm_user_item,
+                   NULL);
+EXPORT_SYMBOL(RMF_MDS_HSM_USER_ITEM);
+
+struct req_msg_field RMF_MDS_HSM_ARCHIVE =
+       DEFINE_MSGF("hsm_archive", 0,
+                   sizeof(__u32), lustre_swab_generic_32s, NULL);
+EXPORT_SYMBOL(RMF_MDS_HSM_ARCHIVE);
+
+struct req_msg_field RMF_MDS_HSM_REQUEST =
+       DEFINE_MSGF("hsm_request", 0, sizeof(struct 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_UPDATE_REPLY = DEFINE_MSGF("update_reply", 0, -1,
+                                               lustre_swab_update_reply_buf,
+                                                   NULL);
+EXPORT_SYMBOL(RMF_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);
 /*
  * Request formats.
  */
@@ -1191,6 +1315,11 @@ 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,
+                       mds_update_server);
+EXPORT_SYMBOL(RQF_UPDATE_OBJ);
+
 struct req_format RQF_LDLM_ENQUEUE =
         DEFINE_REQ_FMT0("LDLM_ENQUEUE",
                         ldlm_enqueue_client, ldlm_enqueue_lvb_server);
@@ -1291,6 +1420,40 @@ struct req_format RQF_MDS_READPAGE =
                         mdt_body_capa, mdt_body_only);
 EXPORT_SYMBOL(RQF_MDS_READPAGE);
 
+struct req_format RQF_MDS_HSM_ACTION =
+       DEFINE_REQ_FMT0("MDS_HSM_ACTION", mdt_body_capa, mdt_hsm_action_server);
+EXPORT_SYMBOL(RQF_MDS_HSM_ACTION);
+
+struct req_format RQF_MDS_HSM_PROGRESS =
+       DEFINE_REQ_FMT0("MDS_HSM_PROGRESS", mdt_hsm_progress, empty);
+EXPORT_SYMBOL(RQF_MDS_HSM_PROGRESS);
+
+struct req_format RQF_MDS_HSM_CT_REGISTER =
+       DEFINE_REQ_FMT0("MDS_HSM_CT_REGISTER", mdt_hsm_ct_register, empty);
+EXPORT_SYMBOL(RQF_MDS_HSM_CT_REGISTER);
+
+struct req_format RQF_MDS_HSM_CT_UNREGISTER =
+       DEFINE_REQ_FMT0("MDS_HSM_CT_UNREGISTER", empty, empty);
+EXPORT_SYMBOL(RQF_MDS_HSM_CT_UNREGISTER);
+
+struct req_format RQF_MDS_HSM_STATE_GET =
+       DEFINE_REQ_FMT0("MDS_HSM_STATE_GET",
+                       mdt_body_capa, mdt_hsm_state_get_server);
+EXPORT_SYMBOL(RQF_MDS_HSM_STATE_GET);
+
+struct req_format RQF_MDS_HSM_STATE_SET =
+       DEFINE_REQ_FMT0("MDS_HSM_STATE_SET", mdt_hsm_state_set, empty);
+EXPORT_SYMBOL(RQF_MDS_HSM_STATE_SET);
+
+struct req_format RQF_MDS_HSM_REQUEST =
+       DEFINE_REQ_FMT0("MDS_HSM_REQUEST", mdt_hsm_request, empty);
+EXPORT_SYMBOL(RQF_MDS_HSM_REQUEST);
+
+struct req_format RQF_MDS_SWAP_LAYOUTS =
+       DEFINE_REQ_FMT0("MDS_SWAP_LAYOUTS",
+                       mdt_swap_layouts, empty);
+EXPORT_SYMBOL(RQF_MDS_SWAP_LAYOUTS);
+
 /* This is for split */
 struct req_format RQF_MDS_WRITEPAGE =
         DEFINE_REQ_FMT0("MDS_WRITEPAGE",
@@ -1391,6 +1554,16 @@ struct req_format RQF_OST_GET_INFO_LAST_ID =
                                                 ost_get_last_id_server);
 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,
+                                                ost_get_last_fid_server);
+EXPORT_SYMBOL(RQF_OST_GET_INFO_LAST_FID);
+
+struct req_format RQF_OST_SET_INFO_LAST_FID =
+       DEFINE_REQ_FMT0("OST_SET_INFO_LAST_FID", obd_set_info_client,
+                                                empty);
+EXPORT_SYMBOL(RQF_OST_SET_INFO_LAST_FID);
+
 struct req_format RQF_OST_GET_INFO_FIEMAP =
         DEFINE_REQ_FMT0("OST_GET_INFO_FIEMAP", ost_get_fiemap_client,
                                                ost_get_fiemap_server);