]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfs: use new extent lookup helpers in xfs_bmapi_read
authorChristoph Hellwig <hch@lst.de>
Tue, 10 Jan 2017 02:18:47 +0000 (20:18 -0600)
committerEric Sandeen <sandeen@redhat.com>
Tue, 10 Jan 2017 02:18:47 +0000 (20:18 -0600)
Source kernel commit: 334f3423d6a6c39483aa0744ea044e105ca0e5ae

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Signed-off-by: Eric Sandeen <sandeen@sandeen.net>
libxfs/xfs_bmap.c

index ae6fb3b16d3c92ce630b2cd54a20ba0c88d9fbb8..0f26d9e5c2e347fd98dbe68553968a4e0c38afbc 100644 (file)
@@ -4137,12 +4137,11 @@ xfs_bmapi_read(
        struct xfs_mount        *mp = ip->i_mount;
        struct xfs_ifork        *ifp;
        struct xfs_bmbt_irec    got;
-       struct xfs_bmbt_irec    prev;
        xfs_fileoff_t           obno;
        xfs_fileoff_t           end;
-       xfs_extnum_t            lastx;
+       xfs_extnum_t            idx;
        int                     error;
-       int                     eof;
+       bool                    eof = false;
        int                     n = 0;
        int                     whichfork = xfs_bmapi_whichfork(flags);
 
@@ -4182,7 +4181,8 @@ xfs_bmapi_read(
                        return error;
        }
 
-       xfs_bmap_search_extents(ip, bno, whichfork, &eof, &lastx, &got, &prev);
+       if (!xfs_iext_lookup_extent(ip, ifp, bno, &idx, &got))
+               eof = true;
        end = bno + len;
        obno = bno;
 
@@ -4213,10 +4213,8 @@ xfs_bmapi_read(
                        break;
 
                /* Else go on to the next record. */
-               if (++lastx < xfs_iext_count(ifp))
-                       xfs_bmbt_get_all(xfs_iext_get_ext(ifp, lastx), &got);
-               else
-                       eof = 1;
+               if (!xfs_iext_get_extent(ifp, ++idx, &got))
+                       eof = true;
        }
        *nmap = n;
        return 0;