Re: [PATCH 11/12] xfs: remove the special COW fork handling in xfs_bmapi_read

Darrick J. Wong
2020-05-16T17:52:10Z

On Fri, May 08, 2020 at 08:34:22AM +0200, Christoph Hellwig wrote:
> We don't call xfs_bmapi_read for the COW fork anymore, so remove the
> special casing.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>
> Reviewed-by: Brian Foster <bfoster@redhat.com>

I was surprised this assertion, but apparently it's true, even in my dev
tree, so:
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D

> ---
> fs/xfs/libxfs/xfs_bmap.c | 13 +------------
> 1 file changed, 1 insertion(+), 12 deletions(-)
>
> diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
> index fda13cd7add0e..76be1a18e2442 100644
> --- a/fs/xfs/libxfs/xfs_bmap.c
> +++ b/fs/xfs/libxfs/xfs_bmap.c
> @@ -3902,8 +3902,7 @@ xfs_bmapi_read(
> int whichfork = xfs_bmapi_whichfork(flags);
>
> ASSERT(*nmap >= 1);
> - ASSERT(!(flags & ~(XFS_BMAPI_ATTRFORK|XFS_BMAPI_ENTIRE|
> - XFS_BMAPI_COWFORK)));
> + ASSERT(!(flags & ~(XFS_BMAPI_ATTRFORK | XFS_BMAPI_ENTIRE)));
> ASSERT(xfs_isilocked(ip, XFS_ILOCK_SHARED|XFS_ILOCK_EXCL));
>
> if (XFS_IS_CORRUPT(mp, !xfs_ifork_has_extents(ip, whichfork)) ||
> @@ -3918,16 +3917,6 @@ xfs_bmapi_read(
>
> ifp = XFS_IFORK_PTR(ip, whichfork);
> if (!ifp) {
> - /* No CoW fork? Return a hole. */
> - if (whichfork == XFS_COW_FORK) {
> - mval->br_startoff = bno;
> - mval->br_startblock = HOLESTARTBLOCK;
> - mval->br_blockcount = len;
> - mval->br_state = XFS_EXT_NORM;
> - *nmap = 1;
> - return 0;
> - }
> -
> /*
> * A missing attr ifork implies that the inode says we're in
> * extents or btree format but failed to pass the inode fork
> --
> 2.26.2
>