From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E918FFD8FE7 for ; Thu, 26 Feb 2026 17:49:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5937F6B0199; Thu, 26 Feb 2026 12:49:37 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 5408A6B019A; Thu, 26 Feb 2026 12:49:37 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 422646B019B; Thu, 26 Feb 2026 12:49:37 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 2A4E06B0199 for ; Thu, 26 Feb 2026 12:49:37 -0500 (EST) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id E00381A0358 for ; Thu, 26 Feb 2026 17:49:36 +0000 (UTC) X-FDA: 84487345152.02.0E3C11F Received: from relay.hostedemail.com (unirelay10 [10.200.18.73]) by imf09.hostedemail.com (Postfix) with ESMTP id 0BD30140008 for ; Thu, 26 Feb 2026 17:49:34 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1772128175; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=bTsBrh0/JJpmr0ozgKj1bSn4tu0CAhfgIB+rtG/liWg=; b=lP/uVTGOv5EYJwHHMA/XFKoPhVN3Opld/+ELPAoZFvwgO7NblhVpu3wk6X2e3mpAe+ypUB qRDQR4+/WpodAQga6plgx4VPevid60/gebcW3PIn5J8fx/TtOGq3E0jnkAKRPu3N/5TKQG fX7vZO1H2fOmypMsASYCEgAQNaS50d4= ARC-Authentication-Results: i=1; imf09.hostedemail.com; none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1772128175; a=rsa-sha256; cv=none; b=e40tw6nZfbpsVIKQqB1xru/68XH5OLt7I/4MFD5t+kXUX+D+BSgD9VFjJ6kouQqnDxkDsO dzOhxY218kdzQhRwp8rdTY6kvyGhO3vjctOjZIJrF/X1x4B10P4guLKVRrSG1ftQ9GdN5i dbzx1/YpEYtaD+ojavgYp6EvtoeKoCA= Received: from omf16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 9B550C18DE; Thu, 26 Feb 2026 17:49:29 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: rostedt@goodmis.org) by omf16.hostedemail.com (Postfix) with ESMTPA id 0C2A820013; Thu, 26 Feb 2026 17:48:19 +0000 (UTC) Date: Thu, 26 Feb 2026 12:48:42 -0500 From: Steven Rostedt To: Jeff Layton Cc: Alexander Viro , Christian Brauner , Jan Kara , Masami Hiramatsu , Mathieu Desnoyers , Dan Williams , Matthew Wilcox , Eric Biggers , "Theodore Y. Ts'o" , Muchun Song , Oscar Salvador , David Hildenbrand , David Howells , Paulo Alcantara , Andreas Dilger , Jan Kara , Jaegeuk Kim , Chao Yu , Trond Myklebust , Anna Schumaker , Chuck Lever , NeilBrown , Olga Kornievskaia , Dai Ngo , Tom Talpey , Steve French , Ronnie Sahlberg , Shyam Prasad N , Bharath SM , Alexander Aring , Ryusuke Konishi , Viacheslav Dubeyko , Eric Van Hensbergen , Latchesar Ionkov , Dominique Martinet , Christian Schoenebeck , David Sterba , Marc Dionne , Ian Kent , Luis de Bethencourt , Salah Triki , "Tigran A. Aivazian" , Ilya Dryomov , Alex Markuze , Jan Harkes , coda@cs.cmu.edu, Nicolas Pitre , Tyler Hicks , Amir Goldstein , Christoph Hellwig , John Paul Adrian Glaubitz , Yangtao Li , Mikulas Patocka , David Woodhouse , Richard Weinberger , Dave Kleikamp , Konstantin Komarov , Mark Fasheh , Joel Becker , Joseph Qi , Mike Marshall , Martin Brandenburg , Miklos Szeredi , Anders Larsen , Zhihao Cheng , Damien Le Moal , Naohiro Aota , Johannes Thumshirn , John Johansen , Paul Moore , James Morris , "Serge E. Hallyn" , Mimi Zohar , Roberto Sassu , Dmitry Kasatkin , Eric Snowberg , Fan Wu , Stephen Smalley , Ondrej Mosnacek , Casey Schaufler , Alex Deucher , Christian =?UTF-8?B?S8O2bmln?= , David Airlie , Simona Vetter , Sumit Semwal , Eric Dumazet , Kuniyuki Iwashima , Paolo Abeni , Willem de Bruijn , "David S. Miller" , Jakub Kicinski , Simon Horman , Oleg Nesterov , Peter Zijlstra , Ingo Molnar , Arnaldo Carvalho de Melo , Namhyung Kim , Mark Rutland , Alexander Shishkin , Jiri Olsa , Ian Rogers , Adrian Hunter , James Clark , "Darrick J. Wong" , Martin Schiller , 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 Message-ID: <20260226124842.5593ed85@gandalf.local.home> In-Reply-To: <20260226-iino-u64-v1-3-ccceff366db9@kernel.org> References: <20260226-iino-u64-v1-0-ccceff366db9@kernel.org> <20260226-iino-u64-v1-3-ccceff366db9@kernel.org> X-Mailer: Claws Mail 3.20.0git84 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Session-Marker: 726F737465647440676F6F646D69732E6F7267 X-Session-ID: U2FsdGVkX19n7opbcweo9pTbfl6jz5Em5ut1V76YmBI= X-HE-Meta: U2FsdGVkX19YBiZrX7/HEnud2kaenQ2+Ma6+NxrKEmbsxiLABYFFYkdJrBExNdiY39W67VLkBDtwXzGv3EPcKM50OioPPDPiBUtgsH3IXqtdwdul3uQ4XZfTwBdj0Qe0+RoOmuo3YlnB0vfwHD3QDx2UXnccSIZZsirynjLllCm46TuUsJvWhuCUvhMBKAyTp7B91ws+2cD2cjlW2y//1+I8r7mG4vY0A3+ZciAJidxKUiocg3TXC/OZg/hDATDWRI0lEPqnDTGat8r2S3FK29HJ+w94QrTITkW6E3JbUOqwIW7ruM2Ifvi2n7cVBi0fnCkRJvKFHHaMkrPeFykh7oh6x6a/TqmR X-Stat-Signature: gj34gc8gt4feyewtz9qzik7hgx7b38cm X-HE-Tag-Orig: 1772128099-759604 X-Rspam-User: X-Rspamd-Queue-Id: 0BD30140008 X-Rspamd-Server: rspam08 X-HE-Tag: 1772128174-330457 X-HE-Meta: U2FsdGVkX1+qCsyv2/W7BGTDDI8xuWnPRW+MJL99hIncQ174Nb8h2j/n8osSssA/hahbbBgA4JPKxaJuFwaGsXdt4Xy7B9pUPeyH4A88dESJz+P6L27JvIN2ZNpPjXSRtXNJGlJ43m3NSV0hbyJJugfmdNh7sr013iKwGzDsqt5xXnljrb/kX+3ZmMU7nOxbtUL6QqnDS+PL6ILFKu2NTXn8D6fgZFU8wRkhVTYpuf0MMfSLK9lc0SqIlqlgQxYj8M/1HffAD/DED/NBH7qCzG6ku0wDVsCVabuJtA8I2pxe+ItiqFEAcDcxkPrUPT4P4y8Hut1+EOXEp4WODjv0XzEtV3cTSA99MW7iO1aJX8fxjHO07HadYAJay0Rn5eGALj5Etn1dUzNvhlkMzkcdz0x6P3uK6vzZ+QWueX3XZ5YsRX9TB5PhGZ5ikRqtOpHp2te27ng40AQs82D3cpgW88FuOSYXZrv1aPKy5urzdnz+K4kTB1x6/fAtQCllNa541XVjbjzjqYJU6TdxnM10y3uds3pkJNbbtQa+D3at1d8SyXY9se2LDvW3zqj4AcHCvtJ82VqDn+6DCp9CheXDNWuf4ocLKThZtPCBT1rqJT8pRefePDU0QZ3+XV25ncCNpSOmVJVFd8+1VZAkXLXDMK6tpouT1jSSO7bVhBFljGvMWL9vVp5cr3qEzIdj+yfeRfwdJXdJ8l7wpxjaINhDByksytBt9u9hMHSpQr0gX7x5T/qmR4CM+gOogGrf07+Yl6UB+HRD/8y4vRpKC6mMga+x6DqI4kGhUPXByHHncLDQ7jC+Q0tUR4lhtdVNWQQC8c9xjY6jKDXgpywCmqT1z8gIneduV/cp5lgwBqbU27gbkhjvtOlotUBLxRHw//m4N/fbD3Z8YajGAy5+KF9O3MSxW1uyNkc7+qkIv2YquTD/xHYxgt6BoscumOCd+hotO4lrr/Fnxn2oa6p5uC4 dASPUIna Gpx8GnYOfx6UgzTsYMbwa4zo+AeNuV8ZKmxVkijlk0K7hWRgvV7XgAvrxAZqjphR5sh/ew6fSKjdO1doaMgYa5fTx9FnrJ6psPOy25AdnpLAKpBHsPehbbCZWon9KmSflwmkH4VzFwHdlScWeIsIa3twUqoxSs9J3VOqQvUqXyg3F0KC4GwWHzx/5e6e5iMuoQ1SqP70SMwXNe3Prb7MAd7PeWtfvcMWGafmwWK8LakuBbO1JJIR6oEcPac5p9BU6wTxsf1YQGMjpiEp6DfXpcEeS4tY4/o3NsETHpZSKjV45Aw+503E4d3FYONCwAt9BILm76FwYeYD+KSQ+BckdI+1CGPLw9KrIoFF6ABIERfx8qZpStOXMW/tWVlUbfJ0WE63tLqfG+vGk4uBAv77tIWDlauyJTDZ2poIKi3FIxeuM+geL1/3JxB/fcOMy3VzRjY8Jsk4z39+AXS+cy6GVdA8LEXwNp0cYVeLUyoJF9t1TN8PFwD9FumQmt/A5BH+ON6NzZXGhVC8TmUKcfrWpl7vNTQjj8iByLERn2sAIfj+BqacrO3pH0ItMh2j7tqlewv/6XkDSdfcioRm7tUTn+Sg+jaLjB5zIw85XnFANGZac9EsZGQFXhwJQGp8ftFESgPtzLBp+lLBzd3/fWm39jWVYmdpA3UfyevM5w7ST5tH0DG1QogU6+EJlURR7wPMWB93xZN25Ld4azN9HGLIIoDviF1XX6aw8Hrehl3HUdd8sf76vb36HMFQuO3jq2PdUjRpzULl72XtuuLh84AZ841gYMgx6v1/rHYjuTECD5Od9vYDeT9Kdfrl9k5foWuUXUgLey5UQgjkp/YGC6FqLxD3fVEPjTd8f1GLAJD4g9Wxerc3Ua4OX4iBBMYxOWJqwFy5CjjBC9wjo0dx23MVueArvHX6HMiz5wTi1u1bWrkYAhJkj1bXAqAEhUJYqOwijcWAz4bdGVnkl/wpfmbyZ38DRUHGb syEnvE9P Ls7OGA5FVMTCxliTKF/ZKWZMc/7DxozXytA8mj+zBq4KshTlXnkWgSzPgOUGOKO2u0VNvzuTlvK3q+9H9uivvbJJZR9g6A6L6VR7TPOf6C76z7QMp5A2LA8FgxwZq0CJBUcXjA3cOqqs3Xka8uBuHq3v2HJx1XppbJCF1owq2zgCz6Gf//geag3LHD5iYdFJNItPEVYcgQrs9V+vWBmCcmx5OM9KQyYq3MJaPb782l5SBmq54ZPEteRha5x8TyBxgbRd33HPaGzbTEMRw4wREFNw0PkLR47nR12Mv8BVn6a4TzDPMaskJ6FcDHSXaHbBMWf1SV+TguLh8cbJwJxZ6kBPzH/5DJizzM5CaGPeknmcSDKNUCDWqhXz9eftSXu56KICGibgI0r283wCf5sqejQzKKBLRSU+JBCRDOuL6Zv5NSzeq7WocOKvCtDVSLWq0IkZL/tutqk6kkBI3LOq1GsCVU22Mz+X0xeMMzvrvN9YRPAk0skY3aRor8gWaz0Vxkn/6evJYe84CtaOgbpeqN+Vd8Q8cAY3tZCCG20tEtobnDFNEZENVJDvb59e+MsEp5wonepjFeMkr+98bAyKEig82rnyKjLWbmNTYZT4+UGY5at5wN21VpwadS3XKXGRpg1KHPz9/skdBLW8lz0f7JY77ohBW2puj5ApTqeAKaIYRqys8WF9QLgv+1GbcDDGB7TI+SvoYpmEaY4stKjjSnGvxKX8gIgA06xI4l6NGNZEICWKxJJoR2rWDY7Sim3wOSoDFjCt33R+1nkvIiWiDZomfFi+kXztRt8h1r5yI4ORCVuPB5lQY5CynhOWXXemY68Aqm1OuU6ZJ0Fw8Jeq21dtLSLFCTGcvjqDSKFr2PYDsZoOc4o7hCqGJ6Y/DJXOCWitiX2Xo5F+rkU80pM9gADbRApjuGoSc/qCWm20sCajBnnSYenQLUiN6qcUvJViIUi+qgMJyNLp1dK14DmRL4gPFUEu6 XmvRSyj1 uLEtTn/Q62SD6SaV6iQy6dt/CetSv6SSQO2Ekg9TCztDAzBwQOlWXajOlEe422bxvrvyjSyALnrTOBbblWXce/tTbb+E5f4wOL5F+LUM1yeNMDbe/eLmciw4gxTkkntqRFbaSvjXzGHx2k2nD0XMcoQgNxDT7c9Qse+JjxofeCWmlQGMA/t/obltlP5hXUEBZ9WLmnOTz5QfFOMbfFdAIXATCop8gmRM29X4BnZ2hiVhUoq7Q4b4DiM60HFZtam17AuqQyAMjmrTGSUEzjfz0Ro0yxasJYqJtZ/luXwMVqnBe8RPZojB+vV4wZt+ceIrDqvsijaDGgGEENB5kiR1NFLgi4Fps/fdl44sqqtE9JiOfaoQJPpZc/ayXXC85R3YK+kGATq4OIsJMaS+1iYOGaoENhtrcc2GUAPvpjyhX47Gn7xCo94cQtYMdqLHLSeEl+qZN/SQg5vaoi022HMQMGT9JGWUvUa2lNyF4wJlOLBqHfDG4gEaHSBCETUiHgl/v89pK6PdQ20/nm2iHI0BUzUvbkrLknXHFJcfBzwiTQxM4JsSn31IeNS8o4W5gP7CTtOU5KZIyLRC79GNAr5i/RqWNTc2B5NvHLsyY9qFBu5I+zVdG50xHc39N+SzLYCxRWzMrrCMizy1IfAyY1ybTVzowjKDuWGjmRHKyA0SMvnF/a437n9kVw4wASx8Dc2M0HwPRrFWpuCeI1DACMuyVMM7kcFBpFNOk+z982Dhykaa/OZ5S5idUDCuZ0cbkxigFcf0DH5e+TUf6nT+exKgMnFhElYox26b2EqDwT8tBKIc4O3/nPpu4+ZbOJCNYPxD9d89Q+a0izl3BHtrIwPiTTtjxmxuFW75kH7cakB51pI/TInYeDID6G2RN/RX4h0TsCklclokpI1kv4vLoNP1dIB8EwWGnVixAIUkFgnJsJBvBi+Wud0xMJ0iC2LkF9z4IIqPVjWX6Pg6AVB3UWacIQnhMNg7b 50rh7xSM svm2G91ywQQkqXbooYKIYlbd1BAR3wHNW6wM3EuhsMIyAS/WrVxdmun6RhA0q+6pO5cJKHOLAwOOVDaesam7OHtuqXVTAOpTmWlEivA2MxEg== Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Thu, 26 Feb 2026 10:55:05 -0500 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 > Hmm, on 32 bit systems, this will likely cause "holes" in a lot of these events. > Signed-off-by: Jeff Layton > --- > 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)