from small one page howto to huge articles all in one place
Last additions:
May 25th. 2007:
April, 26th. 2006:
|
You are here: manpages
IOCT-XF-A-GEOMETRY
Section: System Calls (2) Updated: 201-0-30 Index
Return to Main Contents
NAME
ioctl_xfs_ag_geometry - query XFS allocation group geometry information
SYNOPSIS
#include <xfs/xfs_fs.h>
int ioctl(int fd, XFS_IOC_AG_GEOMETRY, struct xfs_ag_geometry *arg);
DESCRIPTION
This XFS ioctl retrieves the geometry information for a given allocation group.
The geometry information is conveyed in a structure of the following form:
struct xfs_ag_geometry {
uint32_t ag_number;
uint32_t ag_length;
uint32_t ag_freeblks;
uint32_t ag_icount;
uint32_t ag_ifree;
uint32_t ag_sick;
uint32_t ag_checked;
uint32_t ag_flags;
uint64_t ag_reserved[12];
};
- ag_number
-
The caller must set this field to the index of the allocation group that the
caller wishes to learn about.
- ag_length
-
The length of the allocation group is returned in this field, in units of
filesystem blocks.
- ag_freeblks
-
The number of free blocks in the allocation group is returned in this field, in
units of filesystem blocks.
- ag_icount
-
The number of inode records allocated in this allocation group is returned in
this field.
- ag_ifree
-
The number of unused inode records (of the space allocated) in this allocation
group is returned in this field.
- ag_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.
- ag_reserved
-
All reserved fields will be set to zero on return.
The fields
ag_sick and ag_checked
indicate the relative health of various allocation group metadata:
- [bu]
-
If a given sick flag is set in
ag_sick,
then that piece of metadata has been observed to be damaged.
The same bit will be set in
ag_checked.
- [bu]
-
If a given sick flag is set in
ag_checked
and is not set in
ag_sick,
then that piece of metadata has been checked and is not faulty.
- [bu]
-
If a given sick flag is not set in
ag_checked,
then no conclusion can be made.
The following flags apply to these fields:
-
- XFS_AG_GEOM_SICK_SB
-
Allocation group superblock.
- XFS_AG_GEOM_SICK_AGF
-
Free space header.
- XFS_AG_GEOM_SICK_AGFL
-
Free space reserve list.
- XFS_AG_GEOM_SICK_AGI
-
Inode header.
- XFS_AG_GEOM_SICK_BNOBT or XFS_AG_GEOM_SICK_CNTBT
-
Free space btrees.
- XFS_AG_GEOM_SICK_INOBT or XFS_AG_GEOM_SICK_FINOBT
-
Inode btrees.
- XFS_AG_GEOM_SICK_RMAPBT
-
Reverse mapping btree.
- XFS_AG_GEOM_SICK_REFCNTBT
-
Reference count btree.
RETURN VALUE
On error, -1 is returned, and
errno
is set to indicate the error.
ERRORS
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 allocation group number is not valid for this filesystem.
- EIO
-
An I/O error was encountered while performing the query.
CONFORMING TO
This API is specific to XFS filesystem on the Linux kernel.
SEE ALSO
ioctl(2)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- SEE ALSO
-
|