Commit 54cd3aa6 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Dave Chinner

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: default avatarChristoph Hellwig <hch@lst.de>
[dgc: modified to fit this patchset]
Signed-off-by: default avatarDave Chinner <dchinner@redhat.com>
Reviewed-by: default avatarDarrick J. Wong <djwong@kernel.org>
parent e7d236a6
...@@ -79,7 +79,7 @@ static inline int ...@@ -79,7 +79,7 @@ static inline int
xfs_buf_vmap_len( xfs_buf_vmap_len(
struct xfs_buf *bp) 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( ...@@ -281,7 +281,7 @@ xfs_buf_free_pages(
ASSERT(bp->b_flags & _XBF_PAGES); ASSERT(bp->b_flags & _XBF_PAGES);
if (xfs_buf_is_vmapped(bp)) 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++) { for (i = 0; i < bp->b_page_count; i++) {
if (bp->b_pages[i]) if (bp->b_pages[i])
...@@ -442,7 +442,7 @@ _xfs_buf_map_pages( ...@@ -442,7 +442,7 @@ _xfs_buf_map_pages(
ASSERT(bp->b_flags & _XBF_PAGES); ASSERT(bp->b_flags & _XBF_PAGES);
if (bp->b_page_count == 1) { if (bp->b_page_count == 1) {
/* A single page buffer is always mappable */ /* 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) { } else if (flags & XBF_UNMAPPED) {
bp->b_addr = NULL; bp->b_addr = NULL;
} else { } else {
...@@ -469,7 +469,6 @@ _xfs_buf_map_pages( ...@@ -469,7 +469,6 @@ _xfs_buf_map_pages(
if (!bp->b_addr) if (!bp->b_addr)
return -ENOMEM; return -ENOMEM;
bp->b_addr += bp->b_offset;
} }
return 0; return 0;
...@@ -1680,7 +1679,6 @@ xfs_buf_offset( ...@@ -1680,7 +1679,6 @@ xfs_buf_offset(
if (bp->b_addr) if (bp->b_addr)
return bp->b_addr + offset; return bp->b_addr + offset;
offset += bp->b_offset;
page = bp->b_pages[offset >> PAGE_SHIFT]; page = bp->b_pages[offset >> PAGE_SHIFT];
return page_address(page) + (offset & (PAGE_SIZE-1)); return page_address(page) + (offset & (PAGE_SIZE-1));
} }
......
...@@ -167,7 +167,8 @@ struct xfs_buf { ...@@ -167,7 +167,8 @@ struct xfs_buf {
atomic_t b_pin_count; /* pin count */ atomic_t b_pin_count; /* pin count */
atomic_t b_io_remaining; /* #outstanding I/O requests */ atomic_t b_io_remaining; /* #outstanding I/O requests */
unsigned int b_page_count; /* size of page array */ 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 */ int b_error; /* error code on I/O */
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment