Commit 48a325a4 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Carlos Maiolino
Browse files

xfs: remove xfs_buf_is_vmapped



No need to look at the page count if we can simply call is_vmalloc_addr
on bp->b_addr.  This prepares for eventualy removing the b_page_count
field.

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
Signed-off-by: default avatarCarlos Maiolino <cem@kernel.org>
parent 51e10993
Loading
Loading
Loading
Loading
+3 −17
Original line number Diff line number Diff line
@@ -55,20 +55,6 @@ static inline bool xfs_buf_is_uncached(struct xfs_buf *bp)
	return bp->b_rhash_key == XFS_BUF_DADDR_NULL;
}

static inline int
xfs_buf_is_vmapped(
	struct xfs_buf	*bp)
{
	/*
	 * Return true if the buffer is vmapped.
	 *
	 * b_addr is null if the buffer is not mapped, but the code is clever
	 * enough to know it doesn't have to map a single page, so the check has
	 * to be both for b_addr and bp->b_page_count > 1.
	 */
	return bp->b_addr && bp->b_page_count > 1;
}

static inline int
xfs_buf_vmap_len(
	struct xfs_buf	*bp)
@@ -212,7 +198,7 @@ xfs_buf_free_pages(

	ASSERT(bp->b_flags & _XBF_PAGES);

	if (xfs_buf_is_vmapped(bp))
	if (is_vmalloc_addr(bp->b_addr))
		vm_unmap_ram(bp->b_addr, bp->b_page_count);

	for (i = 0; i < bp->b_page_count; i++) {
@@ -1298,7 +1284,7 @@ __xfs_buf_ioend(
	trace_xfs_buf_iodone(bp, _RET_IP_);

	if (bp->b_flags & XBF_READ) {
		if (!bp->b_error && xfs_buf_is_vmapped(bp))
		if (!bp->b_error && bp->b_addr && is_vmalloc_addr(bp->b_addr))
			invalidate_kernel_vmap_range(bp->b_addr,
					xfs_buf_vmap_len(bp));
		if (!bp->b_error && bp->b_ops)
@@ -1479,7 +1465,7 @@ xfs_buf_submit_bio(
			__bio_add_page(bio, bp->b_pages[p], PAGE_SIZE, 0);
		bio->bi_iter.bi_size = size; /* limit to the actual size used */

		if (xfs_buf_is_vmapped(bp))
		if (bp->b_addr && is_vmalloc_addr(bp->b_addr))
			flush_kernel_vmap_range(bp->b_addr,
					xfs_buf_vmap_len(bp));
	}