Re: [PATCH 03/61] trace: update VFS-layer trace events for u64 i_ino
From: Jeff Layton
Date: Thu Feb 26 2026 - 13:41:24 EST
On Thu, 2026-02-26 at 18:11 +0100, Jan Kara wrote:
> On Thu 26-02-26 10:55:05, Jeff Layton 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
> >
> > Signed-off-by: Jeff Layton <jlayton@xxxxxxxxxx>
>
> ...
>
> > diff --git a/include/trace/events/writeback.h b/include/trace/events/writeback.h
> > index 4d3d8c8f3a1bc3e5ef10fc96e3c6dbbd0cf00c98..cc7651749eb3ce1123cb3ea9496f0803a0f4c1a0 100644
> > --- a/include/trace/events/writeback.h
> > +++ b/include/trace/events/writeback.h
> > @@ -67,7 +67,7 @@ DECLARE_EVENT_CLASS(writeback_folio_template,
> >
> > TP_STRUCT__entry (
> > __array(char, name, 32)
> > - __field(ino_t, ino)
> > + __field(u64, ino)
> > __field(pgoff_t, index)
> > ),
> >
> > @@ -79,9 +79,9 @@ DECLARE_EVENT_CLASS(writeback_folio_template,
> > __entry->index = folio->index;
> > ),
> >
> > - TP_printk("bdi %s: ino=%lu index=%lu",
> > + TP_printk("bdi %s: ino=%llu index=%lu",
> > __entry->name,
> > - (unsigned long)__entry->ino,
> > + (unsigned long long)__entry->ino,
>
> No need for explicit typing to ULL?
>
> > __entry->index
> > )
> > );
> > @@ -108,7 +108,7 @@ DECLARE_EVENT_CLASS(writeback_dirty_inode_template,
> >
> > TP_STRUCT__entry (
> > __array(char, name, 32)
> > - __field(ino_t, ino)
> > + __field(u64, ino)
> > __field(unsigned long, state)
> > __field(unsigned long, flags)
> > ),
> > @@ -123,9 +123,9 @@ DECLARE_EVENT_CLASS(writeback_dirty_inode_template,
> > __entry->flags = flags;
> > ),
> >
> > - TP_printk("bdi %s: ino=%lu state=%s flags=%s",
> > + TP_printk("bdi %s: ino=%llu state=%s flags=%s",
> > __entry->name,
> > - (unsigned long)__entry->ino,
> > + (unsigned long long)__entry->ino,
>
> And here as well? And many times below as well...
>
> Honza
Good catch. I'll clean those up.
Thanks,
--
Jeff Layton <jlayton@xxxxxxxxxx>