linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Jeff Layton <jlayton@kernel.org>
Cc: "Alexander Viro" <viro@zeniv.linux.org.uk>,
	"Christian Brauner" <brauner@kernel.org>,
	"Jan Kara" <jack@suse.cz>,
	"Masami Hiramatsu" <mhiramat@kernel.org>,
	"Mathieu Desnoyers" <mathieu.desnoyers@efficios.com>,
	"Dan Williams" <dan.j.williams@intel.com>,
	"Matthew Wilcox" <willy@infradead.org>,
	"Eric Biggers" <ebiggers@kernel.org>,
	"Theodore Y. Ts'o" <tytso@mit.edu>,
	"Muchun Song" <muchun.song@linux.dev>,
	"Oscar Salvador" <osalvador@suse.de>,
	"David Hildenbrand" <david@kernel.org>,
	"David Howells" <dhowells@redhat.com>,
	"Paulo Alcantara" <pc@manguebit.org>,
	"Andreas Dilger" <adilger.kernel@dilger.ca>,
	"Jan Kara" <jack@suse.com>, "Jaegeuk Kim" <jaegeuk@kernel.org>,
	"Chao Yu" <chao@kernel.org>,
	"Trond Myklebust" <trondmy@kernel.org>,
	"Anna Schumaker" <anna@kernel.org>,
	"Chuck Lever" <chuck.lever@oracle.com>,
	NeilBrown <neil@brown.name>,
	"Olga Kornievskaia" <okorniev@redhat.com>,
	"Dai Ngo" <Dai.Ngo@oracle.com>, "Tom Talpey" <tom@talpey.com>,
	"Steve French" <sfrench@samba.org>,
	"Ronnie Sahlberg" <ronniesahlberg@gmail.com>,
	"Shyam Prasad N" <sprasad@microsoft.com>,
	"Bharath SM" <bharathsm@microsoft.com>,
	"Alexander Aring" <alex.aring@gmail.com>,
	"Ryusuke Konishi" <konishi.ryusuke@gmail.com>,
	"Viacheslav Dubeyko" <slava@dubeyko.com>,
	"Eric Van Hensbergen" <ericvh@kernel.org>,
	"Latchesar Ionkov" <lucho@ionkov.net>,
	"Dominique Martinet" <asmadeus@codewreck.org>,
	"Christian Schoenebeck" <linux_oss@crudebyte.com>,
	"David Sterba" <dsterba@suse.com>,
	"Marc Dionne" <marc.dionne@auristor.com>,
	"Ian Kent" <raven@themaw.net>,
	"Luis de Bethencourt" <luisbg@kernel.org>,
	"Salah Triki" <salah.triki@gmail.com>,
	"Tigran A. Aivazian" <aivazian.tigran@gmail.com>,
	"Ilya Dryomov" <idryomov@gmail.com>,
	"Alex Markuze" <amarkuze@redhat.com>,
	"Jan Harkes" <jaharkes@cs.cmu.edu>,
	coda@cs.cmu.edu, "Nicolas Pitre" <nico@fluxnic.net>,
	"Tyler Hicks" <code@tyhicks.com>,
	"Amir Goldstein" <amir73il@gmail.com>,
	"Christoph Hellwig" <hch@infradead.org>,
	"John Paul Adrian Glaubitz" <glaubitz@physik.fu-berlin.de>,
	"Yangtao Li" <frank.li@vivo.com>,
	"Mikulas Patocka" <mikulas@artax.karlin.mff.cuni.cz>,
	"David Woodhouse" <dwmw2@infradead.org>,
	"Richard Weinberger" <richard@nod.at>,
	"Dave Kleikamp" <shaggy@kernel.org>,
	"Konstantin Komarov" <almaz.alexandrovich@paragon-software.com>,
	"Mark Fasheh" <mark@fasheh.com>,
	"Joel Becker" <jlbec@evilplan.org>,
	"Joseph Qi" <joseph.qi@linux.alibaba.com>,
	"Mike Marshall" <hubcap@omnibond.com>,
	"Martin Brandenburg" <martin@omnibond.com>,
	"Miklos Szeredi" <miklos@szeredi.hu>,
	"Anders Larsen" <al@alarsen.net>,
	"Zhihao Cheng" <chengzhihao1@huawei.com>,
	"Damien Le Moal" <dlemoal@kernel.org>,
	"Naohiro Aota" <naohiro.aota@wdc.com>,
	"Johannes Thumshirn" <jth@kernel.org>,
	"John Johansen" <john.johansen@canonical.com>,
	"Paul Moore" <paul@paul-moore.com>,
	"James Morris" <jmorris@namei.org>,
	"Serge E. Hallyn" <serge@hallyn.com>,
	"Mimi Zohar" <zohar@linux.ibm.com>,
	"Roberto Sassu" <roberto.sassu@huawei.com>,
	"Dmitry Kasatkin" <dmitry.kasatkin@gmail.com>,
	"Eric Snowberg" <eric.snowberg@oracle.com>,
	"Fan Wu" <wufan@kernel.org>,
	"Stephen Smalley" <stephen.smalley.work@gmail.com>,
	"Ondrej Mosnacek" <omosnace@redhat.com>,
	"Casey Schaufler" <casey@schaufler-ca.com>,
	"Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Sumit Semwal" <sumit.semwal@linaro.org>,
	"Eric Dumazet" <edumazet@google.com>,
	"Kuniyuki Iwashima" <kuniyu@google.com>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Willem de Bruijn" <willemb@google.com>,
	"David S. Miller" <davem@davemloft.net>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Simon Horman" <horms@kernel.org>,
	"Oleg Nesterov" <oleg@redhat.com>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Ingo Molnar" <mingo@redhat.com>,
	"Arnaldo Carvalho de Melo" <acme@kernel.org>,
	"Namhyung Kim" <namhyung@kernel.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	"Alexander Shishkin" <alexander.shishkin@linux.intel.com>,
	"Jiri Olsa" <jolsa@kernel.org>, "Ian Rogers" <irogers@google.com>,
	"Adrian Hunter" <adrian.hunter@intel.com>,
	"James Clark" <james.clark@linaro.org>,
	"Darrick J. Wong" <djwong@kernel.org>,
	"Martin Schiller" <ms@dev.tdt.de>,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-trace-kernel@vger.kernel.org, nvdimm@lists.linux.dev,
	fsverity@lists.linux.dev, linux-mm@kvack.org,
	netfs@lists.linux.dev, linux-ext4@vger.kernel.org,
	linux-f2fs-devel@lists.sourceforge.net,
	linux-nfs@vger.kernel.org, linux-cifs@vger.kernel.org,
	samba-technical@lists.samba.org, linux-nilfs@vger.kernel.org,
	v9fs@lists.linux.dev, linux-afs@lists.infradead.org,
	autofs@vger.kernel.org, ceph-devel@vger.kernel.org,
	codalist@coda.cs.cmu.edu, ecryptfs@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	jfs-discussion@lists.sourceforge.net, ntfs3@lists.linux.dev,
	ocfs2-devel@lists.linux.dev, devel@lists.orangefs.org,
	linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
	linux-security-module@vger.kernel.org,
	linux-integrity@vger.kernel.org, selinux@vger.kernel.org,
	amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
	netdev@vger.kernel.org, linux-perf-users@vger.kernel.org,
	linux-fscrypt@vger.kernel.org, linux-xfs@vger.kernel.org,
	linux-hams@vger.kernel.org, linux-x25@vger.kernel.org
Subject: Re: [PATCH 03/61] trace: update VFS-layer trace events for u64 i_ino
Date: Thu, 26 Feb 2026 12:48:42 -0500	[thread overview]
Message-ID: <20260226124842.5593ed85@gandalf.local.home> (raw)
In-Reply-To: <20260226-iino-u64-v1-3-ccceff366db9@kernel.org>

On Thu, 26 Feb 2026 10:55:05 -0500
Jeff Layton <jlayton@kernel.org> wrote:

> Update trace event definitions in VFS-layer trace headers to use u64
> instead of ino_t/unsigned long for inode number fields, and change
> format strings from %lu/%lx to %llu/%llx to match.
> 
> This is needed because i_ino is now u64. Changing trace event field
> types changes the binary trace format, but the self-describing format
> metadata handles this transparently for modern trace-cmd and perf.
> 
> Files updated:
>   - cachefiles.h, filelock.h, filemap.h, fs_dax.h, fsverity.h,
>     hugetlbfs.h, netfs.h, readahead.h, timestamp.h, writeback.h
> 

Hmm, on 32 bit systems, this will likely cause "holes" in a lot of these
events.

> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
>  include/trace/events/cachefiles.h |  18 ++---
>  include/trace/events/filelock.h   |  16 ++---
>  include/trace/events/filemap.h    |  20 +++---
>  include/trace/events/fs_dax.h     |  20 +++---
>  include/trace/events/fsverity.h   |  30 ++++----
>  include/trace/events/hugetlbfs.h  |  28 ++++----
>  include/trace/events/netfs.h      |   4 +-
>  include/trace/events/readahead.h  |  12 ++--
>  include/trace/events/timestamp.h  |  12 ++--
>  include/trace/events/writeback.h  | 148 +++++++++++++++++++-------------------
>  10 files changed, 154 insertions(+), 154 deletions(-)
> 
> diff --git a/include/trace/events/cachefiles.h b/include/trace/events/cachefiles.h
> index a743b2a35ea7001447b3e05d41539cb88013bc7f..f967027711ee823f224abc1b8ab03f63da06ae6f 100644
> --- a/include/trace/events/cachefiles.h
> +++ b/include/trace/events/cachefiles.h
> @@ -251,8 +251,8 @@ TRACE_EVENT(cachefiles_lookup,
>  	    TP_STRUCT__entry(
>  		    __field(unsigned int,		obj)
>  		    __field(short,			error)

There was already a 2 byte hole here, but that's not a big deal.

> -		    __field(unsigned long,		dino)
> -		    __field(unsigned long,		ino)
> +		    __field(u64,			dino)
> +		    __field(u64,			ino)
>  			     ),
>  
>  	    TP_fast_assign(
> @@ -263,7 +263,7 @@ TRACE_EVENT(cachefiles_lookup,
>  		    __entry->error	= IS_ERR(de) ? PTR_ERR(de) : 0;
>  			   ),
>  
> -	    TP_printk("o=%08x dB=%lx B=%lx e=%d",
> +	    TP_printk("o=%08x dB=%llx B=%llx e=%d",
>  		      __entry->obj, __entry->dino, __entry->ino, __entry->error)
>  	    );
>  
> @@ -579,7 +579,7 @@ TRACE_EVENT(cachefiles_mark_active,
>  	    /* Note that obj may be NULL */
>  	    TP_STRUCT__entry(
>  		    __field(unsigned int,		obj)
> -		    __field(ino_t,			inode)
> +		    __field(u64,			inode)

Might be better to reorder any of these that have int first.

		u64	inode;
		int	obj;

Will be packed tighter than:

		int	obj
		u64	inode;

Probably should have changed that before anyway.

>  			     ),
>  
>  	    TP_fast_assign(
> @@ -587,7 +587,7 @@ TRACE_EVENT(cachefiles_mark_active,
>  		    __entry->inode	= inode->i_ino;
>  			   ),
>  
> -	    TP_printk("o=%08x B=%lx",
> +	    TP_printk("o=%08x B=%llx",
>  		      __entry->obj, __entry->inode)
>  	    );
>  
> @@ -600,7 +600,7 @@ TRACE_EVENT(cachefiles_mark_failed,
>  	    /* Note that obj may be NULL */
>  	    TP_STRUCT__entry(
>  		    __field(unsigned int,		obj)
> -		    __field(ino_t,			inode)
> +		    __field(u64,			inode)

Is ino_t being changed? Why the update here?

>  			     ),
>  
>  	    TP_fast_assign(
> @@ -608,7 +608,7 @@ TRACE_EVENT(cachefiles_mark_failed,
>  		    __entry->inode	= inode->i_ino;
>  			   ),
>  
> -	    TP_printk("o=%08x B=%lx",
> +	    TP_printk("o=%08x B=%llx",
>  		      __entry->obj, __entry->inode)
>  	    );
>  
> @@ -621,7 +621,7 @@ TRACE_EVENT(cachefiles_mark_inactive,
>  	    /* Note that obj may be NULL */
>  	    TP_STRUCT__entry(
>  		    __field(unsigned int,		obj)
> -		    __field(ino_t,			inode)
> +		    __field(u64,			inode)

Ditto.

>  			     ),
>  
>  	    TP_fast_assign(
> @@ -629,7 +629,7 @@ TRACE_EVENT(cachefiles_mark_inactive,
>  		    __entry->inode	= inode->i_ino;
>  			   ),
>  
> -	    TP_printk("o=%08x B=%lx",
> +	    TP_printk("o=%08x B=%llx",
>  		      __entry->obj, __entry->inode)
>  	    );
>  
> diff --git a/include/trace/events/filelock.h b/include/trace/events/filelock.h
> index 370016c38a5bbc07d5ba6c102030b49c9eb6424d..41bc752616b25d6cd7955203e2c604029d0b440c 100644
> --- a/include/trace/events/filelock.h
> +++ b/include/trace/events/filelock.h
> @@ -42,7 +42,7 @@ TRACE_EVENT(locks_get_lock_context,
>  	TP_ARGS(inode, type, ctx),
>  
>  	TP_STRUCT__entry(
> -		__field(unsigned long, i_ino)
> +		__field(u64, i_ino)
>  		__field(dev_t, s_dev)
>  		__field(unsigned char, type)
>  		__field(struct file_lock_context *, ctx)
> @@ -55,7 +55,7 @@ TRACE_EVENT(locks_get_lock_context,
>  		__entry->ctx = ctx;
>  	),
>  
> -	TP_printk("dev=0x%x:0x%x ino=0x%lx type=%s ctx=%p",
> +	TP_printk("dev=0x%x:0x%x ino=0x%llx type=%s ctx=%p",
>  		  MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
>  		  __entry->i_ino, show_fl_type(__entry->type), __entry->ctx)
>  );
> @@ -67,7 +67,7 @@ DECLARE_EVENT_CLASS(filelock_lock,
>  
>  	TP_STRUCT__entry(
>  		__field(struct file_lock *, fl)
> -		__field(unsigned long, i_ino)
> +		__field(u64, i_ino)

Having u64 before a pointer would be tighter on 32 bit systems, and leaves
out any holes in the trace.

>  		__field(dev_t, s_dev)
>  		__field(struct file_lock_core *, blocker)
>  		__field(fl_owner_t, owner)
> @@ -93,7 +93,7 @@ DECLARE_EVENT_CLASS(filelock_lock,
>  		__entry->ret = ret;
>  	),
>  
> -	TP_printk("fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_pid=%u fl_flags=%s fl_type=%s fl_start=%lld fl_end=%lld ret=%d",
> +	TP_printk("fl=%p dev=0x%x:0x%x ino=0x%llx fl_blocker=%p fl_owner=%p fl_pid=%u fl_flags=%s fl_type=%s fl_start=%lld fl_end=%lld ret=%d",
>  		__entry->fl, MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
>  		__entry->i_ino, __entry->blocker, __entry->owner,
>  		__entry->pid, show_fl_flags(__entry->flags),
> @@ -124,7 +124,7 @@ DECLARE_EVENT_CLASS(filelock_lease,
>  
>  	TP_STRUCT__entry(
>  		__field(struct file_lease *, fl)
> -		__field(unsigned long, i_ino)
> +		__field(u64, i_ino)

Same here.

>  		__field(dev_t, s_dev)
>  		__field(struct file_lock_core *, blocker)
>  		__field(fl_owner_t, owner)
> @@ -146,7 +146,7 @@ DECLARE_EVENT_CLASS(filelock_lease,
>  		__entry->downgrade_time = fl ? fl->fl_downgrade_time : 0;
>  	),
>  
> -	TP_printk("fl=%p dev=0x%x:0x%x ino=0x%lx fl_blocker=%p fl_owner=%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu",
> +	TP_printk("fl=%p dev=0x%x:0x%x ino=0x%llx fl_blocker=%p fl_owner=%p fl_flags=%s fl_type=%s fl_break_time=%lu fl_downgrade_time=%lu",
>  		__entry->fl, MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
>  		__entry->i_ino, __entry->blocker, __entry->owner,
>  		show_fl_flags(__entry->flags),
> @@ -175,7 +175,7 @@ TRACE_EVENT(generic_add_lease,
>  	TP_ARGS(inode, fl),
>  
>  	TP_STRUCT__entry(
> -		__field(unsigned long, i_ino)
> +		__field(u64, i_ino)
>  		__field(int, wcount)
>  		__field(int, rcount)
>  		__field(int, icount)
> @@ -196,7 +196,7 @@ TRACE_EVENT(generic_add_lease,
>  		__entry->type = fl->c.flc_type;
>  	),
>  
> -	TP_printk("dev=0x%x:0x%x ino=0x%lx wcount=%d rcount=%d icount=%d fl_owner=%p fl_flags=%s fl_type=%s",
> +	TP_printk("dev=0x%x:0x%x ino=0x%llx wcount=%d rcount=%d icount=%d fl_owner=%p fl_flags=%s fl_type=%s",
>  		MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
>  		__entry->i_ino, __entry->wcount, __entry->rcount,
>  		__entry->icount, __entry->owner,
> diff --git a/include/trace/events/filemap.h b/include/trace/events/filemap.h
> index f48fe637bfd25885dc6daaf09336ab60626b4944..153491e57cce6df73e30ddee60a52ed7d8923c24 100644
> --- a/include/trace/events/filemap.h
> +++ b/include/trace/events/filemap.h
> @@ -21,7 +21,7 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache,
>  
>  	TP_STRUCT__entry(
>  		__field(unsigned long, pfn)
> -		__field(unsigned long, i_ino)
> +		__field(u64, i_ino)

Again, this would cause a 32 bit hole.

>  		__field(unsigned long, index)
>  		__field(dev_t, s_dev)
>  		__field(unsigned char, order)
> @@ -38,7 +38,7 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache,
>  		__entry->order = folio_order(folio);
>  	),
>  
> -	TP_printk("dev %d:%d ino %lx pfn=0x%lx ofs=%lu order=%u",
> +	TP_printk("dev %d:%d ino %llx pfn=0x%lx ofs=%lu order=%u",
>  		MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
>  		__entry->i_ino,
>  		__entry->pfn,
> @@ -67,7 +67,7 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache_range,
>  	TP_ARGS(mapping, index, last_index),
>  
>  	TP_STRUCT__entry(
> -		__field(unsigned long, i_ino)
> +		__field(u64, i_ino)
>  		__field(dev_t, s_dev)
>  		__field(unsigned long, index)
>  		__field(unsigned long, last_index)
> @@ -85,7 +85,7 @@ DECLARE_EVENT_CLASS(mm_filemap_op_page_cache_range,
>  	),
>  
>  	TP_printk(
> -		"dev=%d:%d ino=%lx ofs=%lld-%lld",
> +		"dev=%d:%d ino=%llx ofs=%lld-%lld",
>  		MAJOR(__entry->s_dev),
>  		MINOR(__entry->s_dev), __entry->i_ino,
>  		((loff_t)__entry->index) << PAGE_SHIFT,
> @@ -117,7 +117,7 @@ TRACE_EVENT(mm_filemap_fault,
>  	TP_ARGS(mapping, index),
>  
>  	TP_STRUCT__entry(
> -		__field(unsigned long, i_ino)
> +		__field(u64, i_ino)
>  		__field(dev_t, s_dev)
>  		__field(unsigned long, index)
>  	),
> @@ -133,7 +133,7 @@ TRACE_EVENT(mm_filemap_fault,
>  	),
>  
>  	TP_printk(
> -		"dev=%d:%d ino=%lx ofs=%lld",
> +		"dev=%d:%d ino=%llx ofs=%lld",
>  		MAJOR(__entry->s_dev),
>  		MINOR(__entry->s_dev), __entry->i_ino,
>  		((loff_t)__entry->index) << PAGE_SHIFT
> @@ -146,7 +146,7 @@ TRACE_EVENT(filemap_set_wb_err,
>  		TP_ARGS(mapping, eseq),
>  
>  		TP_STRUCT__entry(
> -			__field(unsigned long, i_ino)
> +			__field(u64, i_ino)
>  			__field(dev_t, s_dev)
>  			__field(errseq_t, errseq)
>  		),
> @@ -160,7 +160,7 @@ TRACE_EVENT(filemap_set_wb_err,
>  				__entry->s_dev = mapping->host->i_rdev;
>  		),
>  
> -		TP_printk("dev=%d:%d ino=0x%lx errseq=0x%x",
> +		TP_printk("dev=%d:%d ino=0x%llx errseq=0x%x",
>  			MAJOR(__entry->s_dev), MINOR(__entry->s_dev),
>  			__entry->i_ino, __entry->errseq)
>  );
> @@ -172,7 +172,7 @@ TRACE_EVENT(file_check_and_advance_wb_err,
>  
>  		TP_STRUCT__entry(
>  			__field(struct file *, file)
> -			__field(unsigned long, i_ino)
> +			__field(u64, i_ino)

Having a pointer after the u64 is better.

>  			__field(dev_t, s_dev)
>  			__field(errseq_t, old)
>  			__field(errseq_t, new)
> @@ -191,7 +191,7 @@ TRACE_EVENT(file_check_and_advance_wb_err,
>  			__entry->new = file->f_wb_err;
>  		),
>  
> -		TP_printk("file=%p dev=%d:%d ino=0x%lx old=0x%x new=0x%x",
> +		TP_printk("file=%p dev=%d:%d ino=0x%llx old=0x%x new=0x%x",
>  			__entry->file, MAJOR(__entry->s_dev),
>  			MINOR(__entry->s_dev), __entry->i_ino, __entry->old,
>  			__entry->new)
> diff --git a/include/trace/events/fs_dax.h b/include/trace/events/fs_dax.h
> index 50ebc1290ab062a9c30ab00049fb96691f9a0f23..11121baa8ece7928c653b4f874fb10ffbdd02fd0 100644
> --- a/include/trace/events/fs_dax.h
> +++ b/include/trace/events/fs_dax.h
> @@ -12,7 +12,7 @@ DECLARE_EVENT_CLASS(dax_pmd_fault_class,
>  		pgoff_t max_pgoff, int result),
>  	TP_ARGS(inode, vmf, max_pgoff, result),
>  	TP_STRUCT__entry(
> -		__field(unsigned long, ino)
> +		__field(u64, ino)
>  		__field(unsigned long, vm_start)
>  		__field(unsigned long, vm_end)
>  		__field(vm_flags_t, vm_flags)
> @@ -35,7 +35,7 @@ DECLARE_EVENT_CLASS(dax_pmd_fault_class,
>  		__entry->max_pgoff = max_pgoff;
>  		__entry->result = result;
>  	),
> -	TP_printk("dev %d:%d ino %#lx %s %s address %#lx vm_start "
> +	TP_printk("dev %d:%d ino %#llx %s %s address %#lx vm_start "
>  			"%#lx vm_end %#lx pgoff %#lx max_pgoff %#lx %s",
>  		MAJOR(__entry->dev),
>  		MINOR(__entry->dev),
> @@ -66,7 +66,7 @@ DECLARE_EVENT_CLASS(dax_pmd_load_hole_class,
>  		void *radix_entry),
>  	TP_ARGS(inode, vmf, zero_folio, radix_entry),
>  	TP_STRUCT__entry(
> -		__field(unsigned long, ino)
> +		__field(u64, ino)
>  		__field(vm_flags_t, vm_flags)
>  		__field(unsigned long, address)
>  		__field(struct folio *, zero_folio)
> @@ -81,7 +81,7 @@ DECLARE_EVENT_CLASS(dax_pmd_load_hole_class,
>  		__entry->zero_folio = zero_folio;
>  		__entry->radix_entry = radix_entry;
>  	),
> -	TP_printk("dev %d:%d ino %#lx %s address %#lx zero_folio %p "
> +	TP_printk("dev %d:%d ino %#llx %s address %#lx zero_folio %p "
>  			"radix_entry %#lx",
>  		MAJOR(__entry->dev),
>  		MINOR(__entry->dev),
> @@ -106,7 +106,7 @@ DECLARE_EVENT_CLASS(dax_pte_fault_class,
>  	TP_PROTO(struct inode *inode, struct vm_fault *vmf, int result),
>  	TP_ARGS(inode, vmf, result),
>  	TP_STRUCT__entry(
> -		__field(unsigned long, ino)
> +		__field(u64, ino)
>  		__field(vm_flags_t, vm_flags)
>  		__field(unsigned long, address)
>  		__field(pgoff_t, pgoff)
> @@ -123,7 +123,7 @@ DECLARE_EVENT_CLASS(dax_pte_fault_class,
>  		__entry->pgoff = vmf->pgoff;
>  		__entry->result = result;
>  	),
> -	TP_printk("dev %d:%d ino %#lx %s %s address %#lx pgoff %#lx %s",
> +	TP_printk("dev %d:%d ino %#llx %s %s address %#lx pgoff %#lx %s",
>  		MAJOR(__entry->dev),
>  		MINOR(__entry->dev),
>  		__entry->ino,
> @@ -150,7 +150,7 @@ DECLARE_EVENT_CLASS(dax_writeback_range_class,
>  	TP_PROTO(struct inode *inode, pgoff_t start_index, pgoff_t end_index),
>  	TP_ARGS(inode, start_index, end_index),
>  	TP_STRUCT__entry(
> -		__field(unsigned long, ino)
> +		__field(u64, ino)
>  		__field(pgoff_t, start_index)
>  		__field(pgoff_t, end_index)
>  		__field(dev_t, dev)
> @@ -161,7 +161,7 @@ DECLARE_EVENT_CLASS(dax_writeback_range_class,
>  		__entry->start_index = start_index;
>  		__entry->end_index = end_index;
>  	),
> -	TP_printk("dev %d:%d ino %#lx pgoff %#lx-%#lx",
> +	TP_printk("dev %d:%d ino %#llx pgoff %#lx-%#lx",
>  		MAJOR(__entry->dev),
>  		MINOR(__entry->dev),
>  		__entry->ino,
> @@ -182,7 +182,7 @@ TRACE_EVENT(dax_writeback_one,
>  	TP_PROTO(struct inode *inode, pgoff_t pgoff, pgoff_t pglen),
>  	TP_ARGS(inode, pgoff, pglen),
>  	TP_STRUCT__entry(
> -		__field(unsigned long, ino)
> +		__field(u64, ino)
>  		__field(pgoff_t, pgoff)
>  		__field(pgoff_t, pglen)
>  		__field(dev_t, dev)
> @@ -193,7 +193,7 @@ TRACE_EVENT(dax_writeback_one,
>  		__entry->pgoff = pgoff;
>  		__entry->pglen = pglen;
>  	),
> -	TP_printk("dev %d:%d ino %#lx pgoff %#lx pglen %#lx",
> +	TP_printk("dev %d:%d ino %#llx pgoff %#lx pglen %#lx",
>  		MAJOR(__entry->dev),
>  		MINOR(__entry->dev),
>  		__entry->ino,
> diff --git a/include/trace/events/fsverity.h b/include/trace/events/fsverity.h
> index a8c52f21cbd5eb010c7e7b2fdb8f9de49c8ea326..4477c17e05748360965c4e1840590efe96d6335e 100644
> --- a/include/trace/events/fsverity.h
> +++ b/include/trace/events/fsverity.h
> @@ -16,7 +16,7 @@ TRACE_EVENT(fsverity_enable,
>  		 const struct merkle_tree_params *params),
>  	TP_ARGS(inode, params),
>  	TP_STRUCT__entry(
> -		__field(ino_t, ino)
> +		__field(u64, ino)

Do you need to convert all these ino_t's?

>  		__field(u64, data_size)
>  		__field(u64, tree_size)
>  		__field(unsigned int, merkle_block)
> @@ -29,8 +29,8 @@ TRACE_EVENT(fsverity_enable,
>  		__entry->merkle_block = params->block_size;
>  		__entry->num_levels = params->num_levels;
>  	),
> -	TP_printk("ino %lu data_size %llu tree_size %llu merkle_block %u levels %u",
> -		(unsigned long) __entry->ino,
> +	TP_printk("ino %llu data_size %llu tree_size %llu merkle_block %u levels %u",
> +		__entry->ino,
>  		__entry->data_size,
>  		__entry->tree_size,
>  		__entry->merkle_block,
> @@ -42,7 +42,7 @@ TRACE_EVENT(fsverity_tree_done,
>  		 const struct merkle_tree_params *params),
>  	TP_ARGS(inode, vi, params),
>  	TP_STRUCT__entry(
> -		__field(ino_t, ino)
> +		__field(u64, ino)
>  		__field(u64, data_size)
>  		__field(u64, tree_size)
>  		__field(unsigned int, merkle_block)
> @@ -59,8 +59,8 @@ TRACE_EVENT(fsverity_tree_done,
>  		memcpy(__get_dynamic_array(root_hash), vi->root_hash, __get_dynamic_array_len(root_hash));
>  		memcpy(__get_dynamic_array(file_digest), vi->file_digest, __get_dynamic_array_len(file_digest));
>  	),
> -	TP_printk("ino %lu data_size %llu tree_size %lld merkle_block %u levels %u root_hash %s digest %s",
> -		(unsigned long) __entry->ino,
> +	TP_printk("ino %llu data_size %llu tree_size %lld merkle_block %u levels %u root_hash %s digest %s",
> +		__entry->ino,
>  		__entry->data_size,
>  		__entry->tree_size,
>  		__entry->merkle_block,
> @@ -75,7 +75,7 @@ TRACE_EVENT(fsverity_verify_data_block,
>  		 u64 data_pos),
>  	TP_ARGS(inode, params, data_pos),
>  	TP_STRUCT__entry(
> -		__field(ino_t, ino)
> +		__field(u64, ino)
>  		__field(u64, data_pos)
>  		__field(unsigned int, merkle_block)
>  	),
> @@ -84,8 +84,8 @@ TRACE_EVENT(fsverity_verify_data_block,
>  		__entry->data_pos = data_pos;
>  		__entry->merkle_block = params->block_size;
>  	),
> -	TP_printk("ino %lu data_pos %llu merkle_block %u",
> -		(unsigned long) __entry->ino,
> +	TP_printk("ino %llu data_pos %llu merkle_block %u",
> +		__entry->ino,
>  		__entry->data_pos,
>  		__entry->merkle_block)
>  );
> @@ -96,7 +96,7 @@ TRACE_EVENT(fsverity_merkle_hit,
>  		 unsigned int hidx),
>  	TP_ARGS(inode, data_pos, hblock_idx, level, hidx),
>  	TP_STRUCT__entry(
> -		__field(ino_t, ino)
> +		__field(u64, ino)
>  		__field(u64, data_pos)

Heh, this actually removed a hole, but again, why convert ino_t?

Anyway, I stopped here. But you get the idea.

-- Steve

>  		__field(unsigned long, hblock_idx)
>  		__field(unsigned int, level)


  parent reply	other threads:[~2026-02-26 17:49 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-26 15:55 [PATCH 00/61] vfs: change inode->i_ino from unsigned long to u64 Jeff Layton
2026-02-26 15:55 ` [PATCH 01/61] vfs: widen inode hash/lookup functions " Jeff Layton
2026-02-26 17:00   ` Jan Kara
2026-02-26 17:14     ` Jan Kara
2026-02-26 22:56   ` Damien Le Moal
2026-02-26 15:55 ` [PATCH 02/61] vfs: change i_ino from unsigned long " Jeff Layton
2026-02-26 15:55 ` [PATCH 03/61] trace: update VFS-layer trace events for u64 i_ino Jeff Layton
2026-02-26 17:11   ` Jan Kara
2026-02-26 17:53     ` Jeff Layton
2026-02-26 17:48   ` Steven Rostedt [this message]
2026-02-26 22:51   ` Damien Le Moal
2026-02-26 15:55 ` [PATCH 04/61] ext4: update " Jeff Layton
2026-02-26 15:55 ` [PATCH 05/61] jbd2: update format strings " Jeff Layton
2026-02-26 15:55 ` [PATCH 06/61] f2fs: update " Jeff Layton
2026-02-26 15:55 ` [PATCH 07/61] lockd: update format strings " Jeff Layton
2026-02-26 15:55 ` [PATCH 08/61] nfs: update " Jeff Layton
2026-02-26 15:55 ` [PATCH 09/61] nfs: remove nfs_fattr_to_ino_t() and nfs_fileid_to_ino_t() Jeff Layton
2026-02-26 15:55 ` [PATCH 10/61] nfs: remove nfs_compat_user_ino64() Jeff Layton
2026-02-26 15:55 ` [PATCH 11/61] nfs: remove enable_ino64 module parameter Jeff Layton
2026-02-26 15:55 ` [PATCH 12/61] nfsd: update format strings for u64 i_ino Jeff Layton
2026-02-26 19:48   ` Chuck Lever
2026-02-26 20:06     ` Jeff Layton
2026-02-26 15:55 ` [PATCH 13/61] smb: store full 64-bit uniqueid in i_ino Jeff Layton
2026-02-26 16:57   ` Paulo Alcantara
2026-02-26 15:55 ` [PATCH 14/61] smb: remove cifs_uniqueid_to_ino_t() Jeff Layton
2026-02-26 16:58   ` Paulo Alcantara
2026-02-26 15:55 ` [PATCH 15/61] locks: update /proc/locks format for u64 i_ino Jeff Layton
2026-02-26 15:55 ` [PATCH 16/61] proc: update /proc/PID/maps " Jeff Layton
2026-02-26 15:55 ` [PATCH 17/61] nilfs2: update " Jeff Layton
2026-02-26 19:46   ` Viacheslav Dubeyko
2026-02-26 20:06     ` Jeff Layton
2026-02-26 20:09       ` Viacheslav Dubeyko
2026-02-26 15:55 ` [PATCH 18/61] 9p: update format strings " Jeff Layton
2026-02-26 15:55 ` [PATCH 19/61] affs: " Jeff Layton
2026-02-26 16:49   ` David Sterba
2026-02-26 15:55 ` [PATCH 20/61] afs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 21/61] autofs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 22/61] befs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 23/61] bfs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 24/61] cachefiles: " Jeff Layton
2026-02-26 15:55 ` [PATCH 25/61] ceph: " Jeff Layton
2026-02-26 19:37   ` Viacheslav Dubeyko
2026-02-26 15:55 ` [PATCH 26/61] coda: " Jeff Layton
2026-02-26 15:55 ` [PATCH 27/61] cramfs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 28/61] ecryptfs: " Jeff Layton
2026-02-26 18:21   ` Tyler Hicks
2026-02-26 15:55 ` [PATCH 29/61] efs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 30/61] exportfs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 31/61] ext2: " Jeff Layton
2026-02-26 15:55 ` [PATCH 32/61] freevxfs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 33/61] hfs: " Jeff Layton
2026-02-26 19:33   ` Viacheslav Dubeyko
2026-02-26 15:55 ` [PATCH 34/61] hfsplus: " Jeff Layton
2026-02-26 19:35   ` Viacheslav Dubeyko
2026-02-26 15:55 ` [PATCH 35/61] hpfs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 36/61] isofs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 37/61] jffs2: " Jeff Layton
2026-02-26 21:06   ` Richard Weinberger
2026-02-26 15:55 ` [PATCH 38/61] jfs: " Jeff Layton
2026-02-26 16:30   ` Dave Kleikamp
2026-02-26 15:55 ` [PATCH 39/61] minix: " Jeff Layton
2026-02-26 15:55 ` [PATCH 40/61] nsfs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 41/61] ntfs3: " Jeff Layton
2026-02-26 15:55 ` [PATCH 42/61] ocfs2: " Jeff Layton
2026-02-26 15:55 ` [PATCH 43/61] orangefs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 44/61] overlayfs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 45/61] qnx4: " Jeff Layton
2026-02-26 15:55 ` [PATCH 46/61] qnx6: " Jeff Layton
2026-02-26 15:55 ` [PATCH 47/61] ubifs: " Jeff Layton
2026-02-26 21:06   ` Richard Weinberger
2026-02-26 15:55 ` [PATCH 48/61] udf: " Jeff Layton
2026-02-26 15:55 ` [PATCH 49/61] ufs: " Jeff Layton
2026-02-26 15:55 ` [PATCH 50/61] zonefs: " Jeff Layton
2026-02-26 22:45   ` Damien Le Moal
2026-02-26 15:55 ` [PATCH 51/61] security: update audit " Jeff Layton
2026-02-26 21:11   ` Paul Moore
2026-02-26 15:55 ` [PATCH 52/61] drm/amdgpu: update " Jeff Layton
2026-02-26 15:55 ` [PATCH 53/61] fsnotify: update fdinfo format strings " Jeff Layton
2026-02-26 15:55 ` [PATCH 54/61] net: update socket dname format " Jeff Layton
2026-02-26 15:55 ` [PATCH 55/61] uprobes: update format strings " Jeff Layton
2026-02-26 15:55 ` [PATCH 56/61] dma-buf: update format string " Jeff Layton
2026-02-26 15:55 ` [PATCH 57/61] fscrypt: update format strings " Jeff Layton
2026-02-26 17:10   ` Eric Biggers
2026-02-26 15:56 ` [PATCH 58/61] fsverity: update format string " Jeff Layton
2026-02-26 15:56 ` [PATCH 59/61] iomap: " Jeff Layton
2026-02-26 16:21   ` Darrick J. Wong
2026-02-26 15:56 ` [PATCH 60/61] net: update legacy protocol format strings " Jeff Layton
2026-02-26 15:56 ` [PATCH 61/61] vfs: update core " Jeff Layton
2026-02-26 16:22   ` Darrick J. Wong
2026-02-26 16:49 ` [PATCH 00/61] vfs: change inode->i_ino from unsigned long to u64 Matthew Wilcox
2026-02-26 17:01   ` Jeff Layton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260226124842.5593ed85@gandalf.local.home \
    --to=rostedt@goodmis.org \
    --cc=Dai.Ngo@oracle.com \
    --cc=acme@kernel.org \
    --cc=adilger.kernel@dilger.ca \
    --cc=adrian.hunter@intel.com \
    --cc=airlied@gmail.com \
    --cc=aivazian.tigran@gmail.com \
    --cc=al@alarsen.net \
    --cc=alex.aring@gmail.com \
    --cc=alexander.deucher@amd.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=almaz.alexandrovich@paragon-software.com \
    --cc=amarkuze@redhat.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=amir73il@gmail.com \
    --cc=anna@kernel.org \
    --cc=apparmor@lists.ubuntu.com \
    --cc=asmadeus@codewreck.org \
    --cc=autofs@vger.kernel.org \
    --cc=bharathsm@microsoft.com \
    --cc=brauner@kernel.org \
    --cc=casey@schaufler-ca.com \
    --cc=ceph-devel@vger.kernel.org \
    --cc=chao@kernel.org \
    --cc=chengzhihao1@huawei.com \
    --cc=christian.koenig@amd.com \
    --cc=chuck.lever@oracle.com \
    --cc=coda@cs.cmu.edu \
    --cc=codalist@coda.cs.cmu.edu \
    --cc=code@tyhicks.com \
    --cc=dan.j.williams@intel.com \
    --cc=davem@davemloft.net \
    --cc=david@kernel.org \
    --cc=devel@lists.orangefs.org \
    --cc=dhowells@redhat.com \
    --cc=djwong@kernel.org \
    --cc=dlemoal@kernel.org \
    --cc=dmitry.kasatkin@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=dsterba@suse.com \
    --cc=dwmw2@infradead.org \
    --cc=ebiggers@kernel.org \
    --cc=ecryptfs@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=eric.snowberg@oracle.com \
    --cc=ericvh@kernel.org \
    --cc=frank.li@vivo.com \
    --cc=fsverity@lists.linux.dev \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=hch@infradead.org \
    --cc=horms@kernel.org \
    --cc=hubcap@omnibond.com \
    --cc=idryomov@gmail.com \
    --cc=irogers@google.com \
    --cc=jack@suse.com \
    --cc=jack@suse.cz \
    --cc=jaegeuk@kernel.org \
    --cc=jaharkes@cs.cmu.edu \
    --cc=james.clark@linaro.org \
    --cc=jfs-discussion@lists.sourceforge.net \
    --cc=jlayton@kernel.org \
    --cc=jlbec@evilplan.org \
    --cc=jmorris@namei.org \
    --cc=john.johansen@canonical.com \
    --cc=jolsa@kernel.org \
    --cc=joseph.qi@linux.alibaba.com \
    --cc=jth@kernel.org \
    --cc=konishi.ryusuke@gmail.com \
    --cc=kuba@kernel.org \
    --cc=kuniyu@google.com \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-afs@lists.infradead.org \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-fscrypt@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-hams@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-nilfs@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=linux-unionfs@vger.kernel.org \
    --cc=linux-x25@vger.kernel.org \
    --cc=linux-xfs@vger.kernel.org \
    --cc=linux_oss@crudebyte.com \
    --cc=lucho@ionkov.net \
    --cc=luisbg@kernel.org \
    --cc=marc.dionne@auristor.com \
    --cc=mark.rutland@arm.com \
    --cc=mark@fasheh.com \
    --cc=martin@omnibond.com \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=mikulas@artax.karlin.mff.cuni.cz \
    --cc=mingo@redhat.com \
    --cc=ms@dev.tdt.de \
    --cc=muchun.song@linux.dev \
    --cc=namhyung@kernel.org \
    --cc=naohiro.aota@wdc.com \
    --cc=neil@brown.name \
    --cc=netdev@vger.kernel.org \
    --cc=netfs@lists.linux.dev \
    --cc=nico@fluxnic.net \
    --cc=ntfs3@lists.linux.dev \
    --cc=nvdimm@lists.linux.dev \
    --cc=ocfs2-devel@lists.linux.dev \
    --cc=okorniev@redhat.com \
    --cc=oleg@redhat.com \
    --cc=omosnace@redhat.com \
    --cc=osalvador@suse.de \
    --cc=pabeni@redhat.com \
    --cc=paul@paul-moore.com \
    --cc=pc@manguebit.org \
    --cc=peterz@infradead.org \
    --cc=raven@themaw.net \
    --cc=richard@nod.at \
    --cc=roberto.sassu@huawei.com \
    --cc=ronniesahlberg@gmail.com \
    --cc=salah.triki@gmail.com \
    --cc=samba-technical@lists.samba.org \
    --cc=selinux@vger.kernel.org \
    --cc=serge@hallyn.com \
    --cc=sfrench@samba.org \
    --cc=shaggy@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=slava@dubeyko.com \
    --cc=sprasad@microsoft.com \
    --cc=stephen.smalley.work@gmail.com \
    --cc=sumit.semwal@linaro.org \
    --cc=tom@talpey.com \
    --cc=trondmy@kernel.org \
    --cc=tytso@mit.edu \
    --cc=v9fs@lists.linux.dev \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willemb@google.com \
    --cc=willy@infradead.org \
    --cc=wufan@kernel.org \
    --cc=zohar@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox