xfs: use ->invalidatepage() length argument
->invalidatepage() aop now accepts range to invalidate so we can make use of it in xfs_vm_invalidatepage() Signed-off-by: Lukas Czerner <lczerner@redhat.com> Acked-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Ben Myers <bpm@sgi.com> Cc: xfs@oss.sgi.com
This commit is contained in:
committed by
Theodore Ts'o
parent
d8c8900ac1
commit
34097dfe88
@@ -827,8 +827,9 @@ xfs_vm_invalidatepage(
|
|||||||
unsigned int offset,
|
unsigned int offset,
|
||||||
unsigned int length)
|
unsigned int length)
|
||||||
{
|
{
|
||||||
trace_xfs_invalidatepage(page->mapping->host, page, offset);
|
trace_xfs_invalidatepage(page->mapping->host, page, offset,
|
||||||
block_invalidatepage(page, offset, PAGE_CACHE_SIZE - offset);
|
length);
|
||||||
|
block_invalidatepage(page, offset, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -922,7 +923,7 @@ xfs_vm_writepage(
|
|||||||
int count = 0;
|
int count = 0;
|
||||||
int nonblocking = 0;
|
int nonblocking = 0;
|
||||||
|
|
||||||
trace_xfs_writepage(inode, page, 0);
|
trace_xfs_writepage(inode, page, 0, 0);
|
||||||
|
|
||||||
ASSERT(page_has_buffers(page));
|
ASSERT(page_has_buffers(page));
|
||||||
|
|
||||||
@@ -1153,7 +1154,7 @@ xfs_vm_releasepage(
|
|||||||
{
|
{
|
||||||
int delalloc, unwritten;
|
int delalloc, unwritten;
|
||||||
|
|
||||||
trace_xfs_releasepage(page->mapping->host, page, 0);
|
trace_xfs_releasepage(page->mapping->host, page, 0, 0);
|
||||||
|
|
||||||
xfs_count_page_state(page, &delalloc, &unwritten);
|
xfs_count_page_state(page, &delalloc, &unwritten);
|
||||||
|
|
||||||
|
@@ -974,14 +974,16 @@ DEFINE_RW_EVENT(xfs_file_splice_read);
|
|||||||
DEFINE_RW_EVENT(xfs_file_splice_write);
|
DEFINE_RW_EVENT(xfs_file_splice_write);
|
||||||
|
|
||||||
DECLARE_EVENT_CLASS(xfs_page_class,
|
DECLARE_EVENT_CLASS(xfs_page_class,
|
||||||
TP_PROTO(struct inode *inode, struct page *page, unsigned long off),
|
TP_PROTO(struct inode *inode, struct page *page, unsigned long off,
|
||||||
TP_ARGS(inode, page, off),
|
unsigned int len),
|
||||||
|
TP_ARGS(inode, page, off, len),
|
||||||
TP_STRUCT__entry(
|
TP_STRUCT__entry(
|
||||||
__field(dev_t, dev)
|
__field(dev_t, dev)
|
||||||
__field(xfs_ino_t, ino)
|
__field(xfs_ino_t, ino)
|
||||||
__field(pgoff_t, pgoff)
|
__field(pgoff_t, pgoff)
|
||||||
__field(loff_t, size)
|
__field(loff_t, size)
|
||||||
__field(unsigned long, offset)
|
__field(unsigned long, offset)
|
||||||
|
__field(unsigned int, length)
|
||||||
__field(int, delalloc)
|
__field(int, delalloc)
|
||||||
__field(int, unwritten)
|
__field(int, unwritten)
|
||||||
),
|
),
|
||||||
@@ -995,24 +997,27 @@ DECLARE_EVENT_CLASS(xfs_page_class,
|
|||||||
__entry->pgoff = page_offset(page);
|
__entry->pgoff = page_offset(page);
|
||||||
__entry->size = i_size_read(inode);
|
__entry->size = i_size_read(inode);
|
||||||
__entry->offset = off;
|
__entry->offset = off;
|
||||||
|
__entry->length = len;
|
||||||
__entry->delalloc = delalloc;
|
__entry->delalloc = delalloc;
|
||||||
__entry->unwritten = unwritten;
|
__entry->unwritten = unwritten;
|
||||||
),
|
),
|
||||||
TP_printk("dev %d:%d ino 0x%llx pgoff 0x%lx size 0x%llx offset %lx "
|
TP_printk("dev %d:%d ino 0x%llx pgoff 0x%lx size 0x%llx offset %lx "
|
||||||
"delalloc %d unwritten %d",
|
"length %x delalloc %d unwritten %d",
|
||||||
MAJOR(__entry->dev), MINOR(__entry->dev),
|
MAJOR(__entry->dev), MINOR(__entry->dev),
|
||||||
__entry->ino,
|
__entry->ino,
|
||||||
__entry->pgoff,
|
__entry->pgoff,
|
||||||
__entry->size,
|
__entry->size,
|
||||||
__entry->offset,
|
__entry->offset,
|
||||||
|
__entry->length,
|
||||||
__entry->delalloc,
|
__entry->delalloc,
|
||||||
__entry->unwritten)
|
__entry->unwritten)
|
||||||
)
|
)
|
||||||
|
|
||||||
#define DEFINE_PAGE_EVENT(name) \
|
#define DEFINE_PAGE_EVENT(name) \
|
||||||
DEFINE_EVENT(xfs_page_class, name, \
|
DEFINE_EVENT(xfs_page_class, name, \
|
||||||
TP_PROTO(struct inode *inode, struct page *page, unsigned long off), \
|
TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
|
||||||
TP_ARGS(inode, page, off))
|
unsigned int len), \
|
||||||
|
TP_ARGS(inode, page, off, len))
|
||||||
DEFINE_PAGE_EVENT(xfs_writepage);
|
DEFINE_PAGE_EVENT(xfs_writepage);
|
||||||
DEFINE_PAGE_EVENT(xfs_releasepage);
|
DEFINE_PAGE_EVENT(xfs_releasepage);
|
||||||
DEFINE_PAGE_EVENT(xfs_invalidatepage);
|
DEFINE_PAGE_EVENT(xfs_invalidatepage);
|
||||||
|
Reference in New Issue
Block a user