Whamcloud - gitweb
LUDOC-293 protocol: Merge all recent patches
[doc/protocol.git] / mds_reint.txt
index ace1045..8d9801b 100644 (file)
@@ -3,7 +3,23 @@ Command 36: MDS_REINT
 [[mds-reint-rpm]]
 
 An RPC that implements an operation that will change the information
-on an MDT.
+on an MDT. There are a variety of operations all gathered under the
+MDS_REINT 'opcode'.
+
+----
+typedef enum {
+       REINT_SETATTR  = 1,
+       REINT_CREATE   = 2,
+       REINT_LINK     = 3,
+       REINT_UNLINK   = 4,
+       REINT_RENAME   = 5,
+       REINT_OPEN     = 6,
+       REINT_SETXATTR = 7,
+       REINT_RMENTRY  = 8,
+       REINT_MIGRATE  = 9,
+        REINT_MAX
+} mds_reint_t, mdt_reint_t;
+----
 
 REINT_SETATTR
 ^^^^^^^^^^^^^
@@ -29,12 +45,46 @@ The mds-reint-setattr-generic.png diagram resembles this text art:
       -------------------------------------------------------
 //////////////////////////////////////////////////////////////////////
 
+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>>.
+
+REINT_SETXATTR
+^^^^^^^^^^^^^^
+[[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]
+
+//////////////////////////////////////////////////////////////////////
+The mds-reint-setxattr-generic.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 |
+      -------------------------------------------------------
+//////////////////////////////////////////////////////////////////////
+
 'ptlrpc_body'::
 RPC descriptor.
 
 'mdt_rec_setattr'::
 Information pertinent to setting attributes on the MDT.
 
+'mdt_rec_setxattr'::
+Information pertinent to setting extended attributes on the MDT.
+
 'lustre_capa'::
 So called "capabilities" structure. This is deprecated in recent
 versions of Lustre, and commonly appears in the packet header as a zero