Man page - ioctl_xfs_inumbers(2)
Packages contains this manual
- handle_to_fshandle(3)
- ioctl_xfs_getparents(2)
- ioctl_xfs_inumbers(2)
- readlink_by_handle(3)
- ioctl_xfs_setresblks(2)
- ioctl_xfs_getbmap(2)
- ioctl_xfs_fsbulkstat(2)
- ioctl_xfs_rtgroup_geometry(2)
- ioctl_xfs_scrub_metadata(2)
- fd_to_handle(3)
- ioctl_xfs_commit_range(2)
- ioctl_xfs_goingdown(2)
- free_handle(3)
- fssetdm_by_handle(3)
- ioctl_xfs_fssetxattr(2)
- ioctl_xfs_scrubv_metadata(2)
- attr_multi_by_handle(3)
- path_to_fshandle(3)
- ioctl_xfs_fsgetxattra(2)
- ioctl_xfs_exchange_range(2)
- open_by_handle(3)
- ioctl_xfs_start_commit(2)
- ioctl_xfs_fscounts(2)
- attr_list_by_handle(3)
- ioctl_xfs_ag_geometry(2)
- path_to_handle(3)
- ioctl_xfs_fsgetxattr(2)
- ioctl_xfs_getbmapx(2)
- ioctl_xfs_fsinumbers(2)
- ioctl_xfs_getresblks(2)
- ioctl_xfs_fsgeometry(2)
- getparentpaths_by_handle(3)
- getparents_by_handle(3)
- ioctl_xfs_bulkstat(2)
- ioctl_xfs_getbmapa(2)
- xfsctl(3)
apt-get install xfslibs-dev
Manual
IOCTL-XFS-INUMBERS
NAMESYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
CONFORMING TO
SEE ALSO
NAME
ioctl_xfs_inumbers - query allocation information for groups of XFS inodes
SYNOPSIS
#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.
inumbers is an array of struct xfs_inumbers which is described below. The array must have at least icount elements.
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).