RPC 41: MDS_STATFS ~~~~~~~~~~~~~~~~~~ [[mds-statfs-rpc]] MDS_STATFS is an RPC that queries data about the underlying file system for a given MDT. //// It is generated in response to an explicit call for 'statfs' information from the VFS via the 'statfs(2)' function. //// The MDS_STATFS request message is a so-called "empty" message in that it only has a buffer for the 'ptlrpc_body' with the 'pb_opc' value MDS_STATFS (41). The reply message conveys 'statfs' data when it succeeds, and an error code if it doesn't. .MDS_STATFS Generic Packet Structure :frame: none :grid: none [width="50%", cols="2a"] |==== | request [cols="1"] !=================== ! <> ! !=================== | reply [cols="2"] !=================== ! <> ! <> ! !=================== |==== 'ptlrpc_body':: RPC descriptor. Only the 'pb_opc' value (MDS_STATFS = 41) is directly relevant to the MDS_STATFS request message. The rest of the 'ptlrpc_body' fields handle generic information about the RPC, as discussed in <>, including generic error conditions. In a normal reply ('pb_type' = PTL_RPC_MSG_REPLY) the 'pb_status' field is 0. The one error that can be returned in 'pb_status' that is speficially from OST_STATFS' handling is -ENOMEM, which occurs if there is not enough memory to allocate a temporary buffer for the 'statfs' data. 'obd_statfs':: File system wide statistics corresponding to 'struct statfs' as well as Lustre-specific information. See <> for a detailed discussion.