Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bcec2b7f authored by Nathan Scott's avatar Nathan Scott
Browse files

[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
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -1202,6 +1202,16 @@ out_unlock:
	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
 * to be released. Possibly the page is already clean. We always
@@ -1279,6 +1289,7 @@ struct address_space_operations linvfs_aops = {
	.writepage		= linvfs_writepage,
	.sync_page		= block_sync_page,
	.releasepage		= linvfs_release_page,
	.invalidatepage		= linvfs_invalidate_page,
	.prepare_write		= linvfs_prepare_write,
	.commit_write		= generic_commit_write,
	.bmap			= linvfs_bmap,
+4 −3
Original line number Diff line number Diff line
@@ -70,9 +70,10 @@ struct xfs_iomap;
#define	XFS_SENDFILE_ENTER	21
#define	XFS_WRITEPAGE_ENTER	22
#define	XFS_RELEASEPAGE_ENTER	23
#define	XFS_IOMAP_ALLOC_ENTER	24
#define	XFS_IOMAP_ALLOC_MAP	25
#define	XFS_IOMAP_UNWRITTEN	26
#define	XFS_INVALIDPAGE_ENTER	24
#define	XFS_IOMAP_ALLOC_ENTER	25
#define	XFS_IOMAP_ALLOC_MAP	26
#define	XFS_IOMAP_UNWRITTEN	27
extern void xfs_rw_enter_trace(int, struct xfs_iocore *,
				void *, size_t, loff_t, int);
extern void xfs_inval_cached_trace(struct xfs_iocore *,