From: Lukas Czerner <lczerner@redhat.com>
To: linux-mm@kvack.org
Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-ext4@vger.kernel.org, xfs@oss.sgi.com,
Lukas Czerner <lczerner@redhat.com>
Subject: [PATCH 05/18] xfs: use ->invalidatepage() length argument
Date: Fri, 1 Feb 2013 11:43:31 +0100 [thread overview]
Message-ID: <1359715424-32318-6-git-send-email-lczerner@redhat.com> (raw)
In-Reply-To: <1359715424-32318-1-git-send-email-lczerner@redhat.com>
->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>
Cc: xfs@oss.sgi.com
---
fs/xfs/xfs_aops.c | 5 +++--
fs/xfs/xfs_trace.h | 41 ++++++++++++++++++++++++++++++++++++++++-
2 files changed, 43 insertions(+), 3 deletions(-)
diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c
index e426796..e8018d3 100644
--- a/fs/xfs/xfs_aops.c
+++ b/fs/xfs/xfs_aops.c
@@ -826,8 +826,9 @@ xfs_vm_invalidatepage(
unsigned int offset,
unsigned int length)
{
- trace_xfs_invalidatepage(page->mapping->host, page, offset);
- block_invalidatepage(page, offset, PAGE_CACHE_SIZE - offset);
+ trace_xfs_invalidatepage(page->mapping->host, page, offset,
+ length);
+ block_invalidatepage(page, offset, length);
}
/*
diff --git a/fs/xfs/xfs_trace.h b/fs/xfs/xfs_trace.h
index 16a8129..91d6434 100644
--- a/fs/xfs/xfs_trace.h
+++ b/fs/xfs/xfs_trace.h
@@ -991,7 +991,46 @@ DEFINE_EVENT(xfs_page_class, name, \
TP_ARGS(inode, page, off))
DEFINE_PAGE_EVENT(xfs_writepage);
DEFINE_PAGE_EVENT(xfs_releasepage);
-DEFINE_PAGE_EVENT(xfs_invalidatepage);
+
+TRACE_EVENT(xfs_invalidatepage,
+ TP_PROTO(struct inode *inode, struct page *page, unsigned int off,
+ unsigned int len),
+ TP_ARGS(inode, page, off, len),
+ TP_STRUCT__entry(
+ __field(dev_t, dev)
+ __field(xfs_ino_t, ino)
+ __field(pgoff_t, pgoff)
+ __field(loff_t, size)
+ __field(unsigned int, offset)
+ __field(unsigned int, length)
+ __field(int, delalloc)
+ __field(int, unwritten)
+ ),
+ TP_fast_assign(
+ int delalloc = -1, unwritten = -1;
+
+ if (page_has_buffers(page))
+ xfs_count_page_state(page, &delalloc, &unwritten);
+ __entry->dev = inode->i_sb->s_dev;
+ __entry->ino = XFS_I(inode)->i_ino;
+ __entry->pgoff = page_offset(page);
+ __entry->size = i_size_read(inode);
+ __entry->offset = off;
+ __entry->length = len;
+ __entry->delalloc = delalloc;
+ __entry->unwritten = unwritten;
+ ),
+ TP_printk("dev %d:%d ino 0x%llx pgoff 0x%lx size 0x%llx offset %x "
+ "length %x delalloc %d unwritten %d",
+ MAJOR(__entry->dev), MINOR(__entry->dev),
+ __entry->ino,
+ __entry->pgoff,
+ __entry->size,
+ __entry->offset,
+ __entry->length,
+ __entry->delalloc,
+ __entry->unwritten)
+)
DECLARE_EVENT_CLASS(xfs_imap_class,
TP_PROTO(struct xfs_inode *ip, xfs_off_t offset, ssize_t count,
--
1.7.7.6
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2013-02-01 10:43 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-01 10:43 [RFC] mm: change invalidatepage prototype to accept length Lukas Czerner
2013-02-01 10:43 ` [PATCH 01/18] " Lukas Czerner
2013-02-01 10:43 ` [PATCH 02/18] jbd2: change jbd2_journal_invalidatepage " Lukas Czerner
2013-02-01 10:43 ` [PATCH 03/18] ext4: use ->invalidatepage() length argument Lukas Czerner
2013-02-01 10:43 ` [PATCH 04/18] jbd: change journal_invalidatepage() to accept length Lukas Czerner
2013-02-01 10:43 ` Lukas Czerner [this message]
2013-02-01 10:43 ` [PATCH 06/18] ocfs2: use ->invalidatepage() length argument Lukas Czerner
2013-02-01 10:43 ` [PATCH 07/18] ceph: " Lukas Czerner
2013-02-01 10:43 ` [PATCH 08/18] gfs2: " Lukas Czerner
2013-02-01 10:43 ` [PATCH 09/18] reiserfs: " Lukas Czerner
2013-02-01 10:43 ` [PATCH 10/18] mm: teach truncate_inode_pages_range() to handle non page aligned ranges Lukas Czerner
2013-02-01 23:15 ` Andrew Morton
2013-02-04 14:51 ` Lukáš Czerner
2013-02-04 20:51 ` Andrew Morton
2013-02-05 7:14 ` Lukáš Czerner
2013-02-01 10:43 ` [PATCH 11/18] Revert "ext4: remove no longer used functions in inode.c" Lukas Czerner
2013-02-01 10:43 ` [PATCH 12/18] Revert "ext4: fix fsx truncate failure" Lukas Czerner
2013-02-01 10:43 ` [PATCH 13/18] ext4: use ext4_zero_partial_blocks in punch_hole Lukas Czerner
2013-02-01 10:43 ` [PATCH 14/18] ext4: remove unused discard_partial_page_buffers Lukas Czerner
2013-02-01 10:43 ` [PATCH 15/18] ext4: remove unused code from ext4_remove_blocks() Lukas Czerner
2013-02-01 10:43 ` [PATCH 16/18] ext4: update ext4_ext_remove_space trace point Lukas Czerner
2013-02-01 10:43 ` [PATCH 17/18] ext4: make punch hole code path work with bigalloc Lukas Czerner
2013-02-01 10:43 ` [PATCH 18/18] ext4: Allow punch hole with bigalloc enabled Lukas Czerner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1359715424-32318-6-git-send-email-lczerner@redhat.com \
--to=lczerner@redhat.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=xfs@oss.sgi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).