4 An 'obd_statfs' structure conveys file-system-wide information of a
5 given target (MDT or OST).
34 Most of the fields correspond directly to the 'struct statfs' fields
35 returned by a 'statfs()' system call and have the same meaning. The
36 values are for the target in question (MDT or OST).
38 The 'os_type' field gives the kind of file system used for the
41 .File system types ('os_type') for Lustre targets
45 | EXT4_SUPER_MAGIC (ldiskfs) | 0xEF53
46 | ZFS_SUPER_MAGIC | 0x2fc12fc1
49 The 'os_blocks' field is the total number of blocks in the target, in
52 The 'os_bfree' field is the number of blocks not currently in use.
54 The 'os_bavail' is the number of blocks available to be allocated to
55 new files. The number of available blocks is typically lower than the
56 number of free blocks due to outstanding "grants" (see <<grant>>) and
57 blocks reserved for target internal usage such as metadata.
59 The 'os_files' field is the total number of files on the target, both
60 allocated and free. For some OSD types this is a static number, and
61 for others this is dynamic based on os_ffree and the amount of free
64 The 'os_ffree' field is the current number of files that could be
65 created based on current usage. For some OSD types this is a function
66 of the free space in the device and may increase or decrease as free
69 The 'os_fsid' is intended to be the target backing device UUID in
70 ASCII format. The current osd-ldiskfs and osd-zfs implementations
71 do not fill this field in.
73 The 'os_bsize' field is the block size in bytes. This is for computing
74 the total, free, and available space in combination with 'os_blocks',
75 'os_bfree', and 'os_bavail' respectively. It does not necessarily
76 represent the minimum or optimal IO size.
78 The 'os_namelen' field gives the maximum name length (in bytes) for
81 The 'os_maxbytes' field is the maximum size of a single object
82 (i.e. the maximum byte offset that can be written to). This is the
83 same value as the 'ocd_maxbytes' field of the 'obd_connect_data'
86 The 'os_state' field encodes the status of the OSD. It can be:
91 | os_state flag | value
92 | OS_STATE_DEGRADED | 0x1
93 | OS_STATE_READONLY | 0x2
96 In normal operation the 'os_state' value is returned as 0x0. If the
97 OSD has a RAID configuration that is degraded or
98 rebuilding the state is returned with the OS_STATE_DEGRADED (0x1) flag
99 set. If the file system has been set to read-only, either manually at
100 mount or automatically due to detected corruption of the underlying
101 target file system, then 'os_state' is returned with OS_STATE_READONLY (0x2)
104 The 'os_fprecreated' field counts the number of pre-created objects
105 available on an OST. The 'os_fprecreated' value counts as "used"
106 inodes, so it reduces 'os_ffree'. Lustre places a hard limit of
107 2*OST_MAX_PRECREATE (2*20000) on the number of precreates it will
108 allow for an OST. There are currently no precreated objects on an MDT
109 so it is just 0 in that case.