• Christoph Hellwig's avatar
    xfs: remove xfs_map_cow · 5c665e5b
    Christoph Hellwig authored
    We can handle the existing cow mapping case as a special case directly
    in xfs_writepage_map, and share code for allocating delalloc blocks
    with regular I/O in xfs_map_blocks.  This means we need to always
    call xfs_map_blocks for reflink inodes, but we can still skip most of
    the work if it turns out that there is no COW mapping overlapping the
    current block.
    
    As a subtle detail we need to start caching holes in the wpc to deal
    with the case of COW reservations between EOF.  But we'll need that
    infrastructure later anyway, so this is no big deal.
    
    Based on a patch from Dave Chinner.
    Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
    Reviewed-by: default avatarBrian Foster <bfoster@redhat.com>
    Reviewed-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    Signed-off-by: default avatarDarrick J. Wong <darrick.wong@oracle.com>
    5c665e5b
xfs_aops.c 39.4 KB