NAME
ioctl_xfs_inumbers - query allocation information for groups of XFS inodesSYNOPSIS
#include <xfs/xfs_fs.h> int ioctl(int fd, XFS_IOC_INUMBERS, struct xfs_inumbers_req *arg);DESCRIPTION
Query inode allocation information for groups of XFS inodes. This ioctl uses struct xfs_inumbers_req to set up a bulk transfer from the kernel:struct xfs_inumbers_req { struct xfs_bulk_ireq hdr; struct xfs_inumbers inumbers[]; };
See below for the xfs_inumbers structure definition.
struct xfs_bulk_ireq { uint64_t ino; uint32_t flags; uint32_t icount; uint32_t ocount; uint32_t agno; uint64_t reserved[5]; };
hdr describes the information to query. The layout and behavior are documented in the ioctl_xfs_bulkstat(2) manpage and will not be discussed further here.
struct xfs_inumbers { uint64_t xi_startino; uint64_t xi_allocmask; uint8_t xi_alloccount; uint8_t xi_version; uint8_t xi_padding[6]; };
This structure describes inode usage information for a group of 64 consecutive inode numbers. xi_startino is the first inode number of this group. xi_allocmask is a bitmask telling which inodes in this group are allocated. To clarify, bit N is set if inode xi_startino+N is allocated. xi_alloccount is the number of inodes in this group that are allocated. This should be equal to popcnt(xi_allocmask). xi_version is the version of this data structure. This will be set to XFS_INUMBERS_VERSION_V5 by the kernel. xi_padding[6] is zeroed.
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:- EFAULT
- The kernel was not able to copy into the userspace buffer.
- EFSBADCRC
- Metadata checksum validation failed while performing the query.
- EFSCORRUPTED
- Metadata corruption was encountered while performing the query.
- EINVAL
- One of the arguments was not valid.
- EIO
- An I/O error was encountered while performing the query.
- ENOMEM
- There was insufficient memory to perform the query.
CONFORMING TO
This API is specific to XFS filesystem on the Linux kernel.SEE ALSO
ioctl(2), ioctl_xfs_bulkstat(2).2019-05-23 | XFS |