-----------
[[lustre-rpcs]]
-Lustre operations are denoted by the 'pb_opc' op-code field of the
-RPC descriptor. Each operation is implemented as a pair of messages,
-with the 'pb_type' field set to PTLRPC_MSG_REQUEST for requests
-initiating the operation, and PTLRPC_MSG_REPLY for replies. Note that
-as a general matter, the receipt by a client of the reply message only
-assures the client hat the server has initiated the action, if
-any. See the discussion on <<transno,transaction numbers>>
-and <<recovery>> for how the client is given confirmation that a
-request has been completed.
+Lustre RPC operations are implemented as 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 on <<transno,transaction numbers>> and <<recovery>> for
+how the client is given confirmation that a request has been completed.
include::ost_setattr.txt[]