From nobody Tue Mar 3 05:08:56 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3B8EC3ED5CC; Mon, 2 Mar 2026 20:51:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772484683; cv=none; b=ZBQYgJfmQm2Ex0y9W9iHnPitWVDRpqg1XqZBpI98P5mK02Q965luWfjW2EcB0+LCpLelAdDNw3pEz0La0ZdoOW2sMHOoopjSRN/H4LNq5sTLIQaK/TYjW8mFC7H0/IUfQwGRrq6WH8EtZ+XsvE0l+wwqvLWUXFSLBNZREFwjiGg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772484683; c=relaxed/simple; bh=/sz7TWb/8/hX0LciA1x/Z08Sx95qZ79eor/fKNv831c=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SdlFMm0k8JwjdazHKdpzxVs1xZuj3l789QCQARTKLxKNYIVLpTDrE9wVYzzr+xR1Nc84lCcaAlJlAoeuN3A1JHqt2JtDzfCNl+1iZz02HTznYDbnJz0l/dfNPJC/fpvpFUd8pfqlOU9nDUnfL8p0tYu34KouVoinxQJt+ndH7yE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=T7M2jA0E; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="T7M2jA0E" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BC98CC2BCAF; Mon, 2 Mar 2026 20:51:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772484682; bh=/sz7TWb/8/hX0LciA1x/Z08Sx95qZ79eor/fKNv831c=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=T7M2jA0E+nOiFu6g0V2eB4Fpg250FkkborXQ68QoO89fQRYaKtke1mCmqo5Vuf7+r wiGdNgQVLprPk5IB7mkheRRMyC+FRKyQz6ka9nPwO+kJgHBHZ43Md2Dkd9VD0/Of83 ZUNAObaZI0EzCRK+rvOI+NopDu28S8zgq5QgcDyiMewHIqmRZf306wVK3dRX1tBBlm VErLvddEWB8MSYgMw/Tz8REN4YQ1FxmYNeki4O77thoNIvmMcSZ/Thb9ssZkIaaIfz KZV2FrOeEqwnH4Do1nBzSwg2vKuYdXhsUVCS3pZV7L6ke8IgQelYklF9NzLOeqoxtq 8b/TRYKwQNuoQ== From: Jeff Layton Date: Mon, 02 Mar 2026 15:25:34 -0500 Subject: [PATCH v2 110/110] vfs: remove kino_t typedef and PRIino format macro Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260302-iino-u64-v2-110-e5388800dae0@kernel.org> References: <20260302-iino-u64-v2-0-e5388800dae0@kernel.org> In-Reply-To: <20260302-iino-u64-v2-0-e5388800dae0@kernel.org> To: Alexander Viro , Christian Brauner , Jan Kara , Steven Rostedt , 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 , =?utf-8?q?Christian_K=C3=B6nig?= , 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 , Eric Paris , Joerg Reuter , Marcel Holtmann , Johan Hedberg , Luiz Augusto von Dentz , Oliver Hartkopp , Marc Kleine-Budde , David Ahern , Neal Cardwell , Steffen Klassert , Herbert Xu , Remi Denis-Courmont , Marcelo Ricardo Leitner , Xin Long , Magnus Karlsson , Maciej Fijalkowski , Stanislav Fomichev , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend Cc: 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, audit@vger.kernel.org, linux-bluetooth@vger.kernel.org, linux-can@vger.kernel.org, linux-sctp@vger.kernel.org, bpf@vger.kernel.org, Jeff Layton X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=7864; i=jlayton@kernel.org; h=from:subject:message-id; bh=/sz7TWb/8/hX0LciA1x/Z08Sx95qZ79eor/fKNv831c=; b=owEBbQKS/ZANAwAKAQAOaEEZVoIVAcsmYgBppfIOWw4VpZ1f0esD0l2eblcdOGEvFuzW5qecf cTPMYYfwB+JAjMEAAEKAB0WIQRLwNeyRHGyoYTq9dMADmhBGVaCFQUCaaXyDgAKCRAADmhBGVaC FSiGEADKoZsC6JwFSXz5Q8tPMZ6t8//Y5SGA/vaBUiD5D0C+kZUFc/J5USU5TJAKaXk0BTDmAT/ 2kbSCQNocpoPv3+wT1fnN67/FnoxtqnhKqtCXlvPPR9RqXVCoIxxjy81hmMGvj5OueJeojBhBrE EPeNMIFty+gCEGi2dWknNkaFTtNxVknqICbKKlus5egvNmB/P/wcCwA75eyzT9Cqf8HgCQ2UWH6 E+1UZg/P3Utcs5RWUN4LdyqwfM+nEl51pMv3R4lNJeMv6VLFYo0VBxIBSMwMwLYGA8ONx6GabD8 h7hmuJLNcF4apD7rmibApIK+IR8kjVt7xg3Z1R/kF7WyEW+ipWCA+d5pPv4ATJrviTJ5swUDr+e 0fR52ir06HftVbBViJXC+/+JeBB5ygEQwwixuJf+EHIPh8Nw+eAOeSMTJT6/5J9boBSM4t53R2U 1uE4EroXow0SM75te/gScXwcjFowrQz/+gRU3pxfj31chpErmp6yk2ql36oF4XCRuFtyNVG3v2y fwmpsbHx68WQUTJbKUJrw9HuC4vvVoFx2K26sNk8Mvnxfxb/Menyn7MMrfXHs4wZ/DdlCIHP9J6 K4FPkJfGrBW5QSCsdyluxgAY1+ed66E9Oz4M67wxOod8vTaTchUlxDXS5wJQNAd38COtoq/jHe9 EYgFPWN/4XZNcUQ== X-Developer-Key: i=jlayton@kernel.org; a=openpgp; fpr=4BC0D7B24471B2A184EAF5D3000E684119568215 Now that i_ino has been widened to u64, replace the kino_t typedef with u64 and the PRIino format macro with the concrete format strings. Replace the remaining PRIino uses throughout the tree, and remove the typedef and #define from include/linux/fs.h. Change the i_ino field in struct inode from kino_t to u64. Signed-off-by: Jeff Layton --- fs/dcache.c | 4 ++-- fs/eventpoll.c | 2 +- fs/fserror.c | 2 +- fs/inode.c | 10 +++++----- fs/locks.c | 6 +++--- fs/nsfs.c | 4 ++-- fs/pipe.c | 2 +- include/linux/fs.h | 5 +---- 8 files changed, 16 insertions(+), 19 deletions(-) diff --git a/fs/dcache.c b/fs/dcache.c index 13fb3e89cba7442c9bed74c41ca18be5e43e28c9..9ceab142896f6631017067890fd= 1079240448e13 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -1637,11 +1637,11 @@ static enum d_walk_ret umount_check(void *_data, st= ruct dentry *dentry) if (dentry =3D=3D _data && dentry->d_lockref.count =3D=3D 1) return D_WALK_CONTINUE; =20 - WARN(1, "BUG: Dentry %p{i=3D%" PRIino "x,n=3D%pd} " + WARN(1, "BUG: Dentry %p{i=3D%llx,n=3D%pd} " " still in use (%d) [unmount of %s %s]\n", dentry, dentry->d_inode ? - dentry->d_inode->i_ino : (kino_t)0, + dentry->d_inode->i_ino : (u64)0, dentry, dentry->d_lockref.count, dentry->d_sb->s_type->name, diff --git a/fs/eventpoll.c b/fs/eventpoll.c index 90fd92425492221d13bd0cf067d47579bb407a01..4ccd4d2e31adf571f939d2e7771= 23e40302e565f 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -1080,7 +1080,7 @@ static void ep_show_fdinfo(struct seq_file *m, struct= file *f) struct inode *inode =3D file_inode(epi->ffd.file); =20 seq_printf(m, "tfd: %8d events: %8x data: %16llx " - " pos:%lli ino:%" PRIino "x sdev:%x\n", + " pos:%lli ino:%llx sdev:%x\n", epi->ffd.fd, epi->event.events, (long long)epi->event.data, (long long)epi->ffd.file->f_pos, diff --git a/fs/fserror.c b/fs/fserror.c index b685b329b5956a639c41b25c42cfff16e6e5ab6e..1e4d11fd9562fd158a23b64ca60= e9b7e01719cb8 100644 --- a/fs/fserror.c +++ b/fs/fserror.c @@ -176,7 +176,7 @@ void fserror_report(struct super_block *sb, struct inod= e *inode, lost: if (inode) pr_err_ratelimited( - "%s: lost file I/O error report for ino %" PRIino "u type %u pos 0x%llx l= en 0x%llx error %d", + "%s: lost file I/O error report for ino %llu type %u pos 0x%llx len 0x%ll= x error %d", sb->s_id, inode->i_ino, type, pos, len, error); else pr_err_ratelimited( diff --git a/fs/inode.c b/fs/inode.c index 24ab9fa10baf7c885244f23bfccd731efe4a14cc..5ad169d51728c260aeaabb810e5= 9eb3ec1d1ce52 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -726,7 +726,7 @@ void dump_mapping(const struct address_space *mapping) struct dentry *dentry_ptr; struct dentry dentry; char fname[64] =3D {}; - kino_t ino; + u64 ino; =20 /* * If mapping is an invalid pointer, we don't want to crash @@ -750,14 +750,14 @@ void dump_mapping(const struct address_space *mapping) } =20 if (!dentry_first) { - pr_warn("aops:%ps ino:%" PRIino "x\n", a_ops, ino); + pr_warn("aops:%ps ino:%llx\n", a_ops, ino); return; } =20 dentry_ptr =3D container_of(dentry_first, struct dentry, d_u.d_alias); if (get_kernel_nofault(dentry, dentry_ptr) || !dentry.d_parent || !dentry.d_name.name) { - pr_warn("aops:%ps ino:%" PRIino "x invalid dentry:%px\n", + pr_warn("aops:%ps ino:%llx invalid dentry:%px\n", a_ops, ino, dentry_ptr); return; } @@ -768,7 +768,7 @@ void dump_mapping(const struct address_space *mapping) * Even if strncpy_from_kernel_nofault() succeeded, * the fname could be unreliable */ - pr_warn("aops:%ps ino:%" PRIino "x dentry name(?):\"%s\"\n", + pr_warn("aops:%ps ino:%llx dentry name(?):\"%s\"\n", a_ops, ino, fname); } =20 @@ -2641,7 +2641,7 @@ void init_special_inode(struct inode *inode, umode_t = mode, dev_t rdev) /* leave it no_open_fops */ break; default: - pr_debug("init_special_inode: bogus i_mode (%o) for inode %s:%" PRIino "= u\n", + pr_debug("init_special_inode: bogus i_mode (%o) for inode %s:%llu\n", mode, inode->i_sb->s_id, inode->i_ino); break; } diff --git a/fs/locks.c b/fs/locks.c index 9c5aa23f09b6e061dc94c81cd802bb65dd0053c1..d8b066fb42108971f6b3c7449db= c9b5f8df16b13 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -234,7 +234,7 @@ locks_check_ctx_lists(struct inode *inode) if (unlikely(!list_empty(&ctx->flc_flock) || !list_empty(&ctx->flc_posix) || !list_empty(&ctx->flc_lease))) { - pr_warn("Leaked locks on dev=3D0x%x:0x%x ino=3D0x%" PRIino "x:\n", + pr_warn("Leaked locks on dev=3D0x%x:0x%x ino=3D0x%llx:\n", MAJOR(inode->i_sb->s_dev), MINOR(inode->i_sb->s_dev), inode->i_ino); locks_dump_ctx_list(&ctx->flc_flock, "FLOCK"); @@ -251,7 +251,7 @@ locks_check_ctx_file_list(struct file *filp, struct lis= t_head *list, char *list_ =20 list_for_each_entry(flc, list, flc_list) if (flc->flc_file =3D=3D filp) - pr_warn("Leaked %s lock on dev=3D0x%x:0x%x ino=3D0x%" PRIino "x " + pr_warn("Leaked %s lock on dev=3D0x%x:0x%x ino=3D0x%llx " " fl_owner=3D%p fl_flags=3D0x%x fl_type=3D0x%x fl_pid=3D%u\n", list_type, MAJOR(inode->i_sb->s_dev), MINOR(inode->i_sb->s_dev), inode->i_ino, @@ -2896,7 +2896,7 @@ static void lock_get_status(struct seq_file *f, struc= t file_lock_core *flc, (type =3D=3D F_RDLCK) ? "READ" : "UNLCK"); if (inode) { /* userspace relies on this representation of dev_t */ - seq_printf(f, "%d %02x:%02x:%" PRIino "u ", pid, + seq_printf(f, "%d %02x:%02x:%llu ", pid, MAJOR(inode->i_sb->s_dev), MINOR(inode->i_sb->s_dev), inode->i_ino); } else { diff --git a/fs/nsfs.c b/fs/nsfs.c index 0e099ee2121f8831645c3a25d759793ef2ff9ce6..eac326b85314ac8080248347154= d599c953969c7 100644 --- a/fs/nsfs.c +++ b/fs/nsfs.c @@ -46,7 +46,7 @@ static char *ns_dname(struct dentry *dentry, char *buffer= , int buflen) struct ns_common *ns =3D inode->i_private; const struct proc_ns_operations *ns_ops =3D ns->ops; =20 - return dynamic_dname(buffer, buflen, "%s:[%" PRIino "u]", + return dynamic_dname(buffer, buflen, "%s:[%llu]", ns_ops->name, inode->i_ino); } =20 @@ -394,7 +394,7 @@ static int nsfs_show_path(struct seq_file *seq, struct = dentry *dentry) const struct ns_common *ns =3D inode->i_private; const struct proc_ns_operations *ns_ops =3D ns->ops; =20 - seq_printf(seq, "%s:[%" PRIino "u]", ns_ops->name, inode->i_ino); + seq_printf(seq, "%s:[%llu]", ns_ops->name, inode->i_ino); return 0; } =20 diff --git a/fs/pipe.c b/fs/pipe.c index 311928e8713989747605fd79f653e36d27ce8c0e..9841648c9cf3e8e569cf6ba5c79= 2624fe92396f5 100644 --- a/fs/pipe.c +++ b/fs/pipe.c @@ -873,7 +873,7 @@ static struct vfsmount *pipe_mnt __ro_after_init; */ static char *pipefs_dname(struct dentry *dentry, char *buffer, int buflen) { - return dynamic_dname(buffer, buflen, "pipe:[%" PRIino "u]", + return dynamic_dname(buffer, buflen, "pipe:[%llu]", d_inode(dentry)->i_ino); } =20 diff --git a/include/linux/fs.h b/include/linux/fs.h index 4193817e02e8bf94f29514ca43379af21f37ac61..097443bf12e289c347651e5f3da= 5b67eb6b53121 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -758,9 +758,6 @@ struct inode_state_flags { enum inode_state_flags_enum __state; }; =20 -typedef u64 kino_t; -#define PRIino "ll" - /* * Keep mostly read-only and often accessed (especially for * the RCU path lookup and 'stat' data) fields at the beginning @@ -786,7 +783,7 @@ struct inode { #endif =20 /* Stat data, not accessed from path walking */ - kino_t i_ino; + u64 i_ino; /* * Filesystems may only read i_nlink directly. They shall use the * following functions for modification: --=20 2.53.0