-Command 36: MDS_REINT
-~~~~~~~~~~~~~~~~~~~~~
-[[mds-reint-rpm]]
+RPC 36: MDS_REINT
+~~~~~~~~~~~~~~~~~
+[[mds-reint-rpc]]
-An RPC that implements an operation that will change the information
-on an MDT. There are a variety of operations all gathered under the
-MDS_REINT 'opcode'.
+An RPC that implements an operation that will change the state of
+an object on an MDT. There are a variety of operations all gathered
+under the MDS_REINT 'opcode'.
----
typedef enum {
} mds_reint_t, mdt_reint_t;
----
-REINT_SETATTR
-^^^^^^^^^^^^^
+include::struct_mdt_rec_reint.txt[]
+
+REINT_SETATTR RPC
+^^^^^^^^^^^^^^^^^
[[mds-reint-setattr-rpc]]
An RPC that implements the 'setattr' sub-command of the MDS_REINT.
-.MDS_REINT:REINT_SETATTR Generic Packet Structure
-image::mds-reint-setattr-generic.png["MDS_REINT:REINT_SETATTR Generic Packet Structure",height=100]
+.MDS_REINT:REINT_SETATTR Request Packet Structure
+image::mds-reint-setattr-request.png["MDS_REINT:REINT_SETATTR Request Packet Structure",height=50]
//////////////////////////////////////////////////////////////////////
-The mds-reint-setattr-generic.png diagram resembles this text art:
+The mds-reint-setattr-request.png diagram resembles this text art:
MDS_REINT:
--REINT_SETATTR-request-------------------------------------
| ptlrpc_body | mdt_rec_setattr | lustre_capa | mdt_ioepoc |
- eadata | llog_cookie | ldlm_request |
------------------------------------------------------------
+ | eadata | llog_cookie | ldlm_request |
+ ---------------------------------------
+//////////////////////////////////////////////////////////////////////
+
+'ptlrpc_body'::
+RPC descriptor. See <<struct-ptlrpc-body>>.
+
+include::struct_mdt_rec_setattr.txt[]
+
+'lustre_capa'::
+A "capabilities" structure. See <<struct-lustre-capa>>.
+
+'mdt_ioepoch'::
+Identifying "epoch" information. This buffer is optional and will
+appear as zero length in some packets.
+
+'eadata'::
+Information about extended attributes. This buffer is optional and will
+appear as zero length in some packets.
+
+'llog_cookie'::
+A log handle. This buffer is optional and will appear as zero length
+in some packets.
+
+'ldlm_request'::
+A structure specifying a lock that can be the subject of early lock
+cancellation. See <<early-lock-cancellation>>.
+
+.MDS_REINT:REINT_SETATTR Reply Packet Structure
+image::mds-reint-setattr-reply.png["MDS_REINT:REINT_SETATTR Reply Packet Structure",height=50]
- --REINT_SETATTR-reply----------------------------------
- | ptlrpc_body | mdt_body | mdt_md | acl | lustre_capa |
- lustre_capa |
- -------------------------------------------------------
//////////////////////////////////////////////////////////////////////
+The mds-reint-setattr-reply.png diagram resembles this text art:
+
+ MDS_REINT:
+ --REINT_SETATTR-reply--------------------------------
+ | ptlrpc_body | mdt_body | mdt_md | acl | fid1_capa |
+ -----------------------------------------------------
+ | fid2_capa |
+ -------------
+//////////////////////////////////////////////////////////////////////
+
+'ptlrpc_body'::
+RPC descriptor. See <<struct-ptlrpc-body>>.
+
+'mdt_body'::
+Metadata about the resource.
-The second buffer ('mdt_rec_setattr' in the above) is one of the
-variants specific to the particular REINT as given by the
-'mdt_reint_t' opcode. Each such variant has the same number and size
-of fields, but how the fields are interpreted varies slightly between
-variiants. For all the variant structures refer to
-<<mds-reint-structs>>.
+'mdt_md'::
+Layout data for the resource. This buffer is optional and will appear
+as zero length in some packets.
-REINT_SETXATTR
-^^^^^^^^^^^^^^
+'acl'::
+Access control list data. This buffer is optional and will appear as
+zero length in some packets.
+
+'fid1_capa'::
+The capabilities structure for the first FID in the 'mdt_body'. See
+<<struct-lustre-capa>>.
+
+'fid2_capa'::
+The capabilities structure for the second FID in the 'mdt_body'. See
+<<struct-lustre-capa>>.
+
+REINT_SETXATTR RPC
+^^^^^^^^^^^^^^^^^^
[[mds-reint-setxattr-rpc]]
An RPC that implements the 'setxattr' sub-command of the MDS_REINT.
-.MDS_REINT:REINT_SETXATTR Generic Packet Structure
-image::mds-reint-setxattr-generic.png["MDS_REINT:REINT_SETXATTR Generic Packet Structure",height=100]
+.MDS_REINT:REINT_SETXATTR Request Packet Structure
+image::mds-reint-setxattr-request.png["MDS_REINT:REINT_SETXATTR Request Packet Structure",height=50]
//////////////////////////////////////////////////////////////////////
-The mds-reint-setxattr-generic.png diagram resembles this text art:
+The mds-reint-setxattr-request.png diagram resembles this text art:
MDS_REINT:
--REINT_SETXATTR-request-------------------------------------
| ptlrpc_body | mdt_rec_setxattr | lustre_capa | mdt_ioepoc |
- eadata | llog_cookie | ldlm_request |
-------------------------------------------------------------
-
- --REINT_SETXATTR-reply---------------------------------
- | ptlrpc_body | mdt_body | mdt_md | acl | lustre_capa |
- lustre_capa |
- -------------------------------------------------------
+ | eadata | llog_cookie | ldlm_request |
+ ---------------------------------------
//////////////////////////////////////////////////////////////////////
'ptlrpc_body'::
-RPC descriptor.
-
-'mdt_rec_setattr'::
-Information pertinent to setting attributes on the MDT.
+RPC descriptor. See <<struct-ptlrpc-body>>.
-'mdt_rec_setxattr'::
-Information pertinent to setting extended attributes on the MDT.
+include::struct_mdt_rec_setxattr.txt[]
'lustre_capa'::
-So called "capabilities" structure. This is deprecated in recent
-versions of Lustre, and commonly appears in the packet header as a zero
-length buffer.
+A "capabilities" structure. See <<struct-lustre-capa>>.
'mdt_ioepoch'::
Identifying "epoch" information. This buffer is optional and will
A structure specifying a lock that can be the subject of early lock
cancellation. See <<early-lock-cancellation>>.
+.MDS_REINT:REINT_SETXATTR Reply Packet Structure
+image::mds-reint-setxattr-reply.png["MDS_REINT:REINT_SETXATTR Reply Packet Structure",height=50]
+
+//////////////////////////////////////////////////////////////////////
+The mds-reint-setxattr-reply.png diagram resembles this text art:
+
+ MDS_REINT:
+ --REINT_SETXATTR-reply---------------------------------
+ | ptlrpc_body | mdt_body | mdt_md | acl | fid1_capa |
+ -------------------------------------------------------
+ | fid2_capa |
+ -------------
+//////////////////////////////////////////////////////////////////////
+
+'ptlrpc_body'::
+RPC descriptor. See <<struct-ptlrpc-body>>.
+
'mdt_body'::
Metadata about the resource.
Access control list data. This buffer is optional and will appear as
zero length in some packets.
+'fid1_capa'::
+The capabilities structure for the first FID in the 'mdt_body'. See
+<<struct-lustre-capa>>.
+
+'fid2_capa'::
+The capabilities structure for the second FID in the 'mdt_body'. See
+<<struct-lustre-capa>>.
+