diff options
author | Nathan Scott <nathans@sgi.com> | 2005-09-02 02:40:17 -0400 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-09-02 02:40:17 -0400 |
commit | bcec2b7f2bf856bdf2a8780a57fe78417a513682 (patch) | |
tree | 9eee863e455b22d18727610e09ff8111af9d62e9 | |
parent | eedb5530aad71aecbc1e99cb67f676c26280d3f9 (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.c | 11 | ||||
-rw-r--r-- | fs/xfs/linux-2.6/xfs_lrw.h | 7 |
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 | ||
1205 | STATIC int | ||
1206 | linvfs_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 | ||
76 | extern void xfs_rw_enter_trace(int, struct xfs_iocore *, | 77 | extern void xfs_rw_enter_trace(int, struct xfs_iocore *, |
77 | void *, size_t, loff_t, int); | 78 | void *, size_t, loff_t, int); |
78 | extern void xfs_inval_cached_trace(struct xfs_iocore *, | 79 | extern void xfs_inval_cached_trace(struct xfs_iocore *, |