mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-24 01:09:38 -05:00
xfs: remove ->b_offset handling for page backed buffers
->b_offset can only be non-zero for _XBF_KMEM backed buffers, so remove all code dealing with it for page backed buffers. Signed-off-by: Christoph Hellwig <hch@lst.de> [dgc: modified to fit this patchset] Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org>
This commit is contained in:
parent
e7d236a6fe
commit
54cd3aa6f8
2 changed files with 5 additions and 6 deletions
|
@ -79,7 +79,7 @@ static inline int
|
|||
xfs_buf_vmap_len(
|
||||
struct xfs_buf *bp)
|
||||
{
|
||||
return (bp->b_page_count * PAGE_SIZE) - bp->b_offset;
|
||||
return (bp->b_page_count * PAGE_SIZE);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -281,7 +281,7 @@ xfs_buf_free_pages(
|
|||
ASSERT(bp->b_flags & _XBF_PAGES);
|
||||
|
||||
if (xfs_buf_is_vmapped(bp))
|
||||
vm_unmap_ram(bp->b_addr - bp->b_offset, bp->b_page_count);
|
||||
vm_unmap_ram(bp->b_addr, bp->b_page_count);
|
||||
|
||||
for (i = 0; i < bp->b_page_count; i++) {
|
||||
if (bp->b_pages[i])
|
||||
|
@ -442,7 +442,7 @@ _xfs_buf_map_pages(
|
|||
ASSERT(bp->b_flags & _XBF_PAGES);
|
||||
if (bp->b_page_count == 1) {
|
||||
/* A single page buffer is always mappable */
|
||||
bp->b_addr = page_address(bp->b_pages[0]) + bp->b_offset;
|
||||
bp->b_addr = page_address(bp->b_pages[0]);
|
||||
} else if (flags & XBF_UNMAPPED) {
|
||||
bp->b_addr = NULL;
|
||||
} else {
|
||||
|
@ -469,7 +469,6 @@ _xfs_buf_map_pages(
|
|||
|
||||
if (!bp->b_addr)
|
||||
return -ENOMEM;
|
||||
bp->b_addr += bp->b_offset;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -1680,7 +1679,6 @@ xfs_buf_offset(
|
|||
if (bp->b_addr)
|
||||
return bp->b_addr + offset;
|
||||
|
||||
offset += bp->b_offset;
|
||||
page = bp->b_pages[offset >> PAGE_SHIFT];
|
||||
return page_address(page) + (offset & (PAGE_SIZE-1));
|
||||
}
|
||||
|
|
|
@ -167,7 +167,8 @@ struct xfs_buf {
|
|||
atomic_t b_pin_count; /* pin count */
|
||||
atomic_t b_io_remaining; /* #outstanding I/O requests */
|
||||
unsigned int b_page_count; /* size of page array */
|
||||
unsigned int b_offset; /* page offset in first page */
|
||||
unsigned int b_offset; /* page offset of b_addr,
|
||||
only for _XBF_KMEM buffers */
|
||||
int b_error; /* error code on I/O */
|
||||
|
||||
/*
|
||||
|
|
Loading…
Add table
Reference in a new issue