ioctl_xfs_rtgroup_geometry − query XFS realtime group geometry information
#include <xfs/xfs_fs.h>
int ioctl(int fd, XFS_IOC_RTGROUP_GEOMETRY, struct xfs_rtgroup_geometry *arg);
This XFS ioctl retrieves the geometry information for a given realtime group. The geometry information is conveyed in a structure of the following form:
struct xfs_rtgroup_geometry {
|
__u32 rg_number; | ||
|
__u32 rg_length; | ||
|
__u32 rg_sick; | ||
|
__u32 rg_checked; | ||
|
__u32 rg_flags; | ||
|
__u32 rg_reserved[27]; |
};
rg_number
The caller must set this field to the index of the realtime group that the caller wishes to learn about.
rg_length
The length of the realtime group is returned in this field, in units of filesystem blocks. rg_flags The caller can set this field to change the operational behavior of the ioctl. Currently no flags are defined, so this field must be zero.
rg_reserved and rg_pad
All reserved fields will be set to zero on return.
The fields rg_sick and rg_checked indicate the relative health of various realtime group metadata:
|
• |
If a given sick flag is set in rg_sick, then that piece of metadata has been observed to be damaged. The same bit will be set in rg_checked. | ||
|
• |
If a given sick flag is set in rg_checked and is not set in rg_sick, then that piece of metadata has been checked and is not faulty. | ||
|
• |
If a given sick flag is not set in rg_checked, then no conclusion can be made. |
The following flags apply to these fields:
XFS_RTGROUP_GEOM_SICK_SUPER
Realtime group superblock.
XFS_RTGROUP_GEOM_SICK_BITMAP
Realtime bitmap for this group.
XFS_RTGROUP_GEOM_SICK_SUMMARY
Realtime summary for this group.
XFS_RTGROUP_GEOM_SICK_RTRMAPBT
Reverse mapping btree for this group.
On error, −1 is returned, and errno is set to indicate the error.
Error codes can
be one of, but are not limited to, the following:
EFSBADCRC
Metadata checksum validation failed while performing the query.
EFSCORRUPTED
Metadata corruption was encountered while performing the query.
|
EINVAL |
The specified realtime group number is not valid for this filesystem. | ||
|
EIO |
An I/O error was encountered while performing the query. |
This API is specific to XFS filesystem on the Linux kernel.
ioctl(2)