pNFS: Modify pnfs_update_layout tracepoints to use layout stateid

Instead of displaying a layout segment pointer in these tracepoints,
let's use the layout stateid, now that Olga gave us a set of tools for
displaying them.

Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
diff --git a/fs/nfs/nfs4trace.h b/fs/nfs/nfs4trace.h
index 238925c..d08d0c8 100644
--- a/fs/nfs/nfs4trace.h
+++ b/fs/nfs/nfs4trace.h
@@ -1461,10 +1461,10 @@
 			loff_t pos,
 			u64 count,
 			enum pnfs_iomode iomode,
-			struct pnfs_layout_segment *lseg,
+			struct pnfs_layout_hdr *lo,
 			enum pnfs_update_layout_reason reason
 		),
-		TP_ARGS(inode, pos, count, iomode, lseg, reason),
+		TP_ARGS(inode, pos, count, iomode, lo, reason),
 		TP_STRUCT__entry(
 			__field(dev_t, dev)
 			__field(u64, fileid)
@@ -1472,7 +1472,8 @@
 			__field(loff_t, pos)
 			__field(u64, count)
 			__field(enum pnfs_iomode, iomode)
-			__field(struct pnfs_layout_segment *, lseg)
+			__field(int, layoutstateid_seq)
+			__field(u32, layoutstateid_hash)
 			__field(enum pnfs_update_layout_reason, reason)
 		),
 		TP_fast_assign(
@@ -1482,18 +1483,28 @@
 			__entry->pos = pos;
 			__entry->count = count;
 			__entry->iomode = iomode;
-			__entry->lseg = lseg;
 			__entry->reason = reason;
+			if (lo != NULL) {
+				__entry->layoutstateid_seq =
+				be32_to_cpu(lo->plh_stateid.seqid);
+				__entry->layoutstateid_hash =
+				nfs_stateid_hash(&lo->plh_stateid);
+			} else {
+				__entry->layoutstateid_seq = 0;
+				__entry->layoutstateid_hash = 0;
+			}
 		),
 		TP_printk(
 			"fileid=%02x:%02x:%llu fhandle=0x%08x "
-			"iomode=%s pos=%llu count=%llu lseg=%p (%s)",
+			"iomode=%s pos=%llu count=%llu "
+			"layoutstateid=%d:0x%08x (%s)",
 			MAJOR(__entry->dev), MINOR(__entry->dev),
 			(unsigned long long)__entry->fileid,
 			__entry->fhandle,
 			show_pnfs_iomode(__entry->iomode),
 			(unsigned long long)__entry->pos,
-			(unsigned long long)__entry->count, __entry->lseg,
+			(unsigned long long)__entry->count,
+			__entry->layoutstateid_seq, __entry->layoutstateid_hash,
 			show_pnfs_update_layout_reason(__entry->reason)
 		)
 );