add patch pass-inode-pointer-instead-of-file-pointer-to-punch-hole
[ext4-patch-queue.git] / xfs-use-invalidatepage-length-argument
blob257360c7644a2b84b4bf7821f665cbb6d70ca870
1 xfs: use ->invalidatepage() length argument
3 From: Lukas Czerner <lczerner@redhat.com>
5 ->invalidatepage() aop now accepts range to invalidate so we can make
6 use of it in xfs_vm_invalidatepage()
8 Signed-off-by: Lukas Czerner <lczerner@redhat.com>
9 Acked-by: Dave Chinner <dchinner@redhat.com>
10 Reviewed-by: Ben Myers <bpm@sgi.com>
11 Cc: xfs@oss.sgi.com
12 ---
13 v4: use xfs_page_class instead of separate tracepoint
15  fs/xfs/xfs_aops.c  |    9 +++++----
16  fs/xfs/xfs_trace.h |   15 ++++++++++-----
17  2 files changed, 15 insertions(+), 9 deletions(-)
19 diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
20 index e426796..55c85ec 100644
21 --- a/fs/xfs/xfs_aops.c
22 +++ b/fs/xfs/xfs_aops.c
23 @@ -826,8 +826,9 @@ xfs_vm_invalidatepage(
24         unsigned int            offset,
25         unsigned int            length)
26  {
27 -       trace_xfs_invalidatepage(page->mapping->host, page, offset);
28 -       block_invalidatepage(page, offset, PAGE_CACHE_SIZE - offset);
29 +       trace_xfs_invalidatepage(page->mapping->host, page, offset,
30 +                                length);
31 +       block_invalidatepage(page, offset, length);
32  }
34  /*
35 @@ -921,7 +922,7 @@ xfs_vm_writepage(
36         int                     count = 0;
37         int                     nonblocking = 0;
39 -       trace_xfs_writepage(inode, page, 0);
40 +       trace_xfs_writepage(inode, page, 0, 0);
42         ASSERT(page_has_buffers(page));
44 @@ -1152,7 +1153,7 @@ xfs_vm_releasepage(
45  {
46         int                     delalloc, unwritten;
48 -       trace_xfs_releasepage(page->mapping->host, page, 0);
49 +       trace_xfs_releasepage(page->mapping->host, page, 0, 0);
51         xfs_count_page_state(page, &delalloc, &unwritten);
53 diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
54 index 16a8129..7f075ed 100644
55 --- a/fs/xfs/xfs_trace.h
56 +++ b/fs/xfs/xfs_trace.h
57 @@ -950,14 +950,16 @@ DEFINE_RW_EVENT(xfs_file_splice_read);
58  DEFINE_RW_EVENT(xfs_file_splice_write);
60  DECLARE_EVENT_CLASS(xfs_page_class,
61 -       TP_PROTO(struct inode *inode, struct page *page, unsigned long off),
62 -       TP_ARGS(inode, page, off),
63 +       TP_PROTO(struct inode *inode, struct page *page, unsigned long off,
64 +                unsigned int len),
65 +       TP_ARGS(inode, page, off, len),
66         TP_STRUCT__entry(
67                 __field(dev_t, dev)
68                 __field(xfs_ino_t, ino)
69                 __field(pgoff_t, pgoff)
70                 __field(loff_t, size)
71                 __field(unsigned long, offset)
72 +               __field(unsigned int, length)
73                 __field(int, delalloc)
74                 __field(int, unwritten)
75         ),
76 @@ -971,24 +973,27 @@ DECLARE_EVENT_CLASS(xfs_page_class,
77                 __entry->pgoff = page_offset(page);
78                 __entry->size = i_size_read(inode);
79                 __entry->offset = off;
80 +               __entry->length = len;
81                 __entry->delalloc = delalloc;
82                 __entry->unwritten = unwritten;
83         ),
84         TP_printk("dev %d:%d ino 0x%llx pgoff 0x%lx size 0x%llx offset %lx "
85 -                 "delalloc %d unwritten %d",
86 +                 "length %x delalloc %d unwritten %d",
87                   MAJOR(__entry->dev), MINOR(__entry->dev),
88                   __entry->ino,
89                   __entry->pgoff,
90                   __entry->size,
91                   __entry->offset,
92 +                 __entry->length,
93                   __entry->delalloc,
94                   __entry->unwritten)
95  )
97  #define DEFINE_PAGE_EVENT(name)                \
98  DEFINE_EVENT(xfs_page_class, name,     \
99 -       TP_PROTO(struct inode *inode, struct page *page, unsigned long off),    \
100 -       TP_ARGS(inode, page, off))
101 +       TP_PROTO(struct inode *inode, struct page *page, unsigned long off, \
102 +                unsigned int len),     \
103 +       TP_ARGS(inode, page, off, len))
104  DEFINE_PAGE_EVENT(xfs_writepage);
105  DEFINE_PAGE_EVENT(xfs_releasepage);
106  DEFINE_PAGE_EVENT(xfs_invalidatepage);
107 -- 
108 1.7.7.6
111 To unsubscribe, send a message with 'unsubscribe linux-mm' in
112 the body to majordomo@kvack.org.  For more info on Linux MM,
113 see: http://www.linux-mm.org/ .
114 Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>