]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs_db: convert the agresv command to use for_each_perag libxfs-5.14-sync
authorDarrick J. Wong <djwong@kernel.org>
Fri, 15 Oct 2021 20:28:27 +0000 (16:28 -0400)
committerEric Sandeen <sandeen@sandeen.net>
Fri, 15 Oct 2021 20:28:27 +0000 (16:28 -0400)
Convert the AG iteration loop for this debugger command to use
for_each_perag, since it's the only place in userspace that obvious
wants it.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
db/info.c

index 2ecaea647fd977fc8bfed5095c218799102ccfa3..fdee76ba50ab21521ede0d01b97a7f68b3f49ff7 100644 (file)
--- a/db/info.c
+++ b/db/info.c
@@ -62,11 +62,11 @@ agresv_help(void)
 
 static void
 print_agresv_info(
-       xfs_agnumber_t  agno)
+       struct xfs_perag *pag)
 {
        struct xfs_buf  *bp;
        struct xfs_agf  *agf;
-       struct xfs_perag *pag = libxfs_perag_get(mp, agno);
+       xfs_agnumber_t  agno = pag->pag_agno;
        xfs_extlen_t    ask = 0;
        xfs_extlen_t    used = 0;
        xfs_extlen_t    free = 0;
@@ -97,7 +97,6 @@ print_agresv_info(
        if (ask - used > free)
                printf(" <not enough space>");
        printf("\n");
-       libxfs_perag_put(pag);
 }
 
 static int
@@ -105,6 +104,7 @@ agresv_f(
        int                     argc,
        char                    **argv)
 {
+       struct xfs_perag        *pag;
        xfs_agnumber_t          agno;
        int                     i;
 
@@ -127,13 +127,15 @@ agresv_f(
                                continue;
                        }
 
-                       print_agresv_info(a);
+                       pag = libxfs_perag_get(mp, a);
+                       print_agresv_info(pag);
+                       libxfs_perag_put(pag);
                }
                return 0;
        }
 
-       for (agno = 0; agno < mp->m_sb.sb_agcount; agno++)
-               print_agresv_info(agno);
+       for_each_perag(mp, agno, pag)
+               print_agresv_info(pag);
 
        return 0;
 }