diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/opensuse-leap-15-6/man2/ioctl_xfs_fsinumbers.2 | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/opensuse-leap-15-6/man2/ioctl_xfs_fsinumbers.2')
-rw-r--r-- | upstream/opensuse-leap-15-6/man2/ioctl_xfs_fsinumbers.2 | 122 |
1 files changed, 122 insertions, 0 deletions
diff --git a/upstream/opensuse-leap-15-6/man2/ioctl_xfs_fsinumbers.2 b/upstream/opensuse-leap-15-6/man2/ioctl_xfs_fsinumbers.2 new file mode 100644 index 00000000..f523ee05 --- /dev/null +++ b/upstream/opensuse-leap-15-6/man2/ioctl_xfs_fsinumbers.2 @@ -0,0 +1,122 @@ +.\" Copyright (c) 2019, Oracle. All rights reserved. +.\" +.\" %%%LICENSE_START(GPLv2+_DOC_FULL) +.\" SPDX-License-Identifier: GPL-2.0+ +.\" %%%LICENSE_END +.TH IOCTL-XFS-FSINUMBERS 2 2019-06-17 "XFS" +.SH NAME +ioctl_xfs_fsinumbers \- extract a list of valid inode numbers from an XFS filesystem +.SH SYNOPSIS +.br +.B #include <xfs/xfs_fs.h> +.PP +.BI "int ioctl(int " fd ", XFS_IOC_FSINUMBERS, struct xfs_fsop_bulkreq *" arg ); +.SH DESCRIPTION +Queries inode allocation information from an XFS filesystem. +It is intended to be called iteratively to obtain the entire set of inodes. +These ioctls use +.B struct xfs_fsop_bulkreq +to set up a bulk transfer with the kernel: +.PP +.in +4n +.nf +struct xfs_fsop_bulkreq { + __u64 *lastip; + __s32 count; + void *ubuffer; + __s32 *ocount; +}; +.fi +.in +.PP +.I lastip +points to a value that will receive the number of the "last inode." +This should be set to one less than the number of the first inode for which the +caller wants information, or zero to start with the first inode in the +filesystem. +After the call, this value will be set to the number of the last inode for +which information is supplied. +This field will not be updated if +.I ocount +is NULL. +.PP +.I count +is the number of elements in the +.B ubuffer +array and therefore the number of inode groups for which to return allocation +information. +.PP +.I ocount +points to a value that will receive the number of records returned. +An output value of zero means that there are no more inode groups left to +enumerate. +If this value is NULL, then neither +.I ocount +nor +.I lastip +will be updated. +.PP +.I ubuffer +points to a memory buffer where inode group information will be copied. +This buffer must be an array of +.B struct xfs_inogrp +which is described below. +The array must have at least +.I count +elements. +.PP +.in +4n +.nf +struct xfs_inogrp { + __u64 xi_startino; + __s32 xi_alloccount; + __u64 xi_allocmask; +} +.fi +.in +.PP +This structure describes inode usage information for a group of 64 consecutive +inode numbers. +The fields are as follows: +.PP +.I xi_startino +is the first inode number of this group. +.PP +.I xi_alloccount +is the number of bits that are set in +.IR xi_allocmask . +This is the number of inodes allocated in this group. +.PP +.I xi_allocmask +is a bitmask of inodes that are allocated in this inode group. +The bitmask is 64 bits long, and the least significant bit corresponds to inode +.BR xi_startino . +.SH RETURN VALUE +On error, \-1 is returned, and +.I errno +is set to indicate the error. +.PP +.SH ERRORS +Error codes can be one of, but are not limited to, the following: +.TP +.B EFAULT +The kernel was not able to copy into the userspace buffer. +.TP +.B EFSBADCRC +Metadata checksum validation failed while performing the query. +.TP +.B EFSCORRUPTED +Metadata corruption was encountered while performing the query. +.TP +.B EINVAL +One of the arguments was not valid. +.TP +.B EIO +An I/O error was encountered while performing the query. +.TP +.B ENOMEM +There was insufficient memory to perform the query. +.SH CONFORMING TO +This API is specific to XFS filesystem on the Linux kernel. +.SH SEE ALSO +.BR ioctl (2) |