]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: use xfs_iext_get_extent instead of open coding it
authorChristoph Hellwig <hch@lst.de>
Fri, 17 Nov 2017 04:08:59 +0000 (22:08 -0600)
committerEric Sandeen <sandeen@redhat.com>
Fri, 17 Nov 2017 04:08:59 +0000 (22:08 -0600)
Source kernel commit: e3f0f7563e8a2589e3acc26a41f7a7867a33536d

This avoids exposure to details of the extent list implementation.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_bmap.c

index 1662f7dc0b3571d3f7ed44e7847bfe4d0aa45861..836655707dfc2b543a665dfc1e71d84cb85a7828 100644 (file)
@@ -1445,7 +1445,7 @@ xfs_bmap_last_extent(
                return 0;
        }
 
-       xfs_bmbt_get_all(xfs_iext_get_ext(ifp, nextents - 1), rec);
+       xfs_iext_get_extent(ifp, nextents - 1, rec);
        *is_empty = 0;
        return 0;
 }
@@ -1531,7 +1531,6 @@ xfs_bmap_one_block(
        xfs_inode_t     *ip,            /* incore inode */
        int             whichfork)      /* data or attr fork */
 {
-       xfs_bmbt_rec_host_t *ep;        /* ptr to fork's extent */
        xfs_ifork_t     *ifp;           /* inode fork pointer */
        int             rval;           /* return value */
        xfs_bmbt_irec_t s;              /* internal version of extent */
@@ -1546,8 +1545,7 @@ xfs_bmap_one_block(
                return 0;
        ifp = XFS_IFORK_PTR(ip, whichfork);
        ASSERT(ifp->if_flags & XFS_IFEXTENTS);
-       ep = xfs_iext_get_ext(ifp, 0);
-       xfs_bmbt_get_all(ep, &s);
+       xfs_iext_get_extent(ifp, 0, &s);
        rval = s.br_startoff == 0 && s.br_blockcount == 1;
        if (rval && whichfork == XFS_DATA_FORK)
                ASSERT(XFS_ISIZE(ip) == ip->i_mount->m_sb.sb_blocksize);
@@ -1633,7 +1631,7 @@ xfs_bmap_add_extent_delay_real(
         */
        if (bma->idx > 0) {
                state |= BMAP_LEFT_VALID;
-               xfs_bmbt_get_all(xfs_iext_get_ext(ifp, bma->idx - 1), &LEFT);
+               xfs_iext_get_extent(ifp, bma->idx - 1, &LEFT);
 
                if (isnullstartblock(LEFT.br_startblock))
                        state |= BMAP_LEFT_DELAY;
@@ -1653,7 +1651,7 @@ xfs_bmap_add_extent_delay_real(
         */
        if (bma->idx < xfs_iext_count(ifp) - 1) {
                state |= BMAP_RIGHT_VALID;
-               xfs_bmbt_get_all(xfs_iext_get_ext(ifp, bma->idx + 1), &RIGHT);
+               xfs_iext_get_extent(ifp, bma->idx + 1, &RIGHT);
 
                if (isnullstartblock(RIGHT.br_startblock))
                        state |= BMAP_RIGHT_DELAY;
@@ -2200,7 +2198,7 @@ xfs_bmap_add_extent_unwritten_real(
         */
        if (*idx > 0) {
                state |= BMAP_LEFT_VALID;
-               xfs_bmbt_get_all(xfs_iext_get_ext(ifp, *idx - 1), &LEFT);
+               xfs_iext_get_extent(ifp, *idx - 1, &LEFT);
 
                if (isnullstartblock(LEFT.br_startblock))
                        state |= BMAP_LEFT_DELAY;
@@ -2220,7 +2218,7 @@ xfs_bmap_add_extent_unwritten_real(
         */
        if (*idx < xfs_iext_count(ifp) - 1) {
                state |= BMAP_RIGHT_VALID;
-               xfs_bmbt_get_all(xfs_iext_get_ext(ifp, *idx + 1), &RIGHT);
+               xfs_iext_get_extent(ifp, *idx + 1, &RIGHT);
                if (isnullstartblock(RIGHT.br_startblock))
                        state |= BMAP_RIGHT_DELAY;
        }
@@ -2694,7 +2692,7 @@ xfs_bmap_add_extent_hole_delay(
         */
        if (*idx > 0) {
                state |= BMAP_LEFT_VALID;
-               xfs_bmbt_get_all(xfs_iext_get_ext(ifp, *idx - 1), &left);
+               xfs_iext_get_extent(ifp, *idx - 1, &left);
 
                if (isnullstartblock(left.br_startblock))
                        state |= BMAP_LEFT_DELAY;
@@ -2706,7 +2704,7 @@ xfs_bmap_add_extent_hole_delay(
         */
        if (*idx < xfs_iext_count(ifp)) {
                state |= BMAP_RIGHT_VALID;
-               xfs_bmbt_get_all(xfs_iext_get_ext(ifp, *idx), &right);
+               xfs_iext_get_extent(ifp, *idx, &right);
 
                if (isnullstartblock(right.br_startblock))
                        state |= BMAP_RIGHT_DELAY;
@@ -2858,7 +2856,7 @@ xfs_bmap_add_extent_hole_real(
         */
        if (*idx > 0) {
                state |= BMAP_LEFT_VALID;
-               xfs_bmbt_get_all(xfs_iext_get_ext(ifp, *idx - 1), &left);
+               xfs_iext_get_extent(ifp, *idx - 1, &left);
                if (isnullstartblock(left.br_startblock))
                        state |= BMAP_LEFT_DELAY;
        }
@@ -2869,7 +2867,7 @@ xfs_bmap_add_extent_hole_real(
         */
        if (*idx < xfs_iext_count(ifp)) {
                state |= BMAP_RIGHT_VALID;
-               xfs_bmbt_get_all(xfs_iext_get_ext(ifp, *idx), &right);
+               xfs_iext_get_extent(ifp, *idx, &right);
                if (isnullstartblock(right.br_startblock))
                        state |= BMAP_RIGHT_DELAY;
        }
@@ -4198,10 +4196,8 @@ xfs_bmapi_allocate(
        if (bma->wasdel) {
                bma->length = (xfs_extlen_t)bma->got.br_blockcount;
                bma->offset = bma->got.br_startoff;
-               if (bma->idx) {
-                       xfs_bmbt_get_all(xfs_iext_get_ext(ifp, bma->idx - 1),
-                                        &bma->prev);
-               }
+               if (bma->idx)
+                       xfs_iext_get_extent(ifp, bma->idx - 1, &bma->prev);
        } else {
                bma->length = XFS_FILBLKS_MIN(bma->length, MAXEXTLEN);
                if (!bma->eof)
@@ -4298,7 +4294,7 @@ xfs_bmapi_allocate(
         * or xfs_bmap_add_extent_hole_real might have merged it into one of
         * the neighbouring ones.
         */
-       xfs_bmbt_get_all(xfs_iext_get_ext(ifp, bma->idx), &bma->got);
+       xfs_iext_get_extent(ifp, bma->idx, &bma->got);
 
        ASSERT(bma->got.br_startoff <= bma->offset);
        ASSERT(bma->got.br_startoff + bma->got.br_blockcount >=
@@ -4379,7 +4375,7 @@ xfs_bmapi_convert_unwritten(
         * xfs_bmap_add_extent_unwritten_real might have merged it into one
         * of the neighbouring ones.
         */
-       xfs_bmbt_get_all(xfs_iext_get_ext(ifp, bma->idx), &bma->got);
+       xfs_iext_get_extent(ifp, bma->idx, &bma->got);
 
        /*
         * We may have combined previously unwritten space with written space,
@@ -5578,8 +5574,8 @@ __xfs_bunmapi(
                                        del.br_blockcount : mod;
                                if (bno < got.br_startoff) {
                                        if (--lastx >= 0)
-                                               xfs_bmbt_get_all(xfs_iext_get_ext(
-                                                       ifp, lastx), &got);
+                                               xfs_iext_get_extent(ifp, lastx,
+                                                               &got);
                                }
                                continue;
                        }