Whamcloud - gitweb
LUDOC-270 protocol: Add a 'basement' dir with support files
[doc/protocol.git] / basement / structures.txt
diff --git a/basement/structures.txt b/basement/structures.txt
new file mode 100644 (file)
index 0000000..81f8136
--- /dev/null
@@ -0,0 +1,104 @@
+lustre/ptlrpc/layout.c establishes a mapping between the symbols
+(starting with RMF_) for message format structures and the actual
+structure definitions they represent.  There are three entries in this
+mapping that do not appear in any message format. They are:
+  RMF_OST_ID => ost_id
+  RMF_STRING => string
+  RMF_U32 => u32
+There are also three duplicates: 
+  RMF_CAPA1 => capa and 
+  RMF_CAPA2 => capa
+  RMF_FIEMAP_KEY => fiemap and 
+  RMF_FIEMAP_VAL => fiemap
+  RMF_NIOBUF_REMOTE => niobuf_remote and 
+  RMF_RCS => niobuf_remote
+
+The mesage format symbols RMF_MGS_CONFIG_BODY and RMF_MGS_CONFIG_RES
+have the names, respecitvely, "mgs_config_read request" and
+"mgs_config_read reply" with two words (or a missing
+underscore). Similarly, RMF_U32 has the name "generic u32".
+
+Many of the message format symbols have a name that is the same as the
+symbol but in lower case and with out the leading "RMF_". On the other
+hand many of the symbols do not follow this pattern. Each declaration
+also has a field for the size to be allocated for the structure, and
+most use the "sizeof(struct the_struct)" construction to identify the
+size needed. That construct then gives a notion of what actual
+structure definition is going to give meaning to the bytes in that
+structure. The sizeof column presents that 'struct' name or a hint
+about the size of the message. A value of "-1" means, "the size is not
+going to be well defined in advance." Thus additional hits will need
+ot be included in the rest of the message.
+
+message format symbol          name                    sizeof
+---------------------          ----------------        ------------------
+RMF_ACL                        acl                     LUSTRE_POSIX_ACL_MAX_SIZE
+RMF_CAPA1                      capa                    lustre_capa
+RMF_CAPA2                      capa                    lustre_capa
+RMF_CLOSE_DATA                         data_version            close_data
+RMF_CLUUID                     cluuid                  obd_uuid
+RMF_CONN                       conn                    lustre_handle
+RMF_CONNECT_DATA               cdata                   obd_connect_data
+RMF_DLM_GL_DESC                dlm_gl_desc             ldlm_gl_desc
+RMF_DLM_LVB                    dlm_lvb                 -1
+RMF_DLM_REP                    dlm_rep                 ldlm_reply
+RMF_DLM_REQ                    dlm_req                 ldlm_request
+RMF_EADATA                     eadata                  -1
+RMF_EAVALS                     eavals                  -1
+RMF_EAVALS_LENS                eavals_lens             __u32
+RMF_FID                        fid                     lu_fid
+RMF_FIEMAP_KEY                         fiemap                  ll_fiemap_info_key
+RMF_FIEMAP_VAL                         fiemap                  -1
+RMF_FLD_MDFLD                  fld_query_mdfld         lu_seq_range
+RMF_FLD_OPC                    fld_query_opc           __u32
+RMF_GENERIC_DATA               generic_data            -1
+RMF_GETINFO_KEY                getinfo_key             -1
+RMF_GETINFO_VAL                getinfo_val             -1
+RMF_GETINFO_VALLEN             getinfo_vallen          __u32
+RMF_HSM_STATE_SET              hsm_state_set           hsm_state_set
+RMF_HSM_USER_STATE             hsm_user_state          hsm_user_state
+RMF_IDX_INFO                   idx_info                idx_info
+RMF_LAYOUT_INTENT              layout_intent           layout_intent
+RMF_LDLM_INTENT                ldlm_intent             ldlm_intent
+RMF_LFSCK_REPLY                lfsck_reply             lfsck_reply
+RMF_LFSCK_REQUEST              lfsck_request           lfsck_request
+RMF_LLOGD_BODY                         llogd_body              llogd_body
+RMF_LLOGD_CONN_BODY            llogd_conn_body         llogd_conn_body
+RMF_LLOG_LOG_HDR               llog_log_hdr            llog_log_hdr
+RMF_LOGCOOKIES                         logcookies              llog_cookie
+RMF_MDS_HSM_ARCHIVE            hsm_archive             __u32
+RMF_MDS_HSM_CURRENT_ACTION     hsm_current_action      hsm_current_action
+RMF_MDS_HSM_PROGRESS           hsm_progress            hsm_progress_kernel
+RMF_MDS_HSM_REQUEST            hsm_request             hsm_request
+RMF_MDS_HSM_USER_ITEM          hsm_user_item           hsm_user_item
+RMF_MDT_BODY                   mdt_body                mdt_body
+RMF_MDT_EPOCH                  mdt_ioepoch             mdt_ioepoch
+RMF_MDT_MD                     mdt_md                  MIN_MD_SIZE
+RMF_MGS_CONFIG_BODY            mgs_config_read request mgs_config_body
+RMF_MGS_CONFIG_RES             mgs_config_read reply   mgs_config_res
+RMF_MGS_SEND_PARAM             mgs_send_param          mgs_send_param
+RMF_MGS_TARGET_INFO            mgs_target_info         mgs_target_info
+RMF_NAME                       name                    -1
+RMF_NIOBUF_REMOTE              niobuf_remote           niobuf_remote
+RMF_OBD_ID                     obd_id                  __u64
+RMF_OBD_IOOBJ                  obd_ioobj               obd_ioobj
+RMF_OBD_QUOTACTL               obd_quotactl            obd_quotactl
+RMF_OBD_STATFS                         obd_statfs              obd_statfs
+RMF_OST_BODY                   ost_body                ost_body
+RMF_OST_ID                     ost_id                  ost_id
+RMF_OUT_UPDATE                         object_update           -1      
+RMF_OUT_UPDATE_REPLY           object_update_reply     -1      
+RMF_PTLRPC_BODY                ptlrpc_body (aka ptlrpc_body_v3) ptlrpc_body
+RMF_QUOTA_BODY                         quota_body              quota_body
+RMF_RCS                        niobuf_remote           __u32
+RMF_REC_REINT                  rec_reint               mdt_rec_reint
+RMF_SEQ_OPC                    seq_query_opc           __u32
+RMF_SEQ_RANGE                  seq_query_range         lu_seq_range
+RMF_SETINFO_KEY                setinfo_key             -1
+RMF_SETINFO_VAL                setinfo_val             -1
+RMF_STRING                     string                  -1
+RMF_SWAP_LAYOUTS               swap_layouts            mdc_swap_layouts
+RMF_SYMTGT                     symtgt                  -1
+RMF_TGTUUID                    tgtuuid                 obd_uuid
+RMF_U32                        generic u32             u32 __u32
+