Commit bcec2b7f authored by Nathan Scott's avatar Nathan Scott

[XFS] Add a chunk of tracing code to diagnose truncate related issues.

SGI-PV: 938410
SGI-Modid: xfs-linux:xfs-kern:22966a
Signed-off-by: default avatarNathan Scott <nathans@sgi.com>
parent eedb5530
...@@ -1202,6 +1202,16 @@ linvfs_writepage( ...@@ -1202,6 +1202,16 @@ linvfs_writepage(
return error; return error;
} }
STATIC int
linvfs_invalidate_page(
struct page *page,
unsigned long offset)
{
xfs_page_trace(XFS_INVALIDPAGE_ENTER,
page->mapping->host, page, offset);
return block_invalidatepage(page, offset);
}
/* /*
* Called to move a page into cleanable state - and from there * Called to move a page into cleanable state - and from there
* to be released. Possibly the page is already clean. We always * to be released. Possibly the page is already clean. We always
...@@ -1279,6 +1289,7 @@ struct address_space_operations linvfs_aops = { ...@@ -1279,6 +1289,7 @@ struct address_space_operations linvfs_aops = {
.writepage = linvfs_writepage, .writepage = linvfs_writepage,
.sync_page = block_sync_page, .sync_page = block_sync_page,
.releasepage = linvfs_release_page, .releasepage = linvfs_release_page,
.invalidatepage = linvfs_invalidate_page,
.prepare_write = linvfs_prepare_write, .prepare_write = linvfs_prepare_write,
.commit_write = generic_commit_write, .commit_write = generic_commit_write,
.bmap = linvfs_bmap, .bmap = linvfs_bmap,
......
...@@ -70,9 +70,10 @@ struct xfs_iomap; ...@@ -70,9 +70,10 @@ struct xfs_iomap;
#define XFS_SENDFILE_ENTER 21 #define XFS_SENDFILE_ENTER 21
#define XFS_WRITEPAGE_ENTER 22 #define XFS_WRITEPAGE_ENTER 22
#define XFS_RELEASEPAGE_ENTER 23 #define XFS_RELEASEPAGE_ENTER 23
#define XFS_IOMAP_ALLOC_ENTER 24 #define XFS_INVALIDPAGE_ENTER 24
#define XFS_IOMAP_ALLOC_MAP 25 #define XFS_IOMAP_ALLOC_ENTER 25
#define XFS_IOMAP_UNWRITTEN 26 #define XFS_IOMAP_ALLOC_MAP 26
#define XFS_IOMAP_UNWRITTEN 27
extern void xfs_rw_enter_trace(int, struct xfs_iocore *, extern void xfs_rw_enter_trace(int, struct xfs_iocore *,
void *, size_t, loff_t, int); void *, size_t, loff_t, int);
extern void xfs_inval_cached_trace(struct xfs_iocore *, extern void xfs_inval_cached_trace(struct xfs_iocore *,
......
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