]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: specify AG in bulk req
authorDarrick J. Wong <darrick.wong@oracle.com>
Wed, 14 Aug 2019 22:05:17 +0000 (18:05 -0400)
committerEric Sandeen <sandeen@redhat.com>
Wed, 14 Aug 2019 22:05:17 +0000 (18:05 -0400)
Source kernel commit: 13d59a2a61cbbb4cda13a0cba6d4d1fc537f5dd4

Add a new xfs_bulk_ireq flag to constrain the iteration to a single AG.
If the passed-in startino value is zero then we start with the first
inode in the AG that the user passes in; otherwise, we iterate only
within the same AG as the passed-in inode.

Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Allison Collins <allison.henderson@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_fs.h

index 8e54cc3bd4f4b7f65ab8faa3548bc4fe60327217..0d6aa24a737dd717cfdb3983e922388ada66d324 100644 (file)
@@ -483,11 +483,17 @@ struct xfs_bulk_ireq {
        uint32_t        flags;          /* I/O: operation flags         */
        uint32_t        icount;         /* I: count of entries in buffer */
        uint32_t        ocount;         /* O: count of entries filled out */
-       uint32_t        reserved32;     /* must be zero                 */
+       uint32_t        agno;           /* I: see comment for IREQ_AGNO */
        uint64_t        reserved[5];    /* must be zero                 */
 };
 
-#define XFS_BULK_IREQ_FLAGS_ALL        (0)
+/*
+ * Only return results from the specified @agno.  If @ino is zero, start
+ * with the first inode of @agno.
+ */
+#define XFS_BULK_IREQ_AGNO     (1 << 0)
+
+#define XFS_BULK_IREQ_FLAGS_ALL        (XFS_BULK_IREQ_AGNO)
 
 /*
  * ioctl structures for v5 bulkstat and inumbers requests