aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Scott <nathans@sgi.com>2005-09-02 02:40:17 -0400
committerNathan Scott <nathans@sgi.com>2005-09-02 02:40:17 -0400
commitbcec2b7f2bf856bdf2a8780a57fe78417a513682 (patch)
tree9eee863e455b22d18727610e09ff8111af9d62e9
parenteedb5530aad71aecbc1e99cb67f676c26280d3f9 (diff)
[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: Nathan Scott <nathans@sgi.com>
-rw-r--r--fs/xfs/linux-2.6/xfs_aops.c11
-rw-r--r--fs/xfs/linux-2.6/xfs_lrw.h7
2 files changed, 15 insertions, 3 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c
index a3a4b5aaf5d9..bd9aba1f2353 100644
--- a/fs/xfs/linux-2.6/xfs_aops.c
+++ b/fs/xfs/linux-2.6/xfs_aops.c
@@ -1202,6 +1202,16 @@ out_unlock:
1202 return error; 1202 return error;
1203} 1203}
1204 1204
1205STATIC int
1206linvfs_invalidate_page(
1207 struct page *page,
1208 unsigned long offset)
1209{
1210 xfs_page_trace(XFS_INVALIDPAGE_ENTER,
1211 page->mapping->host, page, offset);
1212 return block_invalidatepage(page, offset);
1213}
1214
1205/* 1215/*
1206 * Called to move a page into cleanable state - and from there 1216 * Called to move a page into cleanable state - and from there
1207 * to be released. Possibly the page is already clean. We always 1217 * to be released. Possibly the page is already clean. We always
@@ -1279,6 +1289,7 @@ struct address_space_operations linvfs_aops = {
1279 .writepage = linvfs_writepage, 1289 .writepage = linvfs_writepage,
1280 .sync_page = block_sync_page, 1290 .sync_page = block_sync_page,
1281 .releasepage = linvfs_release_page, 1291 .releasepage = linvfs_release_page,
1292 .invalidatepage = linvfs_invalidate_page,
1282 .prepare_write = linvfs_prepare_write, 1293 .prepare_write = linvfs_prepare_write,
1283 .commit_write = generic_commit_write, 1294 .commit_write = generic_commit_write,
1284 .bmap = linvfs_bmap, 1295 .bmap = linvfs_bmap,
diff --git a/fs/xfs/linux-2.6/xfs_lrw.h b/fs/xfs/linux-2.6/xfs_lrw.h
index f197a720e394..6294dcdb797c 100644
--- a/fs/xfs/linux-2.6/xfs_lrw.h
+++ b/fs/xfs/linux-2.6/xfs_lrw.h
@@ -70,9 +70,10 @@ struct xfs_iomap;
70#define XFS_SENDFILE_ENTER 21 70#define XFS_SENDFILE_ENTER 21
71#define XFS_WRITEPAGE_ENTER 22 71#define XFS_WRITEPAGE_ENTER 22
72#define XFS_RELEASEPAGE_ENTER 23 72#define XFS_RELEASEPAGE_ENTER 23
73#define XFS_IOMAP_ALLOC_ENTER 24 73#define XFS_INVALIDPAGE_ENTER 24
74#define XFS_IOMAP_ALLOC_MAP 25 74#define XFS_IOMAP_ALLOC_ENTER 25
75#define XFS_IOMAP_UNWRITTEN 26 75#define XFS_IOMAP_ALLOC_MAP 26
76#define XFS_IOMAP_UNWRITTEN 27
76extern void xfs_rw_enter_trace(int, struct xfs_iocore *, 77extern void xfs_rw_enter_trace(int, struct xfs_iocore *,
77 void *, size_t, loff_t, int); 78 void *, size_t, loff_t, int);
78extern void xfs_inval_cached_trace(struct xfs_iocore *, 79extern void xfs_inval_cached_trace(struct xfs_iocore *,