#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
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[] = {
&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,
&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,
&RQF_LLOG_ORIGIN_HANDLE_READ_HEADER,
&RQF_LLOG_ORIGIN_CONNECT,
&RQF_CONNECT,
+ &RQF_LFSCK_NOTIFY,
+ &RQF_LFSCK_QUERY,
};
struct req_msg_field {
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.
*/
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",
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 */