Lustre RPCs ----------- [[lustre-rpcs]] The Lustre protocol consists of a collection of remote procedure calls (RPCs) collectively known as PtlRPCs. Each Lustre RPC is an operation that consists of a pair of messages, a request and its reply. The 'pb_type' field is set to PTLRPC_MSG_REQUEST for requests initiating the operation, and normally PTLRPC_MSG_REPLY for replies unless the message encountered a fatal error before it could be processed, in which case it will contain PTLRPC_MSG_ERR. The type of operation requested is denoted by the 'pb_opc' op-code field of the RPC request. Note that as a general matter, the receipt by a client of the reply message only assures the client that the server has initiated the action, if any, but does not guarantee that any modification has been committed to persistent storage. See the discussion in <> and <> for how the client is given confirmation that a request has been completed. include::ost_setattr.txt[] include::ost_connect.txt[] include::ost_disconnect.txt[] include::ost_punch.txt[] include::ost_statfs.txt[] include::mds_getattr.txt[] include::mds_reint.txt[] include::mds_connect.txt[] include::mds_disconnect.txt[] include::mds_getstatus.txt[] include::mds_statfs.txt[] include::mds_getxattr.txt[] include::ldlm_enqueue.txt[] include::ldlm_cancel.txt[] include::ldlm_bl_callback.txt[] include::ldlm_cp_callback.txt[] include::ldlm_gl_callback.txt[] include::mgs_connect.txt[] include::mgs_disconnect.txt[] include::mgs_config_read.txt[] include::llog_origin_handle_create.txt[] include::llog_origin_handle_next_block.txt[] include::llog_origin_handle_read_header.txt[] include::struct_lustre_msg.txt[]