X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=mds_reint.txt;h=8d9801b5b6f2337129acb32ddb2b0580398b789c;hb=98909ef668eddd5a1c9742f1ff1facab0e1fc2b7;hp=ace1045bdf5d2e4d08bebbafc03ab2a05abb2937;hpb=6dd994a279ba773b290b4efac52b5d91b8252248;p=doc%2Fprotocol.git diff --git a/mds_reint.txt b/mds_reint.txt index ace1045..8d9801b 100644 --- a/mds_reint.txt +++ b/mds_reint.txt @@ -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 +<>. + +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