Whamcloud - gitweb
LUDOC-296 protocol: remove internal details from descriptions
[doc/protocol.git] / mds_statfs.txt
1 RPC 41: MDS_STATFS
2 ~~~~~~~~~~~~~~~~~~
3 [[mds-statfs-rpc]]
4
5 MDS_STATFS is an RPC that queries data about the underlying file
6 system for a given MDT.
7 ////
8 It is generated in response to an explicit call for 'statfs'
9 information from the VFS via the 'statfs(2)' function.
10 ////
11
12 The MDS_STATFS request message is a so-called "empty" message in that
13 it only has a buffer for the 'ptlrpc_body' with the 'pb_opc' value
14 MDS_STATFS (41).
15
16 The reply message conveys 'statfs' data when it succeeds, and an error
17 code if it doesn't.
18
19 .MDS_STATFS Generic Packet Structure
20
21 :frame: none
22 :grid: none
23 [width="50%", cols="2a"]
24 |====
25 | request
26 [cols="1"]
27 !===================
28 ! <<struct-ptlrpc-body,ptlrpc_body>> !
29 !===================
30 | reply
31 [cols="2"]
32 !===================
33 ! <<struct-ptlrpc-body,ptlrpc_body>> ! <<struct-obd_statfs,obd_statfs>> !
34 !===================
35 |====
36
37 'ptlrpc_body':: RPC descriptor. Only the 'pb_opc' value (MDS_STATFS =
38 41) is directly relevant to the MDS_STATFS request message. The rest
39 of the 'ptlrpc_body' fields handle generic information about the
40 RPC, as discussed in <<struct-ptlrpc-body>>, including generic error
41 conditions. In a normal reply ('pb_type' = PTL_RPC_MSG_REPLY) the
42 'pb_status' field is 0.  The one error that can be returned in
43 'pb_status' that is speficially from OST_STATFS' handling is -ENOMEM,
44 which occurs if there is not enough memory to allocate a temporary
45 buffer for the 'statfs' data.
46
47 'obd_statfs'::
48 File system wide statistics corresponding to 'struct statfs' as well
49 as Lustre-specific information. See <<struct-obd-statfs>> for a
50 detailed discussion.