* Re: [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro
From: Jeff Layton @ 2026-03-03 15:14 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Darrick J. Wong, Theodore Tso, Alexander Viro, Christian Brauner,
Jan Kara, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers,
Dan Williams, Matthew Wilcox, Eric Biggers, 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,
Nicolas Pitre, Tyler Hicks, Amir Goldstein,
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 König, 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, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <aabwflLfe2HcGv7X@infradead.org>
On Tue, 2026-03-03 at 06:30 -0800, Christoph Hellwig wrote:
> On Tue, Mar 03, 2026 at 09:19:42AM -0500, Jeff Layton wrote:
> > On Tue, 2026-03-03 at 05:59 -0800, Christoph Hellwig wrote:
> > > On Tue, Mar 03, 2026 at 08:43:15AM -0500, Jeff Layton wrote:
> > > > On Tue, 2026-03-03 at 05:37 -0800, Christoph Hellwig wrote:
> > > > > On Tue, Mar 03, 2026 at 05:53:39AM -0500, Jeff Layton wrote:
> > > > > > Like I said to Ted, this is just temporary scaffolding for the change.
> > > > > > The PRIino macro is removed in the end. Given that, perhaps you can
> > > > > > overlook the bikeshed's color in this instance?
> > > > >
> > > > > So why add it in the first place?
> > > >
> > > > Bisectability. The first version I did of this would have broken the
> > > > ability to bisect properly across these changes. I don't love the
> > > > "churn" here either, but this should be cleanly bisectable.
> > >
> > > What do you need to bisect in format string changes? Splitting
> > > every variable type change outside of the main i_ino out - sure.
> > > But bisecting that "change to u64 in ext4" really broke ext4 and
> > > not "change to u64" is not very useful. Commits should do one
> > > well defined thing. Adding a weird transition layer for a format
> > > thing that just gets dropped is not one well defined thing.
> >
> > In the middle stages of the series, you will get warnings or errors on
> > 32-bit hosts when i_ino's type doesn't match what the format string
> > expects.
> >
> > There are really only three options here:
> >
> > 1/ Do (almost) all of the changes in one giant patch
> >
> > 2/ Accept that the build may break during the interim stages
> >
> > 3/ This series: using a typedef and macro to work around the breakage
> > until the type can be changed, at the expense of some extra churn in
> > the codebase
> >
> > 3 seems like the lesser evil.
>
> No, 1 is by far the least evil. Note that it's not really almost all,
> as all the local variables can easily and sanely be split out. It's
> all of the format strings, and that makes sense. The only "regressions"
> there are incorrect format strings which have good warnings and can
> be fixed easily.
Well, I've done 2 and 3 already. Why not 1? :)
It's not so much the regressions that are a problem here, but the merge
conflicts for anyone wanting to backport later patches that are near
these format changes. Having that change broken up by subsystem makes
it easier to handle that piecemeal later.
I think we'll be looking at close to a 1000 line patch that touches
nearly 200 files if go that route. Roughly:
182 files changed, 910 insertions(+), 912 deletions(-)
There are some tracepoint changes in some of the per-subsystem patches
that will need to be split out, so the count isn't exact, but it'll be
fairly close.
Since Christian will probably end up taking this series, I'd like to
get his opinion before I respin anything.
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply
* Re: [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro
From: Christoph Hellwig @ 2026-03-03 14:30 UTC (permalink / raw)
To: Jeff Layton
Cc: Christoph Hellwig, Darrick J. Wong, Theodore Tso, Alexander Viro,
Christian Brauner, Jan Kara, Steven Rostedt, Masami Hiramatsu,
Mathieu Desnoyers, Dan Williams, Matthew Wilcox, Eric Biggers,
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, Nicolas Pitre, Tyler Hicks, Amir Goldstein,
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 König, 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, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <1310fc5c09cce52ec00344b936275fe584c88dea.camel@kernel.org>
On Tue, Mar 03, 2026 at 09:19:42AM -0500, Jeff Layton wrote:
> On Tue, 2026-03-03 at 05:59 -0800, Christoph Hellwig wrote:
> > On Tue, Mar 03, 2026 at 08:43:15AM -0500, Jeff Layton wrote:
> > > On Tue, 2026-03-03 at 05:37 -0800, Christoph Hellwig wrote:
> > > > On Tue, Mar 03, 2026 at 05:53:39AM -0500, Jeff Layton wrote:
> > > > > Like I said to Ted, this is just temporary scaffolding for the change.
> > > > > The PRIino macro is removed in the end. Given that, perhaps you can
> > > > > overlook the bikeshed's color in this instance?
> > > >
> > > > So why add it in the first place?
> > >
> > > Bisectability. The first version I did of this would have broken the
> > > ability to bisect properly across these changes. I don't love the
> > > "churn" here either, but this should be cleanly bisectable.
> >
> > What do you need to bisect in format string changes? Splitting
> > every variable type change outside of the main i_ino out - sure.
> > But bisecting that "change to u64 in ext4" really broke ext4 and
> > not "change to u64" is not very useful. Commits should do one
> > well defined thing. Adding a weird transition layer for a format
> > thing that just gets dropped is not one well defined thing.
>
> In the middle stages of the series, you will get warnings or errors on
> 32-bit hosts when i_ino's type doesn't match what the format string
> expects.
>
> There are really only three options here:
>
> 1/ Do (almost) all of the changes in one giant patch
>
> 2/ Accept that the build may break during the interim stages
>
> 3/ This series: using a typedef and macro to work around the breakage
> until the type can be changed, at the expense of some extra churn in
> the codebase
>
> 3 seems like the lesser evil.
No, 1 is by far the least evil. Note that it's not really almost all,
as all the local variables can easily and sanely be split out. It's
all of the format strings, and that makes sense. The only "regressions"
there are incorrect format strings which have good warnings and can
be fixed easily.
^ permalink raw reply
* Re: [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro
From: Jeff Layton @ 2026-03-03 14:19 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Darrick J. Wong, Theodore Tso, Alexander Viro, Christian Brauner,
Jan Kara, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers,
Dan Williams, Matthew Wilcox, Eric Biggers, 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,
Nicolas Pitre, Tyler Hicks, Amir Goldstein,
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 König, 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, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <aabpPQxCTweoTp8Z@infradead.org>
On Tue, 2026-03-03 at 05:59 -0800, Christoph Hellwig wrote:
> On Tue, Mar 03, 2026 at 08:43:15AM -0500, Jeff Layton wrote:
> > On Tue, 2026-03-03 at 05:37 -0800, Christoph Hellwig wrote:
> > > On Tue, Mar 03, 2026 at 05:53:39AM -0500, Jeff Layton wrote:
> > > > Like I said to Ted, this is just temporary scaffolding for the change.
> > > > The PRIino macro is removed in the end. Given that, perhaps you can
> > > > overlook the bikeshed's color in this instance?
> > >
> > > So why add it in the first place?
> >
> > Bisectability. The first version I did of this would have broken the
> > ability to bisect properly across these changes. I don't love the
> > "churn" here either, but this should be cleanly bisectable.
>
> What do you need to bisect in format string changes? Splitting
> every variable type change outside of the main i_ino out - sure.
> But bisecting that "change to u64 in ext4" really broke ext4 and
> not "change to u64" is not very useful. Commits should do one
> well defined thing. Adding a weird transition layer for a format
> thing that just gets dropped is not one well defined thing.
In the middle stages of the series, you will get warnings or errors on
32-bit hosts when i_ino's type doesn't match what the format string
expects.
There are really only three options here:
1/ Do (almost) all of the changes in one giant patch
2/ Accept that the build may break during the interim stages
3/ This series: using a typedef and macro to work around the breakage
until the type can be changed, at the expense of some extra churn in
the codebase
3 seems like the lesser evil.
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply
* Re: [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro
From: Christoph Hellwig @ 2026-03-03 13:59 UTC (permalink / raw)
To: Jeff Layton
Cc: Christoph Hellwig, Darrick J. Wong, Theodore Tso, Alexander Viro,
Christian Brauner, Jan Kara, Steven Rostedt, Masami Hiramatsu,
Mathieu Desnoyers, Dan Williams, Matthew Wilcox, Eric Biggers,
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, Nicolas Pitre, Tyler Hicks, Amir Goldstein,
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 König, 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, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <19e4e79a59dcfc4c61c8cf263af345d0d7026fc8.camel@kernel.org>
On Tue, Mar 03, 2026 at 08:43:15AM -0500, Jeff Layton wrote:
> On Tue, 2026-03-03 at 05:37 -0800, Christoph Hellwig wrote:
> > On Tue, Mar 03, 2026 at 05:53:39AM -0500, Jeff Layton wrote:
> > > Like I said to Ted, this is just temporary scaffolding for the change.
> > > The PRIino macro is removed in the end. Given that, perhaps you can
> > > overlook the bikeshed's color in this instance?
> >
> > So why add it in the first place?
>
> Bisectability. The first version I did of this would have broken the
> ability to bisect properly across these changes. I don't love the
> "churn" here either, but this should be cleanly bisectable.
What do you need to bisect in format string changes? Splitting
every variable type change outside of the main i_ino out - sure.
But bisecting that "change to u64 in ext4" really broke ext4 and
not "change to u64" is not very useful. Commits should do one
well defined thing. Adding a weird transition layer for a format
thing that just gets dropped is not one well defined thing.
^ permalink raw reply
* Re: [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro
From: Jeff Layton @ 2026-03-03 13:43 UTC (permalink / raw)
To: Christoph Hellwig
Cc: Darrick J. Wong, Theodore Tso, Alexander Viro, Christian Brauner,
Jan Kara, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers,
Dan Williams, Matthew Wilcox, Eric Biggers, 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,
Nicolas Pitre, Tyler Hicks, Amir Goldstein,
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 König, 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, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <aabkBadGzo7IZpSU@infradead.org>
On Tue, 2026-03-03 at 05:37 -0800, Christoph Hellwig wrote:
> On Tue, Mar 03, 2026 at 05:53:39AM -0500, Jeff Layton wrote:
> > Like I said to Ted, this is just temporary scaffolding for the change.
> > The PRIino macro is removed in the end. Given that, perhaps you can
> > overlook the bikeshed's color in this instance?
>
> So why add it in the first place?
Bisectability. The first version I did of this would have broken the
ability to bisect properly across these changes. I don't love the
"churn" here either, but this should be cleanly bisectable.
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply
* Re: [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro
From: Christoph Hellwig @ 2026-03-03 13:37 UTC (permalink / raw)
To: Jeff Layton
Cc: Darrick J. Wong, Theodore Tso, Alexander Viro, Christian Brauner,
Jan Kara, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers,
Dan Williams, Matthew Wilcox, Eric Biggers, 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,
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 König, 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, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <33228005140684201de2ca0c157441d3b6a06413.camel@kernel.org>
On Tue, Mar 03, 2026 at 05:53:39AM -0500, Jeff Layton wrote:
> Like I said to Ted, this is just temporary scaffolding for the change.
> The PRIino macro is removed in the end. Given that, perhaps you can
> overlook the bikeshed's color in this instance?
So why add it in the first place?
^ permalink raw reply
* Re: [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro
From: Christoph Hellwig @ 2026-03-03 13:36 UTC (permalink / raw)
To: Darrick J. Wong
Cc: Theodore Tso, Jeff Layton, Alexander Viro, Christian Brauner,
Jan Kara, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers,
Dan Williams, Matthew Wilcox, Eric Biggers, 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,
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 König, 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, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260303042546.GF13868@frogsfrogsfrogs>
On Mon, Mar 02, 2026 at 08:25:46PM -0800, Darrick J. Wong wrote:
> > That being said, the userspace PRIu64, et. al macros are complete
> > format specifiers, not just a length modifier. And I think this
> > results in less ugly format specifiers in our kernel code.
>
> Yeah, I don't like "ino=%" PRIino "u, lolz\n" either. I'd rather have
> the whole format in the PRIino definition -- it /is/ unsigned long
> after all.
Just drop the bloody macro and the pointless micro-splitting of the
change. After this the inode is always 64-bit and we can just use
normal ll specifiers without messing things up.
^ permalink raw reply
* Re: [PATCH v2 016/110] 9p: use PRIino format for i_ino
From: Christian Schoenebeck @ 2026-03-03 11:52 UTC (permalink / raw)
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,
David Sterba, Marc Dionne, Ian Kent, Luis de Bethencourt,
Salah Triki, Tigran A. Aivazian, Ilya Dryomov, Alex Markuze,
Jan Harkes, coda, 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 König, 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, Jeff Layton
Cc: linux-fsdevel, linux-kernel, linux-trace-kernel, nvdimm, fsverity,
linux-mm, netfs, linux-ext4, linux-f2fs-devel, linux-nfs,
linux-cifs, samba-technical, linux-nilfs, v9fs, linux-afs, autofs,
ceph-devel, codalist, ecryptfs, linux-mtd, jfs-discussion, ntfs3,
ocfs2-devel, devel, linux-unionfs, apparmor,
linux-security-module, linux-integrity, selinux, amd-gfx,
dri-devel, linux-media, linaro-mm-sig, netdev, linux-perf-users,
linux-fscrypt, linux-xfs, linux-hams, linux-x25, audit,
linux-bluetooth, linux-can, linux-sctp, bpf, Jeff Layton
In-Reply-To: <20260302-iino-u64-v2-16-e5388800dae0@kernel.org>
On Monday, 2 March 2026 21:24:00 CET Jeff Layton wrote:
> Convert 9p i_ino format strings to use the PRIino format
> macro in preparation for the widening of i_ino via kino_t.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> fs/9p/vfs_addr.c | 4 ++--
> fs/9p/vfs_inode.c | 6 +++---
> fs/9p/vfs_inode_dotl.c | 6 +++---
> 3 files changed, 8 insertions(+), 8 deletions(-)
Reviewed-by: Christian Schoenebeck <linux_oss@crudebyte.com>
^ permalink raw reply
* Re: [PATCH v2 069/110] 9p: replace PRIino with %llu/%llx format strings
From: Christian Schoenebeck @ 2026-03-03 12:12 UTC (permalink / raw)
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,
David Sterba, Marc Dionne, Ian Kent, Luis de Bethencourt,
Salah Triki, Tigran A. Aivazian, Ilya Dryomov, Alex Markuze,
Jan Harkes, coda, 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 König, 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, Jeff Layton
Cc: linux-fsdevel, linux-kernel, linux-trace-kernel, nvdimm, fsverity,
linux-mm, netfs, linux-ext4, linux-f2fs-devel, linux-nfs,
linux-cifs, samba-technical, linux-nilfs, v9fs, linux-afs, autofs,
ceph-devel, codalist, ecryptfs, linux-mtd, jfs-discussion, ntfs3,
ocfs2-devel, devel, linux-unionfs, apparmor,
linux-security-module, linux-integrity, selinux, amd-gfx,
dri-devel, linux-media, linaro-mm-sig, netdev, linux-perf-users,
linux-fscrypt, linux-xfs, linux-hams, linux-x25, audit,
linux-bluetooth, linux-can, linux-sctp, bpf, Jeff Layton
In-Reply-To: <20260302-iino-u64-v2-69-e5388800dae0@kernel.org>
On Monday, 2 March 2026 21:24:53 CET Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in 9p with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> fs/9p/vfs_addr.c | 4 ++--
> fs/9p/vfs_inode.c | 6 +++---
> fs/9p/vfs_inode_dotl.c | 6 +++---
> 3 files changed, 8 insertions(+), 8 deletions(-)
9p uses the following macro to convert the 9p network protocol's QID path from
u64 (all platforms) to ino_t. The 32-bit path of this macro should be dropped
after this change, as it would unnecessarily truncate the value to 32-bit now
[fs/9p/v9fs_vfs.h]:
#if (BITS_PER_LONG == 32)
#define QID2INO(q) ((ino_t) (((q)->path+2) ^ (((q)->path) >> 32)))
#else
#define QID2INO(q) ((ino_t) ((q)->path+2))
#endif
You are not breaking anything, if you happen to send a v3, that would be nice
to be dropped, otherwise we'll handle that on our end later on:
Reviewed-by: Christian Schoenebeck <linux_oss@crudebyte.com>
I wonder whether that exceeded Claude's context size, or if that's in line
with the prompt specified by you.
/Christian
^ permalink raw reply
* Re: [PATCH v2 007/110] ext4: use PRIino format for i_ino
From: Jeff Layton @ 2026-03-03 11:41 UTC (permalink / raw)
To: Jan Kara
Cc: Alexander Viro, Christian Brauner, 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <eb56qw5rblcnlqupj5lftynq2vts2idha54xpegrfgx45znfuz@mdjzriuawmfn>
On Tue, 2026-03-03 at 12:20 +0100, Jan Kara wrote:
> On Mon 02-03-26 15:23:51, Jeff Layton wrote:
> > Convert ext4 i_ino format strings to use the PRIino format
> > macro in preparation for the widening of i_ino via kino_t.
> >
> > In trace events, change __field(ino_t, ...) to __field(u64, ...)
> > and update TP_printk format strings to %llu/%llx to match the
> > widened field type.
> >
> > Update local variables and function parameters that hold i_ino
> > values from unsigned long to kino_t.
> >
> > Signed-off-by: Jeff Layton <jlayton@kernel.org>
>
> Two small comments. Otherwise feel free to add:
>
> Reviewed-by: Jan Kara <jack@suse.cz>
>
> > diff --git a/fs/ext4/migrate.c b/fs/ext4/migrate.c
> > index 96ab95167bd6e10ba86e61a60cb0be9fbafe157f..43103816b80ef4901858bcd789acb0ffb2612317 100644
> > --- a/fs/ext4/migrate.c
> > +++ b/fs/ext4/migrate.c
> > @@ -455,7 +455,7 @@ int ext4_ext_migrate(struct inode *inode)
> > * log, so disable fast commits for this transaction.
> > */
> > ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_MIGRATE, handle);
> > - goal = (((inode->i_ino - 1) / EXT4_INODES_PER_GROUP(inode->i_sb)) *
> > + goal = (div_u64(inode->i_ino - 1, EXT4_INODES_PER_GROUP(inode->i_sb)) *
>
> Ext4 doesn't support more than 2^32 inodes (due to on-disk format). Thus
> i_ino is always guaranteed to be a number that fits in 32-bits. Thus I'd
> here just type i_ino to (unsigned int) and be done with it like you've done
> it at other places.
>
> ...
>
Thanks. Fixed both places. I ended up casting the above to a u32 since
this patchset has given me a stronger affinity for explicit-width
types.
> > @@ -1823,7 +1823,7 @@ TRACE_EVENT(ext4_journal_start_inode,
> > TP_ARGS(inode, blocks, rsv_blocks, revoke_creds, type, IP),
> >
> > TP_STRUCT__entry(
> > - __field( unsigned long, ino )
> > + __field( u64, ino )
> > __field( dev_t, dev )
> > __field( unsigned long, ip )
> > __field( int, blocks )
> > @@ -1843,9 +1843,10 @@ TRACE_EVENT(ext4_journal_start_inode,
> > ),
> >
> > TP_printk("dev %d,%d blocks %d, rsv_blocks %d, revoke_creds %d,"
> > - " type %d, ino %lu, caller %pS", MAJOR(__entry->dev),
> > + " type %d, ino %llu, caller %pS", MAJOR(__entry->dev),
> > MINOR(__entry->dev), __entry->blocks, __entry->rsv_blocks,
> > - __entry->revoke_creds, __entry->type, __entry->ino,
> > + __entry->revoke_creds, __entry->type,
> > + (unsigned long long) __entry->ino,
>
> Not point in the type cast?
>
> Honza
--
Jeff Layton <jlayton@kernel.org>
^ permalink raw reply
* Re: [PATCH v2 110/110] vfs: remove kino_t typedef and PRIino format macro
From: Jan Kara @ 2026-03-03 11:37 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-110-e5388800dae0@kernel.org>
On Mon 02-03-26 15:25:34, Jeff Layton wrote:
> 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 <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> 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..9ceab142896f6631017067890fd1079240448e13 100644
> --- a/fs/dcache.c
> +++ b/fs/dcache.c
> @@ -1637,11 +1637,11 @@ static enum d_walk_ret umount_check(void *_data, struct dentry *dentry)
> if (dentry == _data && dentry->d_lockref.count == 1)
> return D_WALK_CONTINUE;
>
> - WARN(1, "BUG: Dentry %p{i=%" PRIino "x,n=%pd} "
> + WARN(1, "BUG: Dentry %p{i=%llx,n=%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..4ccd4d2e31adf571f939d2e777123e40302e565f 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 = file_inode(epi->ffd.file);
>
> 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..1e4d11fd9562fd158a23b64ca60e9b7e01719cb8 100644
> --- a/fs/fserror.c
> +++ b/fs/fserror.c
> @@ -176,7 +176,7 @@ void fserror_report(struct super_block *sb, struct inode *inode,
> lost:
> if (inode)
> pr_err_ratelimited(
> - "%s: lost file I/O error report for ino %" PRIino "u type %u pos 0x%llx len 0x%llx error %d",
> + "%s: lost file I/O error report for ino %llu type %u pos 0x%llx len 0x%llx 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..5ad169d51728c260aeaabb810e59eb3ec1d1ce52 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] = {};
> - kino_t ino;
> + u64 ino;
>
> /*
> * If mapping is an invalid pointer, we don't want to crash
> @@ -750,14 +750,14 @@ void dump_mapping(const struct address_space *mapping)
> }
>
> 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;
> }
>
> dentry_ptr = 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);
> }
>
> @@ -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..d8b066fb42108971f6b3c7449dbc9b5f8df16b13 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=0x%x:0x%x ino=0x%" PRIino "x:\n",
> + pr_warn("Leaked locks on dev=0x%x:0x%x ino=0x%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 list_head *list, char *list_
>
> list_for_each_entry(flc, list, flc_list)
> if (flc->flc_file == filp)
> - pr_warn("Leaked %s lock on dev=0x%x:0x%x ino=0x%" PRIino "x "
> + pr_warn("Leaked %s lock on dev=0x%x:0x%x ino=0x%llx "
> " fl_owner=%p fl_flags=0x%x fl_type=0x%x fl_pid=%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, struct file_lock_core *flc,
> (type == 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..eac326b85314ac8080248347154d599c953969c7 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 = inode->i_private;
> const struct proc_ns_operations *ns_ops = ns->ops;
>
> - return dynamic_dname(buffer, buflen, "%s:[%" PRIino "u]",
> + return dynamic_dname(buffer, buflen, "%s:[%llu]",
> ns_ops->name, inode->i_ino);
> }
>
> @@ -394,7 +394,7 @@ static int nsfs_show_path(struct seq_file *seq, struct dentry *dentry)
> const struct ns_common *ns = inode->i_private;
> const struct proc_ns_operations *ns_ops = ns->ops;
>
> - 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;
> }
>
> diff --git a/fs/pipe.c b/fs/pipe.c
> index 311928e8713989747605fd79f653e36d27ce8c0e..9841648c9cf3e8e569cf6ba5c792624fe92396f5 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);
> }
>
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 4193817e02e8bf94f29514ca43379af21f37ac61..097443bf12e289c347651e5f3da5b67eb6b53121 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;
> };
>
> -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
>
> /* 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:
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 104/110] fsnotify: replace PRIino with %llu/%llx format strings
From: Jan Kara @ 2026-03-03 11:36 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-104-e5388800dae0@kernel.org>
On Mon 02-03-26 15:25:28, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in fsnotify with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/notify/fdinfo.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/notify/fdinfo.c b/fs/notify/fdinfo.c
> index 586eaa7f65a4a61b892fb9c39e6a0d81e025b790..0f731eddeb8be74113361f45aa4fca2943395e9d 100644
> --- a/fs/notify/fdinfo.c
> +++ b/fs/notify/fdinfo.c
> @@ -84,7 +84,7 @@ static void inotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark)
> inode_mark = container_of(mark, struct inotify_inode_mark, fsn_mark);
> inode = igrab(fsnotify_conn_inode(mark->connector));
> if (inode) {
> - seq_printf(m, "inotify wd:%x ino:%" PRIino "x sdev:%x mask:%x ignored_mask:0 ",
> + seq_printf(m, "inotify wd:%x ino:%llx sdev:%x mask:%x ignored_mask:0 ",
> inode_mark->wd, inode->i_ino, inode->i_sb->s_dev,
> inotify_mark_user_mask(mark));
> show_mark_fhandle(m, inode);
> @@ -111,7 +111,7 @@ static void fanotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark)
> inode = igrab(fsnotify_conn_inode(mark->connector));
> if (!inode)
> return;
> - seq_printf(m, "fanotify ino:%" PRIino "x sdev:%x mflags:%x mask:%x ignored_mask:%x ",
> + seq_printf(m, "fanotify ino:%llx sdev:%x mflags:%x mask:%x ignored_mask:%x ",
> inode->i_ino, inode->i_sb->s_dev,
> mflags, mark->mask, mark->ignore_mask);
> show_mark_fhandle(m, inode);
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 098/110] udf: replace PRIino with %llu/%llx format strings
From: Jan Kara @ 2026-03-03 11:36 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-98-e5388800dae0@kernel.org>
On Mon 02-03-26 15:25:22, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in udf with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/udf/directory.c | 18 +++++++++---------
> fs/udf/file.c | 2 +-
> fs/udf/inode.c | 12 ++++++------
> fs/udf/namei.c | 8 ++++----
> fs/udf/super.c | 2 +-
> 5 files changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/fs/udf/directory.c b/fs/udf/directory.c
> index c825e11c017f652500a3dfc83905679ef86ec570..f5c81e13eacb17f931d2df564ec4f2a6e9a5d7ab 100644
> --- a/fs/udf/directory.c
> +++ b/fs/udf/directory.c
> @@ -22,7 +22,7 @@ static int udf_verify_fi(struct udf_fileident_iter *iter)
>
> if (iter->fi.descTag.tagIdent != cpu_to_le16(TAG_IDENT_FID)) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %" PRIino "u) has entry at pos %llu with incorrect tag %x\n",
> + "directory (ino %llu) has entry at pos %llu with incorrect tag %x\n",
> iter->dir->i_ino, (unsigned long long)iter->pos,
> le16_to_cpu(iter->fi.descTag.tagIdent));
> return -EFSCORRUPTED;
> @@ -30,7 +30,7 @@ static int udf_verify_fi(struct udf_fileident_iter *iter)
> len = udf_dir_entry_len(&iter->fi);
> if (le16_to_cpu(iter->fi.lengthOfImpUse) & 3) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %" PRIino "u) has entry at pos %llu with unaligned length of impUse field\n",
> + "directory (ino %llu) has entry at pos %llu with unaligned length of impUse field\n",
> iter->dir->i_ino, (unsigned long long)iter->pos);
> return -EFSCORRUPTED;
> }
> @@ -41,20 +41,20 @@ static int udf_verify_fi(struct udf_fileident_iter *iter)
> */
> if (len > 1 << iter->dir->i_blkbits) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %" PRIino "u) has too big (%u) entry at pos %llu\n",
> + "directory (ino %llu) has too big (%u) entry at pos %llu\n",
> iter->dir->i_ino, len, (unsigned long long)iter->pos);
> return -EFSCORRUPTED;
> }
> if (iter->pos + len > iter->dir->i_size) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %" PRIino "u) has entry past directory size at pos %llu\n",
> + "directory (ino %llu) has entry past directory size at pos %llu\n",
> iter->dir->i_ino, (unsigned long long)iter->pos);
> return -EFSCORRUPTED;
> }
> if (udf_dir_entry_len(&iter->fi) !=
> sizeof(struct tag) + le16_to_cpu(iter->fi.descTag.descCRCLength)) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %" PRIino "u) has entry where CRC length (%u) does not match entry length (%u)\n",
> + "directory (ino %llu) has entry where CRC length (%u) does not match entry length (%u)\n",
> iter->dir->i_ino,
> (unsigned)le16_to_cpu(iter->fi.descTag.descCRCLength),
> (unsigned)(udf_dir_entry_len(&iter->fi) -
> @@ -78,7 +78,7 @@ static int udf_copy_fi(struct udf_fileident_iter *iter)
> }
> if (iter->dir->i_size < iter->pos + sizeof(struct fileIdentDesc)) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %" PRIino "u) has entry straddling EOF\n",
> + "directory (ino %llu) has entry straddling EOF\n",
> iter->dir->i_ino);
> return -EFSCORRUPTED;
> }
> @@ -184,7 +184,7 @@ static int udf_fiiter_advance_blk(struct udf_fileident_iter *iter)
> return 0;
> }
> udf_err(iter->dir->i_sb,
> - "extent after position %llu not allocated in directory (ino %" PRIino "u)\n",
> + "extent after position %llu not allocated in directory (ino %llu)\n",
> (unsigned long long)iter->pos, iter->dir->i_ino);
> return -EFSCORRUPTED;
> }
> @@ -272,7 +272,7 @@ int udf_fiiter_init(struct udf_fileident_iter *iter, struct inode *dir,
> if (pos == dir->i_size)
> return 0;
> udf_err(dir->i_sb,
> - "position %llu not allocated in directory (ino %" PRIino "u)\n",
> + "position %llu not allocated in directory (ino %llu)\n",
> (unsigned long long)pos, dir->i_ino);
> err = -EFSCORRUPTED;
> goto out;
> @@ -483,7 +483,7 @@ int udf_fiiter_append_blk(struct udf_fileident_iter *iter)
> &iter->loffset, &etype);
> if (err <= 0 || etype != (EXT_RECORDED_ALLOCATED >> 30)) {
> udf_err(iter->dir->i_sb,
> - "block %llu not allocated in directory (ino %" PRIino "u)\n",
> + "block %llu not allocated in directory (ino %llu)\n",
> (unsigned long long)block, iter->dir->i_ino);
> return -EFSCORRUPTED;
> }
> diff --git a/fs/udf/file.c b/fs/udf/file.c
> index ab8093b87dc8f21ce8af6a72621e2868fb4b9a82..b043fe10e5d605b62988512bbda65bd357fb649a 100644
> --- a/fs/udf/file.c
> +++ b/fs/udf/file.c
> @@ -133,7 +133,7 @@ long udf_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
> int result;
>
> if (file_permission(filp, MAY_READ) != 0) {
> - udf_debug("no permission to access inode %" PRIino "u\n", inode->i_ino);
> + udf_debug("no permission to access inode %llu\n", inode->i_ino);
> return -EPERM;
> }
>
> diff --git a/fs/udf/inode.c b/fs/udf/inode.c
> index ecc22aded0d287ccdfb34b42a0d82e392054f585..902f81729bd886a534c9da644771c7c04c067cbf 100644
> --- a/fs/udf/inode.c
> +++ b/fs/udf/inode.c
> @@ -147,7 +147,7 @@ void udf_evict_inode(struct inode *inode)
> if (iinfo->i_alloc_type != ICBTAG_FLAG_AD_IN_ICB &&
> inode->i_size != iinfo->i_lenExtents) {
> udf_warn(inode->i_sb,
> - "Inode %" PRIino "u (mode %o) has inode size %llu different from extent length %llu. Filesystem need not be standards compliant.\n",
> + "Inode %llu (mode %o) has inode size %llu different from extent length %llu. Filesystem need not be standards compliant.\n",
> inode->i_ino, inode->i_mode,
> (unsigned long long)inode->i_size,
> (unsigned long long)iinfo->i_lenExtents);
> @@ -1386,13 +1386,13 @@ static int udf_read_inode(struct inode *inode, bool hidden_inode)
> */
> bh = udf_read_ptagged(inode->i_sb, iloc, 0, &ident);
> if (!bh) {
> - udf_err(inode->i_sb, "(ino %" PRIino "u) failed !bh\n", inode->i_ino);
> + udf_err(inode->i_sb, "(ino %llu) failed !bh\n", inode->i_ino);
> return -EIO;
> }
>
> if (ident != TAG_IDENT_FE && ident != TAG_IDENT_EFE &&
> ident != TAG_IDENT_USE) {
> - udf_err(inode->i_sb, "(ino %" PRIino "u) failed ident=%u\n",
> + udf_err(inode->i_sb, "(ino %llu) failed ident=%u\n",
> inode->i_ino, ident);
> goto out;
> }
> @@ -1641,7 +1641,7 @@ static int udf_read_inode(struct inode *inode, bool hidden_inode)
> udf_debug("METADATA BITMAP FILE-----\n");
> break;
> default:
> - udf_err(inode->i_sb, "(ino %" PRIino "u) failed unknown file type=%u\n",
> + udf_err(inode->i_sb, "(ino %llu) failed unknown file type=%u\n",
> inode->i_ino, fe->icbTag.fileType);
> goto out;
> }
> @@ -1942,7 +1942,7 @@ static int udf_update_inode(struct inode *inode, int do_sync)
> if (do_sync) {
> sync_dirty_buffer(bh);
> if (buffer_write_io_error(bh)) {
> - udf_warn(inode->i_sb, "IO error syncing udf inode [%08" PRIino "x]\n",
> + udf_warn(inode->i_sb, "IO error syncing udf inode [%08llx]\n",
> inode->i_ino);
> err = -EIO;
> }
> @@ -2224,7 +2224,7 @@ int udf_next_aext(struct inode *inode, struct extent_position *epos,
>
> if (++indirections > UDF_MAX_INDIR_EXTS) {
> udf_err(inode->i_sb,
> - "too many indirect extents in inode %" PRIino "u\n",
> + "too many indirect extents in inode %llu\n",
> inode->i_ino);
> return -EFSCORRUPTED;
> }
> diff --git a/fs/udf/namei.c b/fs/udf/namei.c
> index 32209549a31f451a486918e673a41497bef42e89..ccafcaa9680982decaabc180833b67ace5c92973 100644
> --- a/fs/udf/namei.c
> +++ b/fs/udf/namei.c
> @@ -550,7 +550,7 @@ static int udf_unlink(struct inode *dir, struct dentry *dentry)
> goto end_unlink;
>
> if (!inode->i_nlink) {
> - udf_debug("Deleting nonexistent file (%" PRIino "u), %u\n",
> + udf_debug("Deleting nonexistent file (%llu), %u\n",
> inode->i_ino, inode->i_nlink);
> set_nlink(inode, 1);
> }
> @@ -809,7 +809,7 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
> &diriter);
> if (retval == -ENOENT) {
> udf_err(old_inode->i_sb,
> - "directory (ino %" PRIino "u) has no '..' entry\n",
> + "directory (ino %llu) has no '..' entry\n",
> old_inode->i_ino);
> retval = -EFSCORRUPTED;
> }
> @@ -821,7 +821,7 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
> old_dir->i_ino) {
> retval = -EFSCORRUPTED;
> udf_err(old_inode->i_sb,
> - "directory (ino %" PRIino "u) has parent entry pointing to another inode (%" PRIino "u != %u)\n",
> + "directory (ino %llu) has parent entry pointing to another inode (%llu != %u)\n",
> old_inode->i_ino, old_dir->i_ino,
> udf_get_lb_pblock(old_inode->i_sb, &tloc, 0));
> goto out_oiter;
> @@ -869,7 +869,7 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
> retval = udf_fiiter_find_entry(old_dir, &old_dentry->d_name, &oiter);
> if (retval) {
> udf_err(old_dir->i_sb,
> - "failed to find renamed entry again in directory (ino %" PRIino "u)\n",
> + "failed to find renamed entry again in directory (ino %llu)\n",
> old_dir->i_ino);
> } else {
> udf_fiiter_delete_entry(&oiter);
> diff --git a/fs/udf/super.c b/fs/udf/super.c
> index c6e372d573885742745d3ff4b3b017facf228a32..3a2d66c7e856383cc5c8a605180a9582396ba805 100644
> --- a/fs/udf/super.c
> +++ b/fs/udf/super.c
> @@ -1166,7 +1166,7 @@ static int udf_fill_partdesc_info(struct super_block *sb,
> }
> map->s_uspace.s_table = inode;
> map->s_partition_flags |= UDF_PART_FLAG_UNALLOC_TABLE;
> - udf_debug("unallocSpaceTable (part %d) @ %" PRIino "u\n",
> + udf_debug("unallocSpaceTable (part %d) @ %llu\n",
> p_index, map->s_uspace.s_table->i_ino);
> }
>
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 090/110] minix: replace PRIino with %llu/%llx format strings
From: Jan Kara @ 2026-03-03 11:35 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-90-e5388800dae0@kernel.org>
On Mon 02-03-26 15:25:14, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in minix with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/minix/inode.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/fs/minix/inode.c b/fs/minix/inode.c
> index d92059227d273564c86f100dea3366be4509090b..838b072b6cf0b54c955320916ac996e72f994a14 100644
> --- a/fs/minix/inode.c
> +++ b/fs/minix/inode.c
> @@ -36,7 +36,7 @@ void __minix_error_inode(struct inode *inode, const char *function,
> vaf.fmt = fmt;
> vaf.va = &args;
> printk(KERN_CRIT "minix-fs error (device %s): %s:%d: "
> - "inode #%" PRIino "u: comm %s: %pV\n",
> + "inode #%llu: comm %s: %pV\n",
> inode->i_sb->s_id, function, line, inode->i_ino,
> current->comm, &vaf);
> va_end(args);
> @@ -520,7 +520,7 @@ void minix_set_inode(struct inode *inode, dev_t rdev)
> S_ISFIFO(inode->i_mode) || S_ISSOCK(inode->i_mode)) {
> init_special_inode(inode, inode->i_mode, rdev);
> } else {
> - printk(KERN_DEBUG "MINIX-fs: Invalid file type 0%04o for inode %" PRIino "u.\n",
> + printk(KERN_DEBUG "MINIX-fs: Invalid file type 0%04o for inode %llu.\n",
> inode->i_mode, inode->i_ino);
> make_bad_inode(inode);
> }
> @@ -542,7 +542,7 @@ static struct inode *V1_minix_iget(struct inode *inode)
> return ERR_PTR(-EIO);
> }
> if (raw_inode->i_nlinks == 0) {
> - printk("MINIX-fs: deleted inode referenced: %" PRIino "u\n",
> + printk("MINIX-fs: deleted inode referenced: %llu\n",
> inode->i_ino);
> brelse(bh);
> iget_failed(inode);
> @@ -580,7 +580,7 @@ static struct inode *V2_minix_iget(struct inode *inode)
> return ERR_PTR(-EIO);
> }
> if (raw_inode->i_nlinks == 0) {
> - printk("MINIX-fs: deleted inode referenced: %" PRIino "u\n",
> + printk("MINIX-fs: deleted inode referenced: %llu\n",
> inode->i_ino);
> brelse(bh);
> iget_failed(inode);
> @@ -692,7 +692,7 @@ static int minix_write_inode(struct inode *inode, struct writeback_control *wbc)
> if (wbc->sync_mode == WB_SYNC_ALL && buffer_dirty(bh)) {
> sync_dirty_buffer(bh);
> if (buffer_req(bh) && !buffer_uptodate(bh)) {
> - printk("IO error syncing minix inode [%s:%08" PRIino "x]\n",
> + printk("IO error syncing minix inode [%s:%08llx]\n",
> inode->i_sb->s_id, inode->i_ino);
> err = -EIO;
> }
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 092/110] ocfs2: replace PRIino with %llu/%llx format strings
From: Jan Kara @ 2026-03-03 11:34 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-92-e5388800dae0@kernel.org>
On Mon 02-03-26 15:25:16, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in ocfs2 with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/ocfs2/alloc.c | 2 +-
> fs/ocfs2/aops.c | 4 ++--
> fs/ocfs2/dir.c | 8 ++++----
> fs/ocfs2/dlmfs/dlmfs.c | 10 +++++-----
> fs/ocfs2/extent_map.c | 12 ++++++------
> fs/ocfs2/inode.c | 2 +-
> fs/ocfs2/refcounttree.c | 10 +++++-----
> fs/ocfs2/xattr.c | 4 ++--
> 8 files changed, 26 insertions(+), 26 deletions(-)
>
> diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c
> index d7703549645b548d9f5d77b2214a9a7c0af0ef6f..d40f5d205bce3675ffd37e0e6c228e88c1804a1a 100644
> --- a/fs/ocfs2/alloc.c
> +++ b/fs/ocfs2/alloc.c
> @@ -7318,7 +7318,7 @@ int ocfs2_commit_truncate(struct ocfs2_super *osb,
> * to check it up here before changing the tree.
> */
> if (root_el->l_tree_depth && rec->e_int_clusters == 0) {
> - mlog(ML_ERROR, "Inode %" PRIino "u has an empty "
> + mlog(ML_ERROR, "Inode %llu has an empty "
> "extent record, depth %u\n", inode->i_ino,
> le16_to_cpu(root_el->l_tree_depth));
> status = ocfs2_remove_rightmost_empty_extent(osb,
> diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
> index aea35b1c9fa3ce7327672c1862d0d1201c895c40..c7ad912ec7a0d6fffd09c3d38f110e5d1517d829 100644
> --- a/fs/ocfs2/aops.c
> +++ b/fs/ocfs2/aops.c
> @@ -137,7 +137,7 @@ int ocfs2_get_block(struct inode *inode, sector_t iblock,
> (unsigned long long)iblock, bh_result, create);
>
> if (OCFS2_I(inode)->ip_flags & OCFS2_INODE_SYSTEM_FILE)
> - mlog(ML_NOTICE, "get_block on system inode 0x%p (%" PRIino "u)\n",
> + mlog(ML_NOTICE, "get_block on system inode 0x%p (%llu)\n",
> inode, inode->i_ino);
>
> if (S_ISLNK(inode->i_mode)) {
> @@ -2146,7 +2146,7 @@ static int ocfs2_dio_wr_get_block(struct inode *inode, sector_t iblock,
> ((iblock + ((len - 1) >> i_blkbits)) > endblk))
> len = (endblk - iblock + 1) << i_blkbits;
>
> - mlog(0, "get block of %" PRIino "u at %llu:%u req %u\n",
> + mlog(0, "get block of %llu at %llu:%u req %u\n",
> inode->i_ino, pos, len, total_len);
>
> /*
> diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c
> index eecb2b1d2ec17fb4b3f09abb9e168d2f28f9b420..b82fe4431eb1f0811d81525237d02c5a3f3b021c 100644
> --- a/fs/ocfs2/dir.c
> +++ b/fs/ocfs2/dir.c
> @@ -794,7 +794,7 @@ static int ocfs2_dx_dir_lookup_rec(struct inode *inode,
> if (le16_to_cpu(el->l_count) !=
> ocfs2_extent_recs_per_dx_root(inode->i_sb)) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has invalid extent list length %u\n",
> + "Inode %llu has invalid extent list length %u\n",
> inode->i_ino, le16_to_cpu(el->l_count));
> goto out;
> }
> @@ -812,7 +812,7 @@ static int ocfs2_dx_dir_lookup_rec(struct inode *inode,
>
> if (el->l_tree_depth) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has non zero tree depth in btree tree block %llu\n",
> + "Inode %llu has non zero tree depth in btree tree block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> goto out;
> @@ -821,7 +821,7 @@ static int ocfs2_dx_dir_lookup_rec(struct inode *inode,
>
> if (le16_to_cpu(el->l_next_free_rec) == 0) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has empty extent list at depth %u\n",
> + "Inode %llu has empty extent list at depth %u\n",
> inode->i_ino,
> le16_to_cpu(el->l_tree_depth));
> goto out;
> @@ -839,7 +839,7 @@ static int ocfs2_dx_dir_lookup_rec(struct inode *inode,
>
> if (!found) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has bad extent record (%u, %u, 0) in btree\n",
> + "Inode %llu has bad extent record (%u, %u, 0) in btree\n",
> inode->i_ino,
> le32_to_cpu(rec->e_cpos),
> ocfs2_rec_clusters(el, rec));
> diff --git a/fs/ocfs2/dlmfs/dlmfs.c b/fs/ocfs2/dlmfs/dlmfs.c
> index e96c1c574ff7dc3dffad58ce8536b7e337d3f6fa..5821e33df78fd92fabc7fe7fa1c3b3c62c50f9f8 100644
> --- a/fs/ocfs2/dlmfs/dlmfs.c
> +++ b/fs/ocfs2/dlmfs/dlmfs.c
> @@ -123,7 +123,7 @@ static int dlmfs_file_open(struct inode *inode,
> if (S_ISDIR(inode->i_mode))
> BUG();
>
> - mlog(0, "open called on inode %" PRIino "u, flags 0x%x\n", inode->i_ino,
> + mlog(0, "open called on inode %llu, flags 0x%x\n", inode->i_ino,
> file->f_flags);
>
> status = dlmfs_decode_open_flags(file->f_flags, &level, &flags);
> @@ -170,7 +170,7 @@ static int dlmfs_file_release(struct inode *inode,
> if (S_ISDIR(inode->i_mode))
> BUG();
>
> - mlog(0, "close called on inode %" PRIino "u\n", inode->i_ino);
> + mlog(0, "close called on inode %llu\n", inode->i_ino);
>
> if (fp) {
> level = fp->fp_lock_level;
> @@ -242,7 +242,7 @@ static ssize_t dlmfs_file_write(struct file *filp,
> int bytes_left;
> struct inode *inode = file_inode(filp);
>
> - mlog(0, "inode %" PRIino "u, count = %zu, *ppos = %llu\n",
> + mlog(0, "inode %llu, count = %zu, *ppos = %llu\n",
> inode->i_ino, count, *ppos);
>
> if (*ppos >= DLM_LVB_LEN)
> @@ -301,7 +301,7 @@ static void dlmfs_evict_inode(struct inode *inode)
>
> clear_inode(inode);
>
> - mlog(0, "inode %" PRIino "u\n", inode->i_ino);
> + mlog(0, "inode %llu\n", inode->i_ino);
>
> ip = DLMFS_I(inode);
> lockres = &ip->ip_lockres;
> @@ -490,7 +490,7 @@ static int dlmfs_unlink(struct inode *dir,
> int status;
> struct inode *inode = d_inode(dentry);
>
> - mlog(0, "unlink inode %" PRIino "u\n", inode->i_ino);
> + mlog(0, "unlink inode %llu\n", inode->i_ino);
>
> /* if there are no current holders, or none that are waiting
> * to acquire a lock, this basically destroys our lockres. */
> diff --git a/fs/ocfs2/extent_map.c b/fs/ocfs2/extent_map.c
> index 3cf93a08f7a8946810ccd2de246be4d07a23b53b..eb5dcd17d43752c08eab423fd667b7c0363ba6a1 100644
> --- a/fs/ocfs2/extent_map.c
> +++ b/fs/ocfs2/extent_map.c
> @@ -291,7 +291,7 @@ static int ocfs2_last_eb_is_empty(struct inode *inode,
>
> if (el->l_tree_depth) {
> ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has non zero tree depth in leaf block %llu\n",
> + "Inode %llu has non zero tree depth in leaf block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> ret = -EROFS;
> @@ -427,7 +427,7 @@ static int ocfs2_get_clusters_nocache(struct inode *inode,
>
> if (el->l_tree_depth) {
> ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has non zero tree depth in leaf block %llu\n",
> + "Inode %llu has non zero tree depth in leaf block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> ret = -EROFS;
> @@ -437,7 +437,7 @@ static int ocfs2_get_clusters_nocache(struct inode *inode,
>
> if (le16_to_cpu(el->l_next_free_rec) > le16_to_cpu(el->l_count)) {
> ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has an invalid extent (next_free_rec %u, count %u)\n",
> + "Inode %llu has an invalid extent (next_free_rec %u, count %u)\n",
> inode->i_ino,
> le16_to_cpu(el->l_next_free_rec),
> le16_to_cpu(el->l_count));
> @@ -472,7 +472,7 @@ static int ocfs2_get_clusters_nocache(struct inode *inode,
>
> if (!rec->e_blkno) {
> ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has bad extent record (%u, %u, 0)\n",
> + "Inode %llu has bad extent record (%u, %u, 0)\n",
> inode->i_ino,
> le32_to_cpu(rec->e_cpos),
> ocfs2_rec_clusters(el, rec));
> @@ -561,7 +561,7 @@ int ocfs2_xattr_get_clusters(struct inode *inode, u32 v_cluster,
>
> if (el->l_tree_depth) {
> ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has non zero tree depth in xattr leaf block %llu\n",
> + "Inode %llu has non zero tree depth in xattr leaf block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> ret = -EROFS;
> @@ -580,7 +580,7 @@ int ocfs2_xattr_get_clusters(struct inode *inode, u32 v_cluster,
>
> if (!rec->e_blkno) {
> ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has bad extent record (%u, %u, 0) in xattr\n",
> + "Inode %llu has bad extent record (%u, %u, 0) in xattr\n",
> inode->i_ino,
> le32_to_cpu(rec->e_cpos),
> ocfs2_rec_clusters(el, rec));
> diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c
> index c3076b450de3599291c386ceeb8b2d26e8680904..26025ba2656c66b61866deaff60a0da204745c4f 100644
> --- a/fs/ocfs2/inode.c
> +++ b/fs/ocfs2/inode.c
> @@ -1196,7 +1196,7 @@ static void ocfs2_clear_inode(struct inode *inode)
> inode->i_nlink);
>
> mlog_bug_on_msg(osb == NULL,
> - "Inode=%" PRIino "u\n", inode->i_ino);
> + "Inode=%llu\n", inode->i_ino);
>
> dquot_drop(inode);
>
> diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c
> index 1586c42fdabe70056bf7f103d583dd9000fe9510..6d7f44d3e929d94f3ba6121cc30a867887e0bbe3 100644
> --- a/fs/ocfs2/refcounttree.c
> +++ b/fs/ocfs2/refcounttree.c
> @@ -2341,7 +2341,7 @@ static int ocfs2_mark_extent_refcounted(struct inode *inode,
> cpos, len, phys);
>
> if (!ocfs2_refcount_tree(OCFS2_SB(inode->i_sb))) {
> - ret = ocfs2_error(inode->i_sb, "Inode %" PRIino "u want to use refcount tree, but the feature bit is not set in the super block\n",
> + ret = ocfs2_error(inode->i_sb, "Inode %llu want to use refcount tree, but the feature bit is not set in the super block\n",
> inode->i_ino);
> goto out;
> }
> @@ -2524,7 +2524,7 @@ int ocfs2_prepare_refcount_change_for_del(struct inode *inode,
> u64 start_cpos = ocfs2_blocks_to_clusters(inode->i_sb, phys_blkno);
>
> if (!ocfs2_refcount_tree(OCFS2_SB(inode->i_sb))) {
> - ret = ocfs2_error(inode->i_sb, "Inode %" PRIino "u want to use refcount tree, but the feature bit is not set in the super block\n",
> + ret = ocfs2_error(inode->i_sb, "Inode %llu want to use refcount tree, but the feature bit is not set in the super block\n",
> inode->i_ino);
> goto out;
> }
> @@ -2650,7 +2650,7 @@ static int ocfs2_refcount_cal_cow_clusters(struct inode *inode,
>
> if (el->l_tree_depth) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has non zero tree depth in leaf block %llu\n",
> + "Inode %llu has non zero tree depth in leaf block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> goto out;
> @@ -2662,7 +2662,7 @@ static int ocfs2_refcount_cal_cow_clusters(struct inode *inode,
> rec = &el->l_recs[i];
>
> if (ocfs2_is_empty_extent(rec)) {
> - mlog_bug_on_msg(i != 0, "Inode %" PRIino "u has empty record in "
> + mlog_bug_on_msg(i != 0, "Inode %llu has empty record in "
> "index %d\n", inode->i_ino, i);
> continue;
> }
> @@ -3325,7 +3325,7 @@ static int ocfs2_replace_cow(struct ocfs2_cow_context *context)
> struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
>
> if (!ocfs2_refcount_tree(osb)) {
> - return ocfs2_error(inode->i_sb, "Inode %" PRIino "u want to use refcount tree, but the feature bit is not set in the super block\n",
> + return ocfs2_error(inode->i_sb, "Inode %llu want to use refcount tree, but the feature bit is not set in the super block\n",
> inode->i_ino);
> }
>
> diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c
> index 74cd6dd57abf71a69adef18863d057e48496ccfe..4d55ad963ac514b4b4081447af0992345facd83a 100644
> --- a/fs/ocfs2/xattr.c
> +++ b/fs/ocfs2/xattr.c
> @@ -3741,7 +3741,7 @@ static int ocfs2_xattr_get_rec(struct inode *inode,
>
> if (el->l_tree_depth) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %" PRIino "u has non zero tree depth in xattr tree block %llu\n",
> + "Inode %llu has non zero tree depth in xattr tree block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> goto out;
> @@ -3758,7 +3758,7 @@ static int ocfs2_xattr_get_rec(struct inode *inode,
> }
>
> if (!e_blkno) {
> - ret = ocfs2_error(inode->i_sb, "Inode %" PRIino "u has bad extent record (%u, %u, 0) in xattr\n",
> + ret = ocfs2_error(inode->i_sb, "Inode %llu has bad extent record (%u, %u, 0) in xattr\n",
> inode->i_ino,
> le32_to_cpu(rec->e_cpos),
> ocfs2_rec_clusters(el, rec));
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 087/110] isofs: replace PRIino with %llu/%llx format strings
From: Jan Kara @ 2026-03-03 11:33 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-87-e5388800dae0@kernel.org>
On Mon 02-03-26 15:25:11, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in isofs with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/isofs/compress.c | 2 +-
> fs/isofs/dir.c | 2 +-
> fs/isofs/inode.c | 6 +++---
> fs/isofs/namei.c | 2 +-
> 4 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/fs/isofs/compress.c b/fs/isofs/compress.c
> index dc6c7d247cf880720be47cd26d23206d25a4e453..397568b9c7e7d3e28873be02c8a4befcddaec7b5 100644
> --- a/fs/isofs/compress.c
> +++ b/fs/isofs/compress.c
> @@ -156,7 +156,7 @@ static loff_t zisofs_uncompress_block(struct inode *inode, loff_t block_start,
> else {
> printk(KERN_DEBUG
> "zisofs: zisofs_inflate returned"
> - " %d, inode = %" PRIino "u,"
> + " %d, inode = %llu,"
> " page idx = %d, bh idx = %d,"
> " avail_in = %ld,"
> " avail_out = %ld\n",
> diff --git a/fs/isofs/dir.c b/fs/isofs/dir.c
> index 0a8f9e411c23425a6919b7a4fa3fb387eb2c3209..2fd9948d606e9c92f3003bfbaa4f0271c750a93d 100644
> --- a/fs/isofs/dir.c
> +++ b/fs/isofs/dir.c
> @@ -152,7 +152,7 @@ static int do_isofs_readdir(struct inode *inode, struct file *file,
> de_len < de->name_len[0] +
> sizeof(struct iso_directory_record)) {
> printk(KERN_NOTICE "iso9660: Corrupted directory entry"
> - " in block %lu of inode %" PRIino "u\n", block,
> + " in block %lu of inode %llu\n", block,
> inode->i_ino);
> brelse(bh);
> return -EIO;
> diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
> index 678d7363e157d893e005152e64e922d9170468d0..3593e02e75fef8567643137e0ff992019d2b6fbb 100644
> --- a/fs/isofs/inode.c
> +++ b/fs/isofs/inode.c
> @@ -1261,7 +1261,7 @@ static int isofs_read_level3_size(struct inode *inode)
>
> out_toomany:
> printk(KERN_INFO "%s: More than 100 file sections ?!?, aborting...\n"
> - "isofs_read_level3_size: inode=%" PRIino "u\n",
> + "isofs_read_level3_size: inode=%llu\n",
> __func__, inode->i_ino);
> goto out;
> }
> @@ -1380,7 +1380,7 @@ static int isofs_read_inode(struct inode *inode, int relocated)
> /* I have no idea what file_unit_size is used for, so
> we will flag it for now */
> if (de->file_unit_size[0] != 0) {
> - printk(KERN_DEBUG "ISOFS: File unit size != 0 for ISO file (%" PRIino "u).\n",
> + printk(KERN_DEBUG "ISOFS: File unit size != 0 for ISO file (%llu).\n",
> inode->i_ino);
> }
>
> @@ -1450,7 +1450,7 @@ static int isofs_read_inode(struct inode *inode, int relocated)
> /* XXX - parse_rock_ridge_inode() had already set i_rdev. */
> init_special_inode(inode, inode->i_mode, inode->i_rdev);
> } else {
> - printk(KERN_DEBUG "ISOFS: Invalid file type 0%04o for inode %" PRIino "u.\n",
> + printk(KERN_DEBUG "ISOFS: Invalid file type 0%04o for inode %llu.\n",
> inode->i_mode, inode->i_ino);
> ret = -EIO;
> goto fail;
> diff --git a/fs/isofs/namei.c b/fs/isofs/namei.c
> index 494d2ae4c0955123335a97f23672b959dcc9e0bd..8dd3911717e0cc221f60fb6447e1bf26cc2223dd 100644
> --- a/fs/isofs/namei.c
> +++ b/fs/isofs/namei.c
> @@ -100,7 +100,7 @@ isofs_find_entry(struct inode *dir, struct dentry *dentry,
> /* Basic sanity check, whether name doesn't exceed dir entry */
> if (de_len < dlen + sizeof(struct iso_directory_record)) {
> printk(KERN_NOTICE "iso9660: Corrupted directory entry"
> - " in block %lu of inode %" PRIino "u\n", block,
> + " in block %lu of inode %llu\n", block,
> dir->i_ino);
> brelse(bh);
> return 0;
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 082/110] ext2: replace PRIino with %llu/%llx format strings
From: Jan Kara @ 2026-03-03 11:33 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-82-e5388800dae0@kernel.org>
On Mon 02-03-26 15:25:06, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in ext2 with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/ext2/dir.c | 10 +++++-----
> fs/ext2/ialloc.c | 2 +-
> fs/ext2/inode.c | 2 +-
> fs/ext2/xattr.c | 14 +++++++-------
> 4 files changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/fs/ext2/dir.c b/fs/ext2/dir.c
> index f87106907da31bb7c1ca65c0ec2dcc0d47d27c62..278d4be8ecbe7790204b5ba985a7ce088fadb181 100644
> --- a/fs/ext2/dir.c
> +++ b/fs/ext2/dir.c
> @@ -141,7 +141,7 @@ static bool ext2_check_folio(struct folio *folio, int quiet, char *kaddr)
> Ebadsize:
> if (!quiet)
> ext2_error(sb, __func__,
> - "size of directory #%" PRIino "u is not a multiple "
> + "size of directory #%llu is not a multiple "
> "of chunk size", dir->i_ino);
> goto fail;
> Eshort:
> @@ -160,7 +160,7 @@ static bool ext2_check_folio(struct folio *folio, int quiet, char *kaddr)
> error = "inode out of bounds";
> bad_entry:
> if (!quiet)
> - ext2_error(sb, __func__, "bad entry in directory #%" PRIino "u: : %s - "
> + ext2_error(sb, __func__, "bad entry in directory #%llu: : %s - "
> "offset=%llu, inode=%lu, rec_len=%d, name_len=%d",
> dir->i_ino, error, folio_pos(folio) + offs,
> (unsigned long) le32_to_cpu(p->inode),
> @@ -170,7 +170,7 @@ static bool ext2_check_folio(struct folio *folio, int quiet, char *kaddr)
> if (!quiet) {
> p = (ext2_dirent *)(kaddr + offs);
> ext2_error(sb, "ext2_check_folio",
> - "entry in directory #%" PRIino "u spans the page boundary"
> + "entry in directory #%llu spans the page boundary"
> "offset=%llu, inode=%lu",
> dir->i_ino, folio_pos(folio) + offs,
> (unsigned long) le32_to_cpu(p->inode));
> @@ -281,7 +281,7 @@ ext2_readdir(struct file *file, struct dir_context *ctx)
>
> if (IS_ERR(kaddr)) {
> ext2_error(sb, __func__,
> - "bad page in #%" PRIino "u",
> + "bad page in #%llu",
> inode->i_ino);
> ctx->pos += PAGE_SIZE - offset;
> return PTR_ERR(kaddr);
> @@ -383,7 +383,7 @@ struct ext2_dir_entry_2 *ext2_find_entry (struct inode *dir,
> /* next folio is past the blocks we've got */
> if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) {
> ext2_error(dir->i_sb, __func__,
> - "dir %" PRIino "u size %lld exceeds block count %llu",
> + "dir %llu size %lld exceeds block count %llu",
> dir->i_ino, dir->i_size,
> (unsigned long long)dir->i_blocks);
> goto out;
> diff --git a/fs/ext2/ialloc.c b/fs/ext2/ialloc.c
> index 6a317411e54191578343308b5a3990aea9c36436..bf21b57cf98cd5f90e1177454a8fd5cca482c2f8 100644
> --- a/fs/ext2/ialloc.c
> +++ b/fs/ext2/ialloc.c
> @@ -590,7 +590,7 @@ struct inode *ext2_new_inode(struct inode *dir, umode_t mode,
> goto fail_free_drop;
>
> mark_inode_dirty(inode);
> - ext2_debug("allocating inode %" PRIino "u\n", inode->i_ino);
> + ext2_debug("allocating inode %llu\n", inode->i_ino);
> ext2_preread_inode(inode);
> return inode;
>
> diff --git a/fs/ext2/inode.c b/fs/ext2/inode.c
> index 0ca9148583646812b478f01fd35bcad11498f951..45286c0c3b6b8f86a1ecec0e2f545c5a678dd6ac 100644
> --- a/fs/ext2/inode.c
> +++ b/fs/ext2/inode.c
> @@ -1152,7 +1152,7 @@ static void ext2_free_branches(struct inode *inode, __le32 *p, __le32 *q, int de
> */
> if (!bh) {
> ext2_error(inode->i_sb, "ext2_free_branches",
> - "Read failure, inode=%" PRIino "u, block=%ld",
> + "Read failure, inode=%llu, block=%ld",
> inode->i_ino, nr);
> continue;
> }
> diff --git a/fs/ext2/xattr.c b/fs/ext2/xattr.c
> index 4b3dadc0a2a47c85682d9c74edb900cf0f20996f..14ada70db36a76d1436944a3622e5caf0b373b9e 100644
> --- a/fs/ext2/xattr.c
> +++ b/fs/ext2/xattr.c
> @@ -227,7 +227,7 @@ ext2_xattr_get(struct inode *inode, int name_index, const char *name,
> if (!ext2_xattr_header_valid(HDR(bh))) {
> bad_block:
> ext2_error(inode->i_sb, "ext2_xattr_get",
> - "inode %" PRIino "u: bad block %d", inode->i_ino,
> + "inode %llu: bad block %d", inode->i_ino,
> EXT2_I(inode)->i_file_acl);
> error = -EIO;
> goto cleanup;
> @@ -313,7 +313,7 @@ ext2_xattr_list(struct dentry *dentry, char *buffer, size_t buffer_size)
> if (!ext2_xattr_header_valid(HDR(bh))) {
> bad_block:
> ext2_error(inode->i_sb, "ext2_xattr_list",
> - "inode %" PRIino "u: bad block %d", inode->i_ino,
> + "inode %llu: bad block %d", inode->i_ino,
> EXT2_I(inode)->i_file_acl);
> error = -EIO;
> goto cleanup;
> @@ -454,7 +454,7 @@ ext2_xattr_set(struct inode *inode, int name_index, const char *name,
> if (!ext2_xattr_header_valid(header)) {
> bad_block:
> ext2_error(sb, "ext2_xattr_set",
> - "inode %" PRIino "u: bad block %d", inode->i_ino,
> + "inode %llu: bad block %d", inode->i_ino,
> EXT2_I(inode)->i_file_acl);
> error = -EIO;
> goto cleanup;
> @@ -833,7 +833,7 @@ ext2_xattr_delete_inode(struct inode *inode)
>
> if (!ext2_data_block_valid(sbi, EXT2_I(inode)->i_file_acl, 1)) {
> ext2_error(inode->i_sb, "ext2_xattr_delete_inode",
> - "inode %" PRIino "u: xattr block %d is out of data blocks range",
> + "inode %llu: xattr block %d is out of data blocks range",
> inode->i_ino, EXT2_I(inode)->i_file_acl);
> goto cleanup;
> }
> @@ -841,14 +841,14 @@ ext2_xattr_delete_inode(struct inode *inode)
> bh = sb_bread(inode->i_sb, EXT2_I(inode)->i_file_acl);
> if (!bh) {
> ext2_error(inode->i_sb, "ext2_xattr_delete_inode",
> - "inode %" PRIino "u: block %d read error", inode->i_ino,
> + "inode %llu: block %d read error", inode->i_ino,
> EXT2_I(inode)->i_file_acl);
> goto cleanup;
> }
> ea_bdebug(bh, "b_count=%d", atomic_read(&(bh->b_count)));
> if (!ext2_xattr_header_valid(HDR(bh))) {
> ext2_error(inode->i_sb, "ext2_xattr_delete_inode",
> - "inode %" PRIino "u: bad block %d", inode->i_ino,
> + "inode %llu: bad block %d", inode->i_ino,
> EXT2_I(inode)->i_file_acl);
> goto cleanup;
> }
> @@ -952,7 +952,7 @@ ext2_xattr_cache_find(struct inode *inode, struct ext2_xattr_header *header)
> bh = sb_bread(inode->i_sb, ce->e_value);
> if (!bh) {
> ext2_error(inode->i_sb, "ext2_xattr_cache_find",
> - "inode %" PRIino "u: block %ld read error",
> + "inode %llu: block %ld read error",
> inode->i_ino, (unsigned long) ce->e_value);
> } else {
> lock_buffer(bh);
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 067/110] proc: replace PRIino with %llu/%llx format strings
From: Jan Kara @ 2026-03-03 11:32 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-67-e5388800dae0@kernel.org>
On Mon 02-03-26 15:24:51, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in proc with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/proc/fd.c | 2 +-
> fs/proc/task_mmu.c | 4 ++--
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/proc/fd.c b/fs/proc/fd.c
> index 936d0258d688be5fdc384ee5c4dfbb8fa0d19dff..aae1a83e884686471758703634f0d3479e77c9a7 100644
> --- a/fs/proc/fd.c
> +++ b/fs/proc/fd.c
> @@ -54,7 +54,7 @@ static int seq_show(struct seq_file *m, void *v)
> if (ret)
> return ret;
>
> - seq_printf(m, "pos:\t%lli\nflags:\t0%o\nmnt_id:\t%i\nino:\t%" PRIino "u\n",
> + seq_printf(m, "pos:\t%lli\nflags:\t0%o\nmnt_id:\t%i\nino:\t%llu\n",
> (long long)file->f_pos, f_flags,
> real_mount(file->f_path.mnt)->mnt_id,
> file_inode(file)->i_ino);
> diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
> index 702b0f0433f91077cd0d0af4a07e9d67d9fa9a45..751b9ba160fbf15499555875871d727644b0df44 100644
> --- a/fs/proc/task_mmu.c
> +++ b/fs/proc/task_mmu.c
> @@ -442,7 +442,7 @@ static void get_vma_name(struct vm_area_struct *vma,
> static void show_vma_header_prefix(struct seq_file *m,
> unsigned long start, unsigned long end,
> vm_flags_t flags, unsigned long long pgoff,
> - dev_t dev, kino_t ino)
> + dev_t dev, u64 ino)
> {
> seq_setwidth(m, 25 + sizeof(void *) * 6 - 1);
> seq_put_hex_ll(m, NULL, start, 8);
> @@ -465,7 +465,7 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
> const struct path *path;
> const char *name_fmt, *name;
> vm_flags_t flags = vma->vm_flags;
> - kino_t ino = 0;
> + u64 ino = 0;
> unsigned long long pgoff = 0;
> unsigned long start, end;
> dev_t dev = 0;
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 062/110] jbd2: replace PRIino with %llu/%llx format strings
From: Jan Kara @ 2026-03-03 11:32 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-62-e5388800dae0@kernel.org>
On Mon 02-03-26 15:24:46, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in jbd2 with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/jbd2/journal.c | 4 ++--
> fs/jbd2/transaction.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
> index 9df937f0e15c71028038e1c0c12159421a2444b4..b60918ed8a9965efe42419e6de3f449be50f7ca0 100644
> --- a/fs/jbd2/journal.c
> +++ b/fs/jbd2/journal.c
> @@ -1677,7 +1677,7 @@ journal_t *jbd2_journal_init_inode(struct inode *inode)
> return err ? ERR_PTR(err) : ERR_PTR(-EINVAL);
> }
>
> - jbd2_debug(1, "JBD2: inode %s/%" PRIino "u, size %lld, bits %d, blksize %ld\n",
> + jbd2_debug(1, "JBD2: inode %s/%llu, size %lld, bits %d, blksize %ld\n",
> inode->i_sb->s_id, inode->i_ino, (long long) inode->i_size,
> inode->i_sb->s_blocksize_bits, inode->i_sb->s_blocksize);
>
> @@ -1689,7 +1689,7 @@ journal_t *jbd2_journal_init_inode(struct inode *inode)
>
> journal->j_inode = inode;
> snprintf(journal->j_devname, sizeof(journal->j_devname),
> - "%pg-%" PRIino "u", journal->j_dev, journal->j_inode->i_ino);
> + "%pg-%llu", journal->j_dev, journal->j_inode->i_ino);
> strreplace(journal->j_devname, '/', '!');
> jbd2_stats_proc_init(journal);
>
> diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c
> index 2a03d4eafdee95e5caa8dbd0afe4e32ef4104378..a90f9092706cceea56c1100f7d40ccba0d50adba 100644
> --- a/fs/jbd2/transaction.c
> +++ b/fs/jbd2/transaction.c
> @@ -2651,7 +2651,7 @@ static int jbd2_journal_file_inode(handle_t *handle, struct jbd2_inode *jinode,
> return -EROFS;
> journal = transaction->t_journal;
>
> - jbd2_debug(4, "Adding inode %" PRIino "u, tid:%d\n", jinode->i_vfs_inode->i_ino,
> + jbd2_debug(4, "Adding inode %llu, tid:%d\n", jinode->i_vfs_inode->i_ino,
> transaction->t_tid);
>
> spin_lock(&journal->j_list_lock);
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 061/110] ext4: replace PRIino with %llu/%llx format strings
From: Jan Kara @ 2026-03-03 11:31 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-61-e5388800dae0@kernel.org>
On Mon 02-03-26 15:24:45, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in ext4 with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/ext4/dir.c | 2 +-
> fs/ext4/ext4.h | 4 ++--
> fs/ext4/extents.c | 8 ++++----
> fs/ext4/extents_status.c | 28 ++++++++++++++--------------
> fs/ext4/fast_commit.c | 8 ++++----
> fs/ext4/ialloc.c | 8 ++++----
> fs/ext4/indirect.c | 2 +-
> fs/ext4/inline.c | 14 +++++++-------
> fs/ext4/inode.c | 22 +++++++++++-----------
> fs/ext4/ioctl.c | 4 ++--
> fs/ext4/mballoc.c | 2 +-
> fs/ext4/move_extent.c | 20 ++++++++++----------
> fs/ext4/namei.c | 10 +++++-----
> fs/ext4/orphan.c | 16 ++++++++--------
> fs/ext4/page-io.c | 10 +++++-----
> fs/ext4/super.c | 22 +++++++++++-----------
> fs/ext4/xattr.c | 10 +++++-----
> 17 files changed, 95 insertions(+), 95 deletions(-)
>
> diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
> index 785d482b0ff01686ed420508e826eb8d2745aa92..17edd678fa87b8f024232081888c4054d42a7bd9 100644
> --- a/fs/ext4/dir.c
> +++ b/fs/ext4/dir.c
> @@ -535,7 +535,7 @@ static int call_filldir(struct file *file, struct dir_context *ctx,
> struct super_block *sb = inode->i_sb;
>
> if (!fname) {
> - ext4_msg(sb, KERN_ERR, "%s:%d: inode #%" PRIino "u: comm %s: "
> + ext4_msg(sb, KERN_ERR, "%s:%d: inode #%llu: comm %s: "
> "called with null fname?!?", __func__, __LINE__,
> inode->i_ino, current->comm);
> return 0;
> diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h
> index d2bf5f7db5524c50626833a82987f89965ab7f67..85e6c2b543a82e83b777c2cc2f54a6ed53b554f2 100644
> --- a/fs/ext4/ext4.h
> +++ b/fs/ext4/ext4.h
> @@ -92,7 +92,7 @@
> */
> #ifdef CONFIG_EXT4_DEBUG
> #define ext_debug(ino, fmt, ...) \
> - pr_debug("[%s/%d] EXT4-fs (%s): ino %" PRIino "u: (%s, %d): %s:" fmt, \
> + pr_debug("[%s/%d] EXT4-fs (%s): ino %llu: (%s, %d): %s:" fmt, \
> current->comm, task_pid_nr(current), \
> ino->i_sb->s_id, ino->i_ino, __FILE__, __LINE__, \
> __func__, ##__VA_ARGS__)
> @@ -3229,7 +3229,7 @@ extern void __dump_mmp_msg(struct super_block *, struct mmp_struct *mmp,
> extern __printf(7, 8)
> void __ext4_grp_locked_error(const char *, unsigned int,
> struct super_block *, ext4_group_t,
> - kino_t, ext4_fsblk_t,
> + u64, ext4_fsblk_t,
> const char *, ...);
>
> #define EXT4_ERROR_INODE(inode, fmt, a...) \
> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
> index 668bb30771fb4fb33e75971b4488359e636d7d1b..042e1555a674149f8d47716f288ca175556b6b45 100644
> --- a/fs/ext4/extents.c
> +++ b/fs/ext4/extents.c
> @@ -4603,7 +4603,7 @@ static int ext4_alloc_file_blocks(struct file *file, ext4_lblk_t offset,
> }
> ret = ext4_map_blocks(handle, inode, &map, flags);
> if (ret <= 0) {
> - ext4_debug("inode #%" PRIino "u: block %u: len %u: "
> + ext4_debug("inode #%llu: block %u: len %u: "
> "ext4_ext_map_blocks returned %d",
> inode->i_ino, map.m_lblk,
> map.m_len, ret);
> @@ -4955,7 +4955,7 @@ int ext4_convert_unwritten_extents_atomic(handle_t *handle, struct inode *inode,
> ret = ext4_map_blocks(handle, inode, &map, flags);
> if (ret != max_blocks)
> ext4_msg(inode->i_sb, KERN_INFO,
> - "inode #%" PRIino "u: block %u: len %u: "
> + "inode #%llu: block %u: len %u: "
> "split block mapping found for atomic write, "
> "ret = %d",
> inode->i_ino, map.m_lblk,
> @@ -4974,7 +4974,7 @@ int ext4_convert_unwritten_extents_atomic(handle_t *handle, struct inode *inode,
>
> if (ret <= 0 || ret2)
> ext4_warning(inode->i_sb,
> - "inode #%" PRIino "u: block %u: len %u: "
> + "inode #%llu: block %u: len %u: "
> "returned %d or %d",
> inode->i_ino, map.m_lblk,
> map.m_len, ret, ret2);
> @@ -5031,7 +5031,7 @@ int ext4_convert_unwritten_extents(handle_t *handle, struct inode *inode,
> EXT4_EX_NOCACHE);
> if (ret <= 0)
> ext4_warning(inode->i_sb,
> - "inode #%" PRIino "u: block %u: len %u: "
> + "inode #%llu: block %u: len %u: "
> "ext4_ext_map_blocks returned %d",
> inode->i_ino, map.m_lblk,
> map.m_len, ret);
> diff --git a/fs/ext4/extents_status.c b/fs/ext4/extents_status.c
> index 01ab48602798f0cdf6312e8bbe130dc319405bff..6e4a191e821915d2b61646f46304ffab6d531126 100644
> --- a/fs/ext4/extents_status.c
> +++ b/fs/ext4/extents_status.c
> @@ -214,7 +214,7 @@ static void ext4_es_print_tree(struct inode *inode)
> struct ext4_es_tree *tree;
> struct rb_node *node;
>
> - printk(KERN_DEBUG "status extents for inode %" PRIino "u:", inode->i_ino);
> + printk(KERN_DEBUG "status extents for inode %llu:", inode->i_ino);
> tree = &EXT4_I(inode)->i_es_tree;
> node = rb_first(&tree->root);
> while (node) {
> @@ -703,7 +703,7 @@ static void ext4_es_insert_extent_ext_check(struct inode *inode,
> if (!ext4_es_is_written(es) && !ext4_es_is_unwritten(es)) {
> if (in_range(es->es_lblk, ee_block, ee_len)) {
> pr_warn("ES insert assertion failed for "
> - "inode: %" PRIino "u we can find an extent "
> + "inode: %llu we can find an extent "
> "at block [%d/%d/%llu/%c], but we "
> "want to add a delayed/hole extent "
> "[%d/%d/%llu/%x]\n",
> @@ -721,7 +721,7 @@ static void ext4_es_insert_extent_ext_check(struct inode *inode,
> */
> if (es->es_lblk < ee_block ||
> ext4_es_pblock(es) != ee_start + es->es_lblk - ee_block) {
> - pr_warn("ES insert assertion failed for inode: %" PRIino "u "
> + pr_warn("ES insert assertion failed for inode: %llu "
> "ex_status [%d/%d/%llu/%c] != "
> "es_status [%d/%d/%llu/%c]\n", inode->i_ino,
> ee_block, ee_len, ee_start,
> @@ -731,7 +731,7 @@ static void ext4_es_insert_extent_ext_check(struct inode *inode,
> }
>
> if (ee_status ^ es_status) {
> - pr_warn("ES insert assertion failed for inode: %" PRIino "u "
> + pr_warn("ES insert assertion failed for inode: %llu "
> "ex_status [%d/%d/%llu/%c] != "
> "es_status [%d/%d/%llu/%c]\n", inode->i_ino,
> ee_block, ee_len, ee_start,
> @@ -744,7 +744,7 @@ static void ext4_es_insert_extent_ext_check(struct inode *inode,
> * that we don't want to add an written/unwritten extent.
> */
> if (!ext4_es_is_delayed(es) && !ext4_es_is_hole(es)) {
> - pr_warn("ES insert assertion failed for inode: %" PRIino "u "
> + pr_warn("ES insert assertion failed for inode: %llu "
> "can't find an extent at block %d but we want "
> "to add a written/unwritten extent "
> "[%d/%d/%llu/%x]\n", inode->i_ino,
> @@ -779,7 +779,7 @@ static void ext4_es_insert_extent_ind_check(struct inode *inode,
> * We want to add a delayed/hole extent but this
> * block has been allocated.
> */
> - pr_warn("ES insert assertion failed for inode: %" PRIino "u "
> + pr_warn("ES insert assertion failed for inode: %llu "
> "We can find blocks but we want to add a "
> "delayed/hole extent [%d/%d/%llu/%x]\n",
> inode->i_ino, es->es_lblk, es->es_len,
> @@ -788,13 +788,13 @@ static void ext4_es_insert_extent_ind_check(struct inode *inode,
> } else if (ext4_es_is_written(es)) {
> if (retval != es->es_len) {
> pr_warn("ES insert assertion failed for "
> - "inode: %" PRIino "u retval %d != es_len %d\n",
> + "inode: %llu retval %d != es_len %d\n",
> inode->i_ino, retval, es->es_len);
> return;
> }
> if (map.m_pblk != ext4_es_pblock(es)) {
> pr_warn("ES insert assertion failed for "
> - "inode: %" PRIino "u m_pblk %llu != "
> + "inode: %llu m_pblk %llu != "
> "es_pblk %llu\n",
> inode->i_ino, map.m_pblk,
> ext4_es_pblock(es));
> @@ -809,7 +809,7 @@ static void ext4_es_insert_extent_ind_check(struct inode *inode,
> }
> } else if (retval == 0) {
> if (ext4_es_is_written(es)) {
> - pr_warn("ES insert assertion failed for inode: %" PRIino "u "
> + pr_warn("ES insert assertion failed for inode: %llu "
> "We can't find the block but we want to add "
> "a written extent [%d/%d/%llu/%x]\n",
> inode->i_ino, es->es_lblk, es->es_len,
> @@ -919,7 +919,7 @@ void ext4_es_insert_extent(struct inode *inode, ext4_lblk_t lblk,
> if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
> return;
>
> - es_debug("add [%u/%u) %llu %x %d to extent status tree of inode %" PRIino "u\n",
> + es_debug("add [%u/%u) %llu %x %d to extent status tree of inode %llu\n",
> lblk, len, pblk, status, delalloc_reserve_used, inode->i_ino);
>
> if (!len)
> @@ -1631,7 +1631,7 @@ void ext4_es_remove_extent(struct inode *inode, ext4_lblk_t lblk,
> if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
> return;
>
> - es_debug("remove [%u/%u) from extent status tree of inode %" PRIino "u\n",
> + es_debug("remove [%u/%u) from extent status tree of inode %llu\n",
> lblk, len, inode->i_ino);
>
> if (!len)
> @@ -1821,7 +1821,7 @@ int ext4_seq_es_shrinker_info_show(struct seq_file *seq, void *v)
> seq_printf(seq, " %lu shrunk objects\n", es_stats->es_stats_shrunk);
> if (inode_cnt)
> seq_printf(seq,
> - "maximum:\n %" PRIino "u inode (%u objects, %u reclaimable)\n"
> + "maximum:\n %llu inode (%u objects, %u reclaimable)\n"
> " %llu us max scan time\n",
> max->vfs_inode.i_ino, max->i_es_all_nr, max->i_es_shk_nr,
> div_u64(es_stats->es_stats_max_scan_time, 1000));
> @@ -1998,7 +1998,7 @@ static void ext4_print_pending_tree(struct inode *inode)
> struct rb_node *node;
> struct pending_reservation *pr;
>
> - printk(KERN_DEBUG "pending reservations for inode %" PRIino "u:", inode->i_ino);
> + printk(KERN_DEBUG "pending reservations for inode %llu:", inode->i_ino);
> tree = &EXT4_I(inode)->i_pending_tree;
> node = rb_first(&tree->root);
> while (node) {
> @@ -2214,7 +2214,7 @@ void ext4_es_insert_delayed_extent(struct inode *inode, ext4_lblk_t lblk,
> if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY)
> return;
>
> - es_debug("add [%u/%u) delayed to extent status tree of inode %" PRIino "u\n",
> + es_debug("add [%u/%u) delayed to extent status tree of inode %llu\n",
> lblk, len, inode->i_ino);
> if (!len)
> return;
> diff --git a/fs/ext4/fast_commit.c b/fs/ext4/fast_commit.c
> index 8c6512d4ebcbd377186e4ce1ad5811b626d095db..379fb66dedbcd1c87b960cfe8786601700f797f3 100644
> --- a/fs/ext4/fast_commit.c
> +++ b/fs/ext4/fast_commit.c
> @@ -616,7 +616,7 @@ static int __track_range(handle_t *handle, struct inode *inode, void *arg,
> (struct __track_range_args *)arg;
>
> if (inode->i_ino < EXT4_FIRST_INO(inode->i_sb)) {
> - ext4_debug("Special inode %" PRIino "u being modified\n", inode->i_ino);
> + ext4_debug("Special inode %llu being modified\n", inode->i_ino);
> return -ECANCELED;
> }
>
> @@ -914,7 +914,7 @@ static int ext4_fc_write_inode_data(struct inode *inode, u32 *crc)
> spin_unlock(&ei->i_fc_lock);
>
> cur_lblk_off = old_blk_size;
> - ext4_debug("will try writing %d to %d for inode %" PRIino "u\n",
> + ext4_debug("will try writing %d to %d for inode %llu\n",
> cur_lblk_off, new_blk_size, inode->i_ino);
>
> while (cur_lblk_off <= new_blk_size) {
> @@ -1792,7 +1792,7 @@ static int ext4_fc_replay_add_range(struct super_block *sb,
>
> cur = start;
> remaining = len;
> - ext4_debug("ADD_RANGE, lblk %d, pblk %lld, len %d, unwritten %d, inode %" PRIino "u\n",
> + ext4_debug("ADD_RANGE, lblk %d, pblk %lld, len %d, unwritten %d, inode %llu\n",
> start, start_pblk, len, ext4_ext_is_unwritten(ex),
> inode->i_ino);
>
> @@ -1903,7 +1903,7 @@ ext4_fc_replay_del_range(struct super_block *sb,
> if (ret)
> goto out;
>
> - ext4_debug("DEL_RANGE, inode %" PRIino "u, lblk %d, len %d\n",
> + ext4_debug("DEL_RANGE, inode %llu, lblk %d, len %d\n",
> inode->i_ino, le32_to_cpu(lrange.fc_lblk),
> le32_to_cpu(lrange.fc_len));
> while (remaining > 0) {
> diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c
> index 35899f04a995b2b8b0fad275ad1920467701f54b..628a74b2bbe6232eabbf2562ffd0e350ea37446e 100644
> --- a/fs/ext4/ialloc.c
> +++ b/fs/ext4/ialloc.c
> @@ -253,13 +253,13 @@ void ext4_free_inode(handle_t *handle, struct inode *inode)
> return;
> }
> if (icount_read(inode) > 1) {
> - ext4_msg(sb, KERN_ERR, "%s:%d: inode #%" PRIino "u: count=%d",
> + ext4_msg(sb, KERN_ERR, "%s:%d: inode #%llu: count=%d",
> __func__, __LINE__, inode->i_ino,
> icount_read(inode));
> return;
> }
> if (inode->i_nlink) {
> - ext4_msg(sb, KERN_ERR, "%s:%d: inode #%" PRIino "u: nlink=%d\n",
> + ext4_msg(sb, KERN_ERR, "%s:%d: inode #%llu: nlink=%d\n",
> __func__, __LINE__, inode->i_ino, inode->i_nlink);
> return;
> }
> @@ -1275,7 +1275,7 @@ struct inode *__ext4_new_inode(struct mnt_idmap *idmap,
> * twice.
> */
> err = -EIO;
> - ext4_error(sb, "failed to insert inode %" PRIino "u: doubly allocated?",
> + ext4_error(sb, "failed to insert inode %llu: doubly allocated?",
> inode->i_ino);
> ext4_mark_group_bitmap_corrupted(sb, group,
> EXT4_GROUP_INFO_IBITMAP_CORRUPT);
> @@ -1344,7 +1344,7 @@ struct inode *__ext4_new_inode(struct mnt_idmap *idmap,
> goto fail_free_drop;
> }
>
> - ext4_debug("allocating inode %" PRIino "u\n", inode->i_ino);
> + ext4_debug("allocating inode %llu\n", inode->i_ino);
> trace_ext4_allocate_inode(inode, dir, mode);
> brelse(inode_bitmap_bh);
> return ret;
> diff --git a/fs/ext4/indirect.c b/fs/ext4/indirect.c
> index ba53698cef951676f409203fbf76439510a39dbc..5aec759eed7055dbe954c25da0181ebd04bb0be3 100644
> --- a/fs/ext4/indirect.c
> +++ b/fs/ext4/indirect.c
> @@ -102,7 +102,7 @@ static int ext4_block_to_path(struct inode *inode,
> offsets[n++] = i_block & (ptrs - 1);
> final = ptrs;
> } else {
> - ext4_warning(inode->i_sb, "block %lu > max in inode %" PRIino "u",
> + ext4_warning(inode->i_sb, "block %lu > max in inode %llu",
> i_block + direct_blocks +
> indirect_blocks + double_blocks, inode->i_ino);
> }
> diff --git a/fs/ext4/inline.c b/fs/ext4/inline.c
> index fbdad8395f92ef5683a7bd65d683650a0ec04bc3..f846fcb7db2442149776fa2ba45ddc5e0b71245e 100644
> --- a/fs/ext4/inline.c
> +++ b/fs/ext4/inline.c
> @@ -119,7 +119,7 @@ int ext4_get_max_inline_size(struct inode *inode)
> error = ext4_get_inode_loc(inode, &iloc);
> if (error) {
> ext4_error_inode_err(inode, __func__, __LINE__, 0, -error,
> - "can't get inode location %" PRIino "u",
> + "can't get inode location %llu",
> inode->i_ino);
> return 0;
> }
> @@ -512,7 +512,7 @@ static int ext4_read_inline_folio(struct inode *inode, struct folio *folio)
> BUG_ON(folio->index);
>
> if (!EXT4_I(inode)->i_inline_off) {
> - ext4_warning(inode->i_sb, "inode %" PRIino "u doesn't have inline data.",
> + ext4_warning(inode->i_sb, "inode %llu doesn't have inline data.",
> inode->i_ino);
> goto out;
> }
> @@ -934,7 +934,7 @@ void ext4_show_inline_dir(struct inode *dir, struct buffer_head *bh,
> struct ext4_dir_entry_2 *de = inline_start;
> void *dlimit = inline_start + inline_size;
>
> - trace_printk("inode %" PRIino "u\n", dir->i_ino);
> + trace_printk("inode %llu\n", dir->i_ino);
> offset = 0;
> while ((void *)de < dlimit) {
> de_len = ext4_rec_len_from_disk(de->rec_len, inline_size);
> @@ -1071,7 +1071,7 @@ static void ext4_restore_inline_data(handle_t *handle, struct inode *inode,
> ret = ext4_create_inline_data(handle, inode, inline_size);
> if (ret) {
> ext4_msg(inode->i_sb, KERN_EMERG,
> - "error restoring inline_data for inode -- potential data loss! (inode %" PRIino "u, error %d)",
> + "error restoring inline_data for inode -- potential data loss! (inode %llu, error %d)",
> inode->i_ino, ret);
> return;
> }
> @@ -1740,7 +1740,7 @@ bool empty_inline_dir(struct inode *dir, int *has_inline_data)
> err = ext4_get_inode_loc(dir, &iloc);
> if (err) {
> EXT4_ERROR_INODE_ERR(dir, -err,
> - "error %d getting inode %" PRIino "u block",
> + "error %d getting inode %llu block",
> err, dir->i_ino);
> return false;
> }
> @@ -1755,7 +1755,7 @@ bool empty_inline_dir(struct inode *dir, int *has_inline_data)
> de = (struct ext4_dir_entry_2 *)ext4_raw_inode(&iloc)->i_block;
> if (!le32_to_cpu(de->inode)) {
> ext4_warning(dir->i_sb,
> - "bad inline directory (dir #%" PRIino "u) - no `..'",
> + "bad inline directory (dir #%llu) - no `..'",
> dir->i_ino);
> goto out;
> }
> @@ -1769,7 +1769,7 @@ bool empty_inline_dir(struct inode *dir, int *has_inline_data)
> iloc.bh, inline_pos,
> inline_size, offset)) {
> ext4_warning(dir->i_sb,
> - "bad inline directory (dir #%" PRIino "u) - "
> + "bad inline directory (dir #%llu) - "
> "inode %u, rec_len %u, name_len %d"
> "inline size %d",
> dir->i_ino, le32_to_cpu(de->inode),
> diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c
> index 1d694672c851dd255f905de3d6260b24295ce30f..d50f31124a784ba6eeb916f9a2f62ec840aee52e 100644
> --- a/fs/ext4/inode.c
> +++ b/fs/ext4/inode.c
> @@ -262,7 +262,7 @@ void ext4_evict_inode(struct inode *inode)
> err = ext4_truncate(inode);
> if (err) {
> ext4_error_err(inode->i_sb, -err,
> - "couldn't truncate inode %" PRIino "u (err %d)",
> + "couldn't truncate inode %llu (err %d)",
> inode->i_ino, err);
> goto stop_handle;
> }
> @@ -342,7 +342,7 @@ void ext4_da_update_reserve_space(struct inode *inode,
> spin_lock(&ei->i_block_reservation_lock);
> trace_ext4_da_update_reserve_space(inode, used, quota_claim);
> if (unlikely(used > ei->i_reserved_data_blocks)) {
> - ext4_warning(inode->i_sb, "%s: ino %" PRIino "u, used %d "
> + ext4_warning(inode->i_sb, "%s: ino %llu, used %d "
> "with only %d reserved data blocks",
> __func__, inode->i_ino, used,
> ei->i_reserved_data_blocks);
> @@ -475,7 +475,7 @@ static void ext4_map_blocks_es_recheck(handle_t *handle,
> if (es_map->m_lblk != map->m_lblk ||
> es_map->m_flags != map->m_flags ||
> es_map->m_pblk != map->m_pblk) {
> - printk("ES cache assertion failed for inode: %" PRIino "u "
> + printk("ES cache assertion failed for inode: %llu "
> "es_cached ex [%d/%d/%llu/%x] != "
> "found ex [%d/%d/%llu/%x] retval %d flags %x\n",
> inode->i_ino, es_map->m_lblk, es_map->m_len,
> @@ -515,7 +515,7 @@ static int ext4_map_query_blocks_next_in_leaf(handle_t *handle,
> if (unlikely(retval != map2.m_len)) {
> ext4_warning(inode->i_sb,
> "ES len assertion failed for inode "
> - "%" PRIino "u: retval %d != map->m_len %d",
> + "%llu: retval %d != map->m_len %d",
> inode->i_ino, retval, map2.m_len);
> WARN_ON(1);
> }
> @@ -563,7 +563,7 @@ int ext4_map_query_blocks(handle_t *handle, struct inode *inode,
> if (unlikely(retval != map->m_len)) {
> ext4_warning(inode->i_sb,
> "ES len assertion failed for inode "
> - "%" PRIino "u: retval %d != map->m_len %d",
> + "%llu: retval %d != map->m_len %d",
> inode->i_ino, retval, map->m_len);
> WARN_ON(1);
> }
> @@ -630,7 +630,7 @@ int ext4_map_create_blocks(handle_t *handle, struct inode *inode,
>
> if (unlikely(retval != map->m_len)) {
> ext4_warning(inode->i_sb,
> - "ES len assertion failed for inode %" PRIino "u: "
> + "ES len assertion failed for inode %llu: "
> "retval %d != map->m_len %d",
> inode->i_ino, retval, map->m_len);
> WARN_ON(1);
> @@ -937,7 +937,7 @@ int ext4_get_block_unwritten(struct inode *inode, sector_t iblock,
> {
> int ret = 0;
>
> - ext4_debug("ext4_get_block_unwritten: inode %" PRIino "u, create flag %d\n",
> + ext4_debug("ext4_get_block_unwritten: inode %llu, create flag %d\n",
> inode->i_ino, create);
> ret = _ext4_get_block(inode, iblock, bh_result,
> EXT4_GET_BLOCKS_CREATE_UNWRIT_EXT);
> @@ -1659,7 +1659,7 @@ void ext4_da_release_space(struct inode *inode, int to_free)
> * harmless to return without any action.
> */
> ext4_warning(inode->i_sb, "ext4_da_release_space: "
> - "ino %" PRIino "u, to_free %d with only %d reserved "
> + "ino %llu, to_free %d with only %d reserved "
> "data blocks", inode->i_ino, to_free,
> ei->i_reserved_data_blocks);
> WARN_ON(1);
> @@ -2491,7 +2491,7 @@ static int mpage_map_and_submit_extent(handle_t *handle,
> }
> ext4_msg(sb, KERN_CRIT,
> "Delayed block allocation failed for "
> - "inode %" PRIino "u at logical offset %llu with"
> + "inode %llu at logical offset %llu with"
> " max blocks %u with error %d",
> inode->i_ino,
> (unsigned long long)map->m_lblk,
> @@ -2535,7 +2535,7 @@ static int mpage_map_and_submit_extent(handle_t *handle,
> err2 = ext4_mark_inode_dirty(handle, inode);
> if (err2) {
> ext4_error_err(inode->i_sb, -err2,
> - "Failed to mark inode %" PRIino "u dirty",
> + "Failed to mark inode %llu dirty",
> inode->i_ino);
> }
> if (!err)
> @@ -2909,7 +2909,7 @@ static int ext4_do_writepages(struct mpage_da_data *mpd)
> if (IS_ERR(handle)) {
> ret = PTR_ERR(handle);
> ext4_msg(inode->i_sb, KERN_CRIT, "%s: jbd2_start: "
> - "%ld pages, ino %" PRIino "u; err %d", __func__,
> + "%ld pages, ino %llu; err %d", __func__,
> wbc->nr_to_write, inode->i_ino, ret);
> /* Release allocated io_end */
> ext4_put_io_end(mpd->io_submit.io_end);
> diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c
> index dcd71f84d9a80f464349e75e4dbbf62757dfeb03..1d0c3d4bdf472715a7070b184fdc7d9bf5885950 100644
> --- a/fs/ext4/ioctl.c
> +++ b/fs/ext4/ioctl.c
> @@ -477,7 +477,7 @@ static long swap_inode_boot_loader(struct super_block *sb,
> if (err < 0) {
> /* No need to update quota information. */
> ext4_warning(inode->i_sb,
> - "couldn't mark inode #%" PRIino "u dirty (err %d)",
> + "couldn't mark inode #%llu dirty (err %d)",
> inode->i_ino, err);
> /* Revert all changes: */
> swap_inode_data(inode, inode_bl);
> @@ -493,7 +493,7 @@ static long swap_inode_boot_loader(struct super_block *sb,
> if (err < 0) {
> /* No need to update quota information. */
> ext4_warning(inode_bl->i_sb,
> - "couldn't mark inode #%" PRIino "u dirty (err %d)",
> + "couldn't mark inode #%llu dirty (err %d)",
> inode_bl->i_ino, err);
> goto revert;
> }
> diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c
> index f597135a669a53c05a5fd8f48c02a43ef4f1cdb0..9e8041ac56239e64326343b0adef062611189d6a 100644
> --- a/fs/ext4/mballoc.c
> +++ b/fs/ext4/mballoc.c
> @@ -5628,7 +5628,7 @@ void ext4_discard_preallocations(struct inode *inode)
> if (EXT4_SB(sb)->s_mount_state & EXT4_FC_REPLAY)
> return;
>
> - mb_debug(sb, "discard preallocation for inode %" PRIino "u\n",
> + mb_debug(sb, "discard preallocation for inode %llu\n",
> inode->i_ino);
> trace_ext4_discard_preallocations(inode,
> atomic_read(&ei->i_prealloc_active));
> diff --git a/fs/ext4/move_extent.c b/fs/ext4/move_extent.c
> index 89df4e0591055ec3c365bd51995a523e5b4d83d1..ab17c1d3a7b51198c2332e8a1dd44f7a1bff40cf 100644
> --- a/fs/ext4/move_extent.c
> +++ b/fs/ext4/move_extent.c
> @@ -420,21 +420,21 @@ static int mext_check_validity(struct inode *orig_inode,
>
> /* origin and donor should be different inodes */
> if (orig_inode == donor_inode) {
> - ext4_debug("ext4 move extent: The argument files should not be same inode [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: The argument files should not be same inode [ino:orig %llu, donor %llu]\n",
> orig_inode->i_ino, donor_inode->i_ino);
> return -EINVAL;
> }
>
> /* origin and donor should belone to the same filesystem */
> if (orig_inode->i_sb != donor_inode->i_sb) {
> - ext4_debug("ext4 move extent: The argument files should be in same FS [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: The argument files should be in same FS [ino:orig %llu, donor %llu]\n",
> orig_inode->i_ino, donor_inode->i_ino);
> return -EINVAL;
> }
>
> /* Regular file check */
> if (!S_ISREG(orig_inode->i_mode) || !S_ISREG(donor_inode->i_mode)) {
> - ext4_debug("ext4 move extent: The argument files should be regular file [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: The argument files should be regular file [ino:orig %llu, donor %llu]\n",
> orig_inode->i_ino, donor_inode->i_ino);
> return -EINVAL;
> }
> @@ -477,26 +477,26 @@ static int mext_check_validity(struct inode *orig_inode,
> }
>
> if (donor_inode->i_mode & (S_ISUID|S_ISGID)) {
> - ext4_debug("ext4 move extent: suid or sgid is set to donor file [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: suid or sgid is set to donor file [ino:orig %llu, donor %llu]\n",
> orig_inode->i_ino, donor_inode->i_ino);
> return -EINVAL;
> }
>
> if (IS_IMMUTABLE(donor_inode) || IS_APPEND(donor_inode)) {
> - ext4_debug("ext4 move extent: donor should not be immutable or append file [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: donor should not be immutable or append file [ino:orig %llu, donor %llu]\n",
> orig_inode->i_ino, donor_inode->i_ino);
> return -EPERM;
> }
>
> /* Ext4 move extent does not support swap files */
> if (IS_SWAPFILE(orig_inode) || IS_SWAPFILE(donor_inode)) {
> - ext4_debug("ext4 move extent: The argument files should not be swap files [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: The argument files should not be swap files [ino:orig %llu, donor %llu]\n",
> orig_inode->i_ino, donor_inode->i_ino);
> return -ETXTBSY;
> }
>
> if (ext4_is_quota_file(orig_inode) || ext4_is_quota_file(donor_inode)) {
> - ext4_debug("ext4 move extent: The argument files should not be quota files [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: The argument files should not be quota files [ino:orig %llu, donor %llu]\n",
> orig_inode->i_ino, donor_inode->i_ino);
> return -EOPNOTSUPP;
> }
> @@ -523,7 +523,7 @@ static int mext_check_adjust_range(struct inode *orig_inode,
> /* Start offset should be same */
> if ((orig_start & ~(PAGE_MASK >> orig_inode->i_blkbits)) !=
> (donor_start & ~(PAGE_MASK >> orig_inode->i_blkbits))) {
> - ext4_debug("ext4 move extent: orig and donor's start offsets are not aligned [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: orig and donor's start offsets are not aligned [ino:orig %llu, donor %llu]\n",
> orig_inode->i_ino, donor_inode->i_ino);
> return -EINVAL;
> }
> @@ -533,7 +533,7 @@ static int mext_check_adjust_range(struct inode *orig_inode,
> (*len > EXT_MAX_BLOCKS) ||
> (donor_start + *len >= EXT_MAX_BLOCKS) ||
> (orig_start + *len >= EXT_MAX_BLOCKS)) {
> - ext4_debug("ext4 move extent: Can't handle over [%u] blocks [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: Can't handle over [%u] blocks [ino:orig %llu, donor %llu]\n",
> EXT_MAX_BLOCKS,
> orig_inode->i_ino, donor_inode->i_ino);
> return -EINVAL;
> @@ -550,7 +550,7 @@ static int mext_check_adjust_range(struct inode *orig_inode,
> else if (donor_eof < donor_start + *len - 1)
> *len = donor_eof - donor_start;
> if (!*len) {
> - ext4_debug("ext4 move extent: len should not be 0 [ino:orig %" PRIino "u, donor %" PRIino "u]\n",
> + ext4_debug("ext4 move extent: len should not be 0 [ino:orig %llu, donor %llu]\n",
> orig_inode->i_ino, donor_inode->i_ino);
> return -EINVAL;
> }
> diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c
> index e659897787de1cc7e587af191908408162511db4..503dc9ffd61465686bb1a253bfeee41c0e9acd59 100644
> --- a/fs/ext4/namei.c
> +++ b/fs/ext4/namei.c
> @@ -144,7 +144,7 @@ static struct buffer_head *__ext4_read_dirblock(struct inode *inode,
> bh = ext4_bread(NULL, inode, block, 0);
> if (IS_ERR(bh)) {
> __ext4_warning(inode->i_sb, func, line,
> - "inode #%" PRIino "u: lblock %lu: comm %s: "
> + "inode #%llu: lblock %lu: comm %s: "
> "error %ld reading directory block",
> inode->i_ino, (unsigned long)block,
> current->comm, PTR_ERR(bh));
> @@ -841,7 +841,7 @@ dx_probe(struct ext4_filename *fname, struct inode *dir,
> indirect = root->info.indirect_levels;
> if (indirect >= ext4_dir_htree_level(dir->i_sb)) {
> ext4_warning(dir->i_sb,
> - "Directory (ino: %" PRIino "u) htree depth %#06x exceed"
> + "Directory (ino: %llu) htree depth %#06x exceed"
> "supported value", dir->i_ino,
> ext4_dir_htree_level(dir->i_sb));
> if (ext4_dir_htree_level(dir->i_sb) < EXT4_HTREE_LEVEL) {
> @@ -1793,7 +1793,7 @@ static struct dentry *ext4_lookup(struct inode *dir, struct dentry *dentry, unsi
> (S_ISDIR(inode->i_mode) || S_ISLNK(inode->i_mode)) &&
> !fscrypt_has_permitted_context(dir, inode)) {
> ext4_warning(inode->i_sb,
> - "Inconsistent encryption contexts: %" PRIino "u/%" PRIino "u",
> + "Inconsistent encryption contexts: %llu/%llu",
> dir->i_ino, inode->i_ino);
> iput(inode);
> return ERR_PTR(-EPERM);
> @@ -2227,7 +2227,7 @@ static int make_indexed_dir(handle_t *handle, struct ext4_filename *fname,
> csum_size = sizeof(struct ext4_dir_entry_tail);
>
> blocksize = dir->i_sb->s_blocksize;
> - dxtrace(printk(KERN_DEBUG "Creating index: inode %" PRIino "u\n", dir->i_ino));
> + dxtrace(printk(KERN_DEBUG "Creating index: inode %llu\n", dir->i_ino));
> BUFFER_TRACE(bh, "get_write_access");
> retval = ext4_journal_get_write_access(handle, dir->i_sb, bh,
> EXT4_JTR_NONE);
> @@ -2523,7 +2523,7 @@ static int ext4_dx_add_entry(handle_t *handle, struct ext4_filename *fname,
> restart = 1;
> }
> if (add_level && levels == ext4_dir_htree_level(sb)) {
> - ext4_warning(sb, "Directory (ino: %" PRIino "u) index full, "
> + ext4_warning(sb, "Directory (ino: %llu) index full, "
> "reach max htree level :%d",
> dir->i_ino, levels);
> if (ext4_dir_htree_level(sb) < EXT4_HTREE_LEVEL) {
> diff --git a/fs/ext4/orphan.c b/fs/ext4/orphan.c
> index 7082af298f1c648fba8a1aa1141b3c76f4c15e22..64ea4762423386db79e739a2448bf70c12415ef8 100644
> --- a/fs/ext4/orphan.c
> +++ b/fs/ext4/orphan.c
> @@ -179,8 +179,8 @@ int ext4_orphan_add(handle_t *handle, struct inode *inode)
> } else
> brelse(iloc.bh);
>
> - ext4_debug("superblock will point to %" PRIino "u\n", inode->i_ino);
> - ext4_debug("orphan inode %" PRIino "u will point to %d\n",
> + ext4_debug("superblock will point to %llu\n", inode->i_ino);
> + ext4_debug("orphan inode %llu will point to %d\n",
> inode->i_ino, NEXT_ORPHAN(inode));
> out:
> ext4_std_error(sb, err);
> @@ -249,7 +249,7 @@ int ext4_orphan_del(handle_t *handle, struct inode *inode)
> }
>
> mutex_lock(&sbi->s_orphan_lock);
> - ext4_debug("remove inode %" PRIino "u from orphan list\n", inode->i_ino);
> + ext4_debug("remove inode %llu from orphan list\n", inode->i_ino);
>
> prev = ei->i_orphan.prev;
> list_del_init(&ei->i_orphan);
> @@ -284,7 +284,7 @@ int ext4_orphan_del(handle_t *handle, struct inode *inode)
> struct inode *i_prev =
> &list_entry(prev, struct ext4_inode_info, i_orphan)->vfs_inode;
>
> - ext4_debug("orphan inode %" PRIino "u will point to %u\n",
> + ext4_debug("orphan inode %llu will point to %u\n",
> i_prev->i_ino, ino_next);
> err = ext4_reserve_inode_write(handle, i_prev, &iloc2);
> if (err) {
> @@ -328,9 +328,9 @@ static void ext4_process_orphan(struct inode *inode,
> if (inode->i_nlink) {
> if (test_opt(sb, DEBUG))
> ext4_msg(sb, KERN_DEBUG,
> - "%s: truncating inode %" PRIino "u to %lld bytes",
> + "%s: truncating inode %llu to %lld bytes",
> __func__, inode->i_ino, inode->i_size);
> - ext4_debug("truncating inode %" PRIino "u to %lld bytes\n",
> + ext4_debug("truncating inode %llu to %lld bytes\n",
> inode->i_ino, inode->i_size);
> inode_lock(inode);
> truncate_inode_pages(inode->i_mapping, inode->i_size);
> @@ -349,9 +349,9 @@ static void ext4_process_orphan(struct inode *inode,
> } else {
> if (test_opt(sb, DEBUG))
> ext4_msg(sb, KERN_DEBUG,
> - "%s: deleting unreferenced inode %" PRIino "u",
> + "%s: deleting unreferenced inode %llu",
> __func__, inode->i_ino);
> - ext4_debug("deleting unreferenced inode %" PRIino "u\n",
> + ext4_debug("deleting unreferenced inode %llu\n",
> inode->i_ino);
> (*nr_orphans)++;
> }
> diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c
> index 09046cfb58dd52a2fe682560fa09e39e902dd0a2..86011275ad83668d591488fad90959ec04625c55 100644
> --- a/fs/ext4/page-io.c
> +++ b/fs/ext4/page-io.c
> @@ -180,7 +180,7 @@ static int ext4_end_io_end(ext4_io_end_t *io_end)
> struct super_block *sb = inode->i_sb;
> int ret = 0;
>
> - ext4_debug("ext4_end_io_nolock: io_end 0x%p from inode %" PRIino "u,list->next 0x%p,"
> + ext4_debug("ext4_end_io_nolock: io_end 0x%p from inode %llu,list->next 0x%p,"
> "list->prev 0x%p\n",
> io_end, inode->i_ino, io_end->list.next, io_end->list.prev);
>
> @@ -204,7 +204,7 @@ static int ext4_end_io_end(ext4_io_end_t *io_end)
> ext4_msg(sb, KERN_EMERG,
> "failed to convert unwritten extents to written "
> "extents -- potential data loss! "
> - "(inode %" PRIino "u, error %d)", inode->i_ino, ret);
> + "(inode %llu, error %d)", inode->i_ino, ret);
> }
>
> ext4_clear_io_unwritten_flag(io_end);
> @@ -221,7 +221,7 @@ static void dump_completed_IO(struct inode *inode, struct list_head *head)
> if (list_empty(head))
> return;
>
> - ext4_debug("Dump inode %" PRIino "u completed io list\n", inode->i_ino);
> + ext4_debug("Dump inode %llu completed io list\n", inode->i_ino);
> list_for_each_entry(io_end, head, list) {
> cur = &io_end->list;
> before = cur->prev;
> @@ -229,7 +229,7 @@ static void dump_completed_IO(struct inode *inode, struct list_head *head)
> after = cur->next;
> io_end1 = container_of(after, ext4_io_end_t, list);
>
> - ext4_debug("io 0x%p from inode %" PRIino "u,prev 0x%p,next 0x%p\n",
> + ext4_debug("io 0x%p from inode %llu,prev 0x%p,next 0x%p\n",
> io_end, inode->i_ino, io_end0, io_end1);
> }
> #endif
> @@ -366,7 +366,7 @@ static void ext4_end_bio(struct bio *bio)
> if (bio->bi_status) {
> struct inode *inode = io_end->inode;
>
> - ext4_warning(inode->i_sb, "I/O error %d writing to inode %" PRIino "u "
> + ext4_warning(inode->i_sb, "I/O error %d writing to inode %llu "
> "starting block %llu)",
> bio->bi_status, inode->i_ino,
> (unsigned long long)
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 17463e9cc893cf3158a5a75d64d453956373f149..781c083000c2ea2232846b0827c7d4799d87bd5d 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -848,12 +848,12 @@ void __ext4_error_inode(struct inode *inode, const char *function,
> vaf.va = &args;
> if (block)
> printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: "
> - "inode #%" PRIino "u: block %llu: comm %s: %pV\n",
> + "inode #%llu: block %llu: comm %s: %pV\n",
> inode->i_sb->s_id, function, line, inode->i_ino,
> block, current->comm, &vaf);
> else
> printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: "
> - "inode #%" PRIino "u: comm %s: %pV\n",
> + "inode #%llu: comm %s: %pV\n",
> inode->i_sb->s_id, function, line, inode->i_ino,
> current->comm, &vaf);
> va_end(args);
> @@ -888,13 +888,13 @@ void __ext4_error_file(struct file *file, const char *function,
> vaf.va = &args;
> if (block)
> printk(KERN_CRIT
> - "EXT4-fs error (device %s): %s:%d: inode #%" PRIino "u: "
> + "EXT4-fs error (device %s): %s:%d: inode #%llu: "
> "block %llu: comm %s: path %s: %pV\n",
> inode->i_sb->s_id, function, line, inode->i_ino,
> block, current->comm, path, &vaf);
> else
> printk(KERN_CRIT
> - "EXT4-fs error (device %s): %s:%d: inode #%" PRIino "u: "
> + "EXT4-fs error (device %s): %s:%d: inode #%llu: "
> "comm %s: path %s: %pV\n",
> inode->i_sb->s_id, function, line, inode->i_ino,
> current->comm, path, &vaf);
> @@ -1035,14 +1035,14 @@ void __ext4_warning_inode(const struct inode *inode, const char *function,
> vaf.fmt = fmt;
> vaf.va = &args;
> printk(KERN_WARNING "EXT4-fs warning (device %s): %s:%d: "
> - "inode #%" PRIino "u: comm %s: %pV\n", inode->i_sb->s_id,
> + "inode #%llu: comm %s: %pV\n", inode->i_sb->s_id,
> function, line, inode->i_ino, current->comm, &vaf);
> va_end(args);
> }
>
> void __ext4_grp_locked_error(const char *function, unsigned int line,
> struct super_block *sb, ext4_group_t grp,
> - kino_t ino, ext4_fsblk_t block,
> + u64 ino, ext4_fsblk_t block,
> const char *fmt, ...)
> __releases(bitlock)
> __acquires(bitlock)
> @@ -1061,7 +1061,7 @@ __acquires(bitlock)
> printk(KERN_CRIT "EXT4-fs error (device %s): %s:%d: group %u, ",
> sb->s_id, function, line, grp);
> if (ino)
> - printk(KERN_CONT "inode %" PRIino "u: ", ino);
> + printk(KERN_CONT "inode %llu: ", ino);
> if (block)
> printk(KERN_CONT "block %llu:",
> (unsigned long long) block);
> @@ -1170,7 +1170,7 @@ static void dump_orphan_list(struct super_block *sb, struct ext4_sb_info *sbi)
> list_for_each(l, &sbi->s_orphan) {
> struct inode *inode = orphan_list_entry(l);
> printk(KERN_ERR " "
> - "inode %s:%" PRIino "u at %p: mode %o, nlink %d, next %d\n",
> + "inode %s:%llu at %p: mode %o, nlink %d, next %d\n",
> inode->i_sb->s_id, inode->i_ino, inode,
> inode->i_mode, inode->i_nlink,
> NEXT_ORPHAN(inode));
> @@ -1446,7 +1446,7 @@ static void ext4_free_in_core_inode(struct inode *inode)
> {
> fscrypt_free_inode(inode);
> if (!list_empty(&(EXT4_I(inode)->i_fc_list))) {
> - pr_warn("%s: inode %" PRIino "u still in fc list",
> + pr_warn("%s: inode %llu still in fc list",
> __func__, inode->i_ino);
> }
> kmem_cache_free(ext4_inode_cachep, EXT4_I(inode));
> @@ -1456,7 +1456,7 @@ static void ext4_destroy_inode(struct inode *inode)
> {
> if (ext4_inode_orphan_tracked(inode)) {
> ext4_msg(inode->i_sb, KERN_ERR,
> - "Inode %" PRIino "u (%p): inode tracked as orphan!",
> + "Inode %llu (%p): inode tracked as orphan!",
> inode->i_ino, EXT4_I(inode));
> print_hex_dump(KERN_INFO, "", DUMP_PREFIX_ADDRESS, 16, 4,
> EXT4_I(inode), sizeof(struct ext4_inode_info),
> @@ -1467,7 +1467,7 @@ static void ext4_destroy_inode(struct inode *inode)
> if (!(EXT4_SB(inode->i_sb)->s_mount_state & EXT4_ERROR_FS) &&
> WARN_ON_ONCE(EXT4_I(inode)->i_reserved_data_blocks))
> ext4_msg(inode->i_sb, KERN_ERR,
> - "Inode %" PRIino "u (%p): i_reserved_data_blocks (%u) not cleared!",
> + "Inode %llu (%p): i_reserved_data_blocks (%u) not cleared!",
> inode->i_ino, EXT4_I(inode),
> EXT4_I(inode)->i_reserved_data_blocks);
> }
> diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c
> index 13d8f5c80b3128e3cf1044e57fd667f47f90ad6d..60aec4712f7fc52a8cc8ce31e4d5bd740a193903 100644
> --- a/fs/ext4/xattr.c
> +++ b/fs/ext4/xattr.c
> @@ -64,7 +64,7 @@
>
> #ifdef EXT4_XATTR_DEBUG
> # define ea_idebug(inode, fmt, ...) \
> - printk(KERN_DEBUG "inode %s:%" PRIino "u: " fmt "\n", \
> + printk(KERN_DEBUG "inode %s:%llu: " fmt "\n", \
> inode->i_sb->s_id, inode->i_ino, ##__VA_ARGS__)
> # define ea_bdebug(bh, fmt, ...) \
> printk(KERN_DEBUG "block %pg:%lu: " fmt "\n", \
> @@ -1035,7 +1035,7 @@ static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode,
> ref_count = ext4_xattr_inode_get_ref(ea_inode);
> if ((ref_count == 0 && ref_change < 0) || (ref_count == U64_MAX && ref_change > 0)) {
> ext4_error_inode(ea_inode, __func__, __LINE__, 0,
> - "EA inode %" PRIino "u ref wraparound: ref_count=%lld ref_change=%d",
> + "EA inode %llu ref wraparound: ref_count=%lld ref_change=%d",
> ea_inode->i_ino, ref_count, ref_change);
> brelse(iloc.bh);
> ret = -EFSCORRUPTED;
> @@ -1046,7 +1046,7 @@ static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode,
>
> if (ref_change > 0) {
> if (ref_count == 1) {
> - WARN_ONCE(ea_inode->i_nlink, "EA inode %" PRIino "u i_nlink=%u",
> + WARN_ONCE(ea_inode->i_nlink, "EA inode %llu i_nlink=%u",
> ea_inode->i_ino, ea_inode->i_nlink);
>
> set_nlink(ea_inode, 1);
> @@ -1055,7 +1055,7 @@ static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode,
> } else {
> if (ref_count == 0) {
> WARN_ONCE(ea_inode->i_nlink != 1,
> - "EA inode %" PRIino "u i_nlink=%u",
> + "EA inode %llu i_nlink=%u",
> ea_inode->i_ino, ea_inode->i_nlink);
>
> clear_nlink(ea_inode);
> @@ -2854,7 +2854,7 @@ int ext4_expand_extra_isize_ea(struct inode *inode, int new_extra_isize,
>
> cleanup:
> if (error && (mnt_count != le16_to_cpu(sbi->s_es->s_mnt_count))) {
> - ext4_warning(inode->i_sb, "Unable to expand inode %" PRIino "u. Delete some EAs or run e2fsck.",
> + ext4_warning(inode->i_sb, "Unable to expand inode %llu. Delete some EAs or run e2fsck.",
> inode->i_ino);
> mnt_count = le16_to_cpu(sbi->s_es->s_mnt_count);
> }
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 060/110] vfs: change kino_t from unsigned long to u64
From: Jan Kara @ 2026-03-03 11:29 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-60-e5388800dae0@kernel.org>
On Mon 02-03-26 15:24:44, Jeff Layton wrote:
> Change kino_t from unsigned long to u64, and update PRIino from "l"
> to "ll" accordingly. This is the actual type widening of i_ino.
>
> All format strings have already been converted to use PRIino, so this
> change compiles warning-free on both 32-bit and 64-bit architectures.
>
> On 64-bit architectures, unsigned long is already 64 bits, so this is
> effectively a type alias change with no runtime impact. On 32-bit
> architectures, this widens i_ino from 32 to 64 bits, allowing
> filesystems like NFS, CIFS, XFS, Ceph, and FUSE to store their native
> 64-bit inode numbers without folding/hashing.
>
> The VFS already handles 64-bit inode numbers in kstat.ino (u64) and
> statx.stx_ino (__u64). The existing overflow checks in cp_new_stat(),
> cp_old_stat(), and cp_compat_stat() handle narrowing to 32-bit st_ino
> with -EOVERFLOW, so userspace ABI is preserved.
>
> struct inode will grow by 4 bytes on 32-bit architectures.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> include/linux/fs.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index d0c4789838b5852111583a3e4cced88999496e68..4193817e02e8bf94f29514ca43379af21f37ac61 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -758,8 +758,8 @@ struct inode_state_flags {
> enum inode_state_flags_enum __state;
> };
>
> -typedef unsigned long kino_t;
> -#define PRIino "l"
> +typedef u64 kino_t;
> +#define PRIino "ll"
>
> /*
> * Keep mostly read-only and often accessed (especially for
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 059/110] vfs: use PRIino format for i_ino
From: Jan Kara @ 2026-03-03 11:28 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-59-e5388800dae0@kernel.org>
On Mon 02-03-26 15:24:43, Jeff Layton wrote:
> Convert i_ino format strings in pipe, dcache, fserror, and eventpoll to
> use the PRIino format macro and update the 0UL literal in dcache to
> (kino_t)0.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/dcache.c | 4 ++--
> fs/eventpoll.c | 2 +-
> fs/fserror.c | 2 +-
> fs/pipe.c | 2 +-
> 4 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/fs/dcache.c b/fs/dcache.c
> index 24f4f3acaa8cffd6f98124eec38c1a92d6c9fd8e..13fb3e89cba7442c9bed74c41ca18be5e43e28c9 100644
> --- a/fs/dcache.c
> +++ b/fs/dcache.c
> @@ -1637,11 +1637,11 @@ static enum d_walk_ret umount_check(void *_data, struct dentry *dentry)
> if (dentry == _data && dentry->d_lockref.count == 1)
> return D_WALK_CONTINUE;
>
> - WARN(1, "BUG: Dentry %p{i=%lx,n=%pd} "
> + WARN(1, "BUG: Dentry %p{i=%" PRIino "x,n=%pd} "
> " still in use (%d) [unmount of %s %s]\n",
> dentry,
> dentry->d_inode ?
> - dentry->d_inode->i_ino : 0UL,
> + dentry->d_inode->i_ino : (kino_t)0,
> dentry,
> dentry->d_lockref.count,
> dentry->d_sb->s_type->name,
> diff --git a/fs/eventpoll.c b/fs/eventpoll.c
> index 5714e900567c499739bb205f43bb6bf73f7ebe54..90fd92425492221d13bd0cf067d47579bb407a01 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 = file_inode(epi->ffd.file);
>
> seq_printf(m, "tfd: %8d events: %8x data: %16llx "
> - " pos:%lli ino:%lx sdev:%x\n",
> + " pos:%lli ino:%" PRIino "x 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 06ca86adab9b769dfb72ec58b9e51627abee5152..b685b329b5956a639c41b25c42cfff16e6e5ab6e 100644
> --- a/fs/fserror.c
> +++ b/fs/fserror.c
> @@ -176,7 +176,7 @@ void fserror_report(struct super_block *sb, struct inode *inode,
> lost:
> if (inode)
> pr_err_ratelimited(
> - "%s: lost file I/O error report for ino %lu type %u pos 0x%llx len 0x%llx error %d",
> + "%s: lost file I/O error report for ino %" PRIino "u type %u pos 0x%llx len 0x%llx error %d",
> sb->s_id, inode->i_ino, type, pos, len, error);
> else
> pr_err_ratelimited(
> diff --git a/fs/pipe.c b/fs/pipe.c
> index b44a756c0b4165edc2801b2290bf35480245d7a6..311928e8713989747605fd79f653e36d27ce8c0e 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:[%lu]",
> + return dynamic_dname(buffer, buflen, "pipe:[%" PRIino "u]",
> d_inode(dentry)->i_ino);
> }
>
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 051/110] fsnotify: use PRIino format for i_ino
From: Jan Kara @ 2026-03-03 11:27 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-51-e5388800dae0@kernel.org>
On Mon 02-03-26 15:24:35, Jeff Layton wrote:
> Convert fsnotify i_ino format strings to use the PRIino format
> macro in preparation for the widening of i_ino via kino_t.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/notify/fdinfo.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/notify/fdinfo.c b/fs/notify/fdinfo.c
> index 9cc7eb863643774b83da8b6228c38db16d0dbed1..586eaa7f65a4a61b892fb9c39e6a0d81e025b790 100644
> --- a/fs/notify/fdinfo.c
> +++ b/fs/notify/fdinfo.c
> @@ -84,7 +84,7 @@ static void inotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark)
> inode_mark = container_of(mark, struct inotify_inode_mark, fsn_mark);
> inode = igrab(fsnotify_conn_inode(mark->connector));
> if (inode) {
> - seq_printf(m, "inotify wd:%x ino:%lx sdev:%x mask:%x ignored_mask:0 ",
> + seq_printf(m, "inotify wd:%x ino:%" PRIino "x sdev:%x mask:%x ignored_mask:0 ",
> inode_mark->wd, inode->i_ino, inode->i_sb->s_dev,
> inotify_mark_user_mask(mark));
> show_mark_fhandle(m, inode);
> @@ -111,7 +111,7 @@ static void fanotify_fdinfo(struct seq_file *m, struct fsnotify_mark *mark)
> inode = igrab(fsnotify_conn_inode(mark->connector));
> if (!inode)
> return;
> - seq_printf(m, "fanotify ino:%lx sdev:%x mflags:%x mask:%x ignored_mask:%x ",
> + seq_printf(m, "fanotify ino:%" PRIino "x sdev:%x mflags:%x mask:%x ignored_mask:%x ",
> inode->i_ino, inode->i_sb->s_dev,
> mflags, mark->mask, mark->ignore_mask);
> show_mark_fhandle(m, inode);
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 046/110] udf: use PRIino format for i_ino
From: Jan Kara @ 2026-03-03 11:27 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-46-e5388800dae0@kernel.org>
On Mon 02-03-26 15:24:30, Jeff Layton wrote:
> Convert udf i_ino format strings to use the PRIino format
> macro in preparation for the widening of i_ino via kino_t.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/udf/directory.c | 18 +++++++++---------
> fs/udf/file.c | 2 +-
> fs/udf/inode.c | 12 ++++++------
> fs/udf/namei.c | 8 ++++----
> fs/udf/super.c | 2 +-
> 5 files changed, 21 insertions(+), 21 deletions(-)
>
> diff --git a/fs/udf/directory.c b/fs/udf/directory.c
> index 632453aa38934a0b58b420717ec0674c85627ce5..c825e11c017f652500a3dfc83905679ef86ec570 100644
> --- a/fs/udf/directory.c
> +++ b/fs/udf/directory.c
> @@ -22,7 +22,7 @@ static int udf_verify_fi(struct udf_fileident_iter *iter)
>
> if (iter->fi.descTag.tagIdent != cpu_to_le16(TAG_IDENT_FID)) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %lu) has entry at pos %llu with incorrect tag %x\n",
> + "directory (ino %" PRIino "u) has entry at pos %llu with incorrect tag %x\n",
> iter->dir->i_ino, (unsigned long long)iter->pos,
> le16_to_cpu(iter->fi.descTag.tagIdent));
> return -EFSCORRUPTED;
> @@ -30,7 +30,7 @@ static int udf_verify_fi(struct udf_fileident_iter *iter)
> len = udf_dir_entry_len(&iter->fi);
> if (le16_to_cpu(iter->fi.lengthOfImpUse) & 3) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %lu) has entry at pos %llu with unaligned length of impUse field\n",
> + "directory (ino %" PRIino "u) has entry at pos %llu with unaligned length of impUse field\n",
> iter->dir->i_ino, (unsigned long long)iter->pos);
> return -EFSCORRUPTED;
> }
> @@ -41,20 +41,20 @@ static int udf_verify_fi(struct udf_fileident_iter *iter)
> */
> if (len > 1 << iter->dir->i_blkbits) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %lu) has too big (%u) entry at pos %llu\n",
> + "directory (ino %" PRIino "u) has too big (%u) entry at pos %llu\n",
> iter->dir->i_ino, len, (unsigned long long)iter->pos);
> return -EFSCORRUPTED;
> }
> if (iter->pos + len > iter->dir->i_size) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %lu) has entry past directory size at pos %llu\n",
> + "directory (ino %" PRIino "u) has entry past directory size at pos %llu\n",
> iter->dir->i_ino, (unsigned long long)iter->pos);
> return -EFSCORRUPTED;
> }
> if (udf_dir_entry_len(&iter->fi) !=
> sizeof(struct tag) + le16_to_cpu(iter->fi.descTag.descCRCLength)) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %lu) has entry where CRC length (%u) does not match entry length (%u)\n",
> + "directory (ino %" PRIino "u) has entry where CRC length (%u) does not match entry length (%u)\n",
> iter->dir->i_ino,
> (unsigned)le16_to_cpu(iter->fi.descTag.descCRCLength),
> (unsigned)(udf_dir_entry_len(&iter->fi) -
> @@ -78,7 +78,7 @@ static int udf_copy_fi(struct udf_fileident_iter *iter)
> }
> if (iter->dir->i_size < iter->pos + sizeof(struct fileIdentDesc)) {
> udf_err(iter->dir->i_sb,
> - "directory (ino %lu) has entry straddling EOF\n",
> + "directory (ino %" PRIino "u) has entry straddling EOF\n",
> iter->dir->i_ino);
> return -EFSCORRUPTED;
> }
> @@ -184,7 +184,7 @@ static int udf_fiiter_advance_blk(struct udf_fileident_iter *iter)
> return 0;
> }
> udf_err(iter->dir->i_sb,
> - "extent after position %llu not allocated in directory (ino %lu)\n",
> + "extent after position %llu not allocated in directory (ino %" PRIino "u)\n",
> (unsigned long long)iter->pos, iter->dir->i_ino);
> return -EFSCORRUPTED;
> }
> @@ -272,7 +272,7 @@ int udf_fiiter_init(struct udf_fileident_iter *iter, struct inode *dir,
> if (pos == dir->i_size)
> return 0;
> udf_err(dir->i_sb,
> - "position %llu not allocated in directory (ino %lu)\n",
> + "position %llu not allocated in directory (ino %" PRIino "u)\n",
> (unsigned long long)pos, dir->i_ino);
> err = -EFSCORRUPTED;
> goto out;
> @@ -483,7 +483,7 @@ int udf_fiiter_append_blk(struct udf_fileident_iter *iter)
> &iter->loffset, &etype);
> if (err <= 0 || etype != (EXT_RECORDED_ALLOCATED >> 30)) {
> udf_err(iter->dir->i_sb,
> - "block %llu not allocated in directory (ino %lu)\n",
> + "block %llu not allocated in directory (ino %" PRIino "u)\n",
> (unsigned long long)block, iter->dir->i_ino);
> return -EFSCORRUPTED;
> }
> diff --git a/fs/udf/file.c b/fs/udf/file.c
> index 32ae7cfd72c549958b70824b449cf146f6750f44..ab8093b87dc8f21ce8af6a72621e2868fb4b9a82 100644
> --- a/fs/udf/file.c
> +++ b/fs/udf/file.c
> @@ -133,7 +133,7 @@ long udf_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
> int result;
>
> if (file_permission(filp, MAY_READ) != 0) {
> - udf_debug("no permission to access inode %lu\n", inode->i_ino);
> + udf_debug("no permission to access inode %" PRIino "u\n", inode->i_ino);
> return -EPERM;
> }
>
> diff --git a/fs/udf/inode.c b/fs/udf/inode.c
> index 7fae8002344a0e1e7e51022e97f1e0e2424185f9..ecc22aded0d287ccdfb34b42a0d82e392054f585 100644
> --- a/fs/udf/inode.c
> +++ b/fs/udf/inode.c
> @@ -147,7 +147,7 @@ void udf_evict_inode(struct inode *inode)
> if (iinfo->i_alloc_type != ICBTAG_FLAG_AD_IN_ICB &&
> inode->i_size != iinfo->i_lenExtents) {
> udf_warn(inode->i_sb,
> - "Inode %lu (mode %o) has inode size %llu different from extent length %llu. Filesystem need not be standards compliant.\n",
> + "Inode %" PRIino "u (mode %o) has inode size %llu different from extent length %llu. Filesystem need not be standards compliant.\n",
> inode->i_ino, inode->i_mode,
> (unsigned long long)inode->i_size,
> (unsigned long long)iinfo->i_lenExtents);
> @@ -1386,13 +1386,13 @@ static int udf_read_inode(struct inode *inode, bool hidden_inode)
> */
> bh = udf_read_ptagged(inode->i_sb, iloc, 0, &ident);
> if (!bh) {
> - udf_err(inode->i_sb, "(ino %lu) failed !bh\n", inode->i_ino);
> + udf_err(inode->i_sb, "(ino %" PRIino "u) failed !bh\n", inode->i_ino);
> return -EIO;
> }
>
> if (ident != TAG_IDENT_FE && ident != TAG_IDENT_EFE &&
> ident != TAG_IDENT_USE) {
> - udf_err(inode->i_sb, "(ino %lu) failed ident=%u\n",
> + udf_err(inode->i_sb, "(ino %" PRIino "u) failed ident=%u\n",
> inode->i_ino, ident);
> goto out;
> }
> @@ -1641,7 +1641,7 @@ static int udf_read_inode(struct inode *inode, bool hidden_inode)
> udf_debug("METADATA BITMAP FILE-----\n");
> break;
> default:
> - udf_err(inode->i_sb, "(ino %lu) failed unknown file type=%u\n",
> + udf_err(inode->i_sb, "(ino %" PRIino "u) failed unknown file type=%u\n",
> inode->i_ino, fe->icbTag.fileType);
> goto out;
> }
> @@ -1942,7 +1942,7 @@ static int udf_update_inode(struct inode *inode, int do_sync)
> if (do_sync) {
> sync_dirty_buffer(bh);
> if (buffer_write_io_error(bh)) {
> - udf_warn(inode->i_sb, "IO error syncing udf inode [%08lx]\n",
> + udf_warn(inode->i_sb, "IO error syncing udf inode [%08" PRIino "x]\n",
> inode->i_ino);
> err = -EIO;
> }
> @@ -2224,7 +2224,7 @@ int udf_next_aext(struct inode *inode, struct extent_position *epos,
>
> if (++indirections > UDF_MAX_INDIR_EXTS) {
> udf_err(inode->i_sb,
> - "too many indirect extents in inode %lu\n",
> + "too many indirect extents in inode %" PRIino "u\n",
> inode->i_ino);
> return -EFSCORRUPTED;
> }
> diff --git a/fs/udf/namei.c b/fs/udf/namei.c
> index 5f2e9a892bffa9579143cedf71d80efa7ad6e9fb..32209549a31f451a486918e673a41497bef42e89 100644
> --- a/fs/udf/namei.c
> +++ b/fs/udf/namei.c
> @@ -550,7 +550,7 @@ static int udf_unlink(struct inode *dir, struct dentry *dentry)
> goto end_unlink;
>
> if (!inode->i_nlink) {
> - udf_debug("Deleting nonexistent file (%lu), %u\n",
> + udf_debug("Deleting nonexistent file (%" PRIino "u), %u\n",
> inode->i_ino, inode->i_nlink);
> set_nlink(inode, 1);
> }
> @@ -809,7 +809,7 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
> &diriter);
> if (retval == -ENOENT) {
> udf_err(old_inode->i_sb,
> - "directory (ino %lu) has no '..' entry\n",
> + "directory (ino %" PRIino "u) has no '..' entry\n",
> old_inode->i_ino);
> retval = -EFSCORRUPTED;
> }
> @@ -821,7 +821,7 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
> old_dir->i_ino) {
> retval = -EFSCORRUPTED;
> udf_err(old_inode->i_sb,
> - "directory (ino %lu) has parent entry pointing to another inode (%lu != %u)\n",
> + "directory (ino %" PRIino "u) has parent entry pointing to another inode (%" PRIino "u != %u)\n",
> old_inode->i_ino, old_dir->i_ino,
> udf_get_lb_pblock(old_inode->i_sb, &tloc, 0));
> goto out_oiter;
> @@ -869,7 +869,7 @@ static int udf_rename(struct mnt_idmap *idmap, struct inode *old_dir,
> retval = udf_fiiter_find_entry(old_dir, &old_dentry->d_name, &oiter);
> if (retval) {
> udf_err(old_dir->i_sb,
> - "failed to find renamed entry again in directory (ino %lu)\n",
> + "failed to find renamed entry again in directory (ino %" PRIino "u)\n",
> old_dir->i_ino);
> } else {
> udf_fiiter_delete_entry(&oiter);
> diff --git a/fs/udf/super.c b/fs/udf/super.c
> index 27f463fd1d89e8ae4844cd70c291d737aee1589e..c6e372d573885742745d3ff4b3b017facf228a32 100644
> --- a/fs/udf/super.c
> +++ b/fs/udf/super.c
> @@ -1166,7 +1166,7 @@ static int udf_fill_partdesc_info(struct super_block *sb,
> }
> map->s_uspace.s_table = inode;
> map->s_partition_flags |= UDF_PART_FLAG_UNALLOC_TABLE;
> - udf_debug("unallocSpaceTable (part %d) @ %lu\n",
> + udf_debug("unallocSpaceTable (part %d) @ %" PRIino "u\n",
> p_index, map->s_uspace.s_table->i_ino);
> }
>
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
* Re: [PATCH v2 040/110] ocfs2: use PRIino format for i_ino
From: Jan Kara @ 2026-03-03 11:26 UTC (permalink / raw)
To: Jeff Layton
Cc: 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, 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 König, 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, linux-fsdevel, linux-kernel, linux-trace-kernel,
nvdimm, fsverity, linux-mm, netfs, linux-ext4, linux-f2fs-devel,
linux-nfs, linux-cifs, samba-technical, linux-nilfs, v9fs,
linux-afs, autofs, ceph-devel, codalist, ecryptfs, linux-mtd,
jfs-discussion, ntfs3, ocfs2-devel, devel, linux-unionfs,
apparmor, linux-security-module, linux-integrity, selinux,
amd-gfx, dri-devel, linux-media, linaro-mm-sig, netdev,
linux-perf-users, linux-fscrypt, linux-xfs, linux-hams, linux-x25,
audit, linux-bluetooth, linux-can, linux-sctp, bpf
In-Reply-To: <20260302-iino-u64-v2-40-e5388800dae0@kernel.org>
On Mon 02-03-26 15:24:24, Jeff Layton wrote:
> Convert ocfs2 i_ino format strings to use the PRIino format
> macro in preparation for the widening of i_ino via kino_t.
>
> Remove now-unnecessary (unsigned long) casts on i_ino.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Looks good. Feel free to add:
Reviewed-by: Jan Kara <jack@suse.cz>
Honza
> ---
> fs/ocfs2/alloc.c | 2 +-
> fs/ocfs2/aops.c | 4 ++--
> fs/ocfs2/dir.c | 8 ++++----
> fs/ocfs2/dlmfs/dlmfs.c | 10 +++++-----
> fs/ocfs2/extent_map.c | 12 ++++++------
> fs/ocfs2/inode.c | 2 +-
> fs/ocfs2/quota_local.c | 2 +-
> fs/ocfs2/refcounttree.c | 10 +++++-----
> fs/ocfs2/xattr.c | 4 ++--
> 9 files changed, 27 insertions(+), 27 deletions(-)
>
> diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c
> index 344fd4d95fbc8bd7a749e9d51d31b5682ff030d0..d7703549645b548d9f5d77b2214a9a7c0af0ef6f 100644
> --- a/fs/ocfs2/alloc.c
> +++ b/fs/ocfs2/alloc.c
> @@ -7318,7 +7318,7 @@ int ocfs2_commit_truncate(struct ocfs2_super *osb,
> * to check it up here before changing the tree.
> */
> if (root_el->l_tree_depth && rec->e_int_clusters == 0) {
> - mlog(ML_ERROR, "Inode %lu has an empty "
> + mlog(ML_ERROR, "Inode %" PRIino "u has an empty "
> "extent record, depth %u\n", inode->i_ino,
> le16_to_cpu(root_el->l_tree_depth));
> status = ocfs2_remove_rightmost_empty_extent(osb,
> diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
> index 17ba79f443ee736cb5225702c57d13f4019f3c52..aea35b1c9fa3ce7327672c1862d0d1201c895c40 100644
> --- a/fs/ocfs2/aops.c
> +++ b/fs/ocfs2/aops.c
> @@ -137,7 +137,7 @@ int ocfs2_get_block(struct inode *inode, sector_t iblock,
> (unsigned long long)iblock, bh_result, create);
>
> if (OCFS2_I(inode)->ip_flags & OCFS2_INODE_SYSTEM_FILE)
> - mlog(ML_NOTICE, "get_block on system inode 0x%p (%lu)\n",
> + mlog(ML_NOTICE, "get_block on system inode 0x%p (%" PRIino "u)\n",
> inode, inode->i_ino);
>
> if (S_ISLNK(inode->i_mode)) {
> @@ -2146,7 +2146,7 @@ static int ocfs2_dio_wr_get_block(struct inode *inode, sector_t iblock,
> ((iblock + ((len - 1) >> i_blkbits)) > endblk))
> len = (endblk - iblock + 1) << i_blkbits;
>
> - mlog(0, "get block of %lu at %llu:%u req %u\n",
> + mlog(0, "get block of %" PRIino "u at %llu:%u req %u\n",
> inode->i_ino, pos, len, total_len);
>
> /*
> diff --git a/fs/ocfs2/dir.c b/fs/ocfs2/dir.c
> index 1c8abf2c592caacbe734d49254b04d507925c9d1..eecb2b1d2ec17fb4b3f09abb9e168d2f28f9b420 100644
> --- a/fs/ocfs2/dir.c
> +++ b/fs/ocfs2/dir.c
> @@ -794,7 +794,7 @@ static int ocfs2_dx_dir_lookup_rec(struct inode *inode,
> if (le16_to_cpu(el->l_count) !=
> ocfs2_extent_recs_per_dx_root(inode->i_sb)) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %lu has invalid extent list length %u\n",
> + "Inode %" PRIino "u has invalid extent list length %u\n",
> inode->i_ino, le16_to_cpu(el->l_count));
> goto out;
> }
> @@ -812,7 +812,7 @@ static int ocfs2_dx_dir_lookup_rec(struct inode *inode,
>
> if (el->l_tree_depth) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %lu has non zero tree depth in btree tree block %llu\n",
> + "Inode %" PRIino "u has non zero tree depth in btree tree block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> goto out;
> @@ -821,7 +821,7 @@ static int ocfs2_dx_dir_lookup_rec(struct inode *inode,
>
> if (le16_to_cpu(el->l_next_free_rec) == 0) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %lu has empty extent list at depth %u\n",
> + "Inode %" PRIino "u has empty extent list at depth %u\n",
> inode->i_ino,
> le16_to_cpu(el->l_tree_depth));
> goto out;
> @@ -839,7 +839,7 @@ static int ocfs2_dx_dir_lookup_rec(struct inode *inode,
>
> if (!found) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %lu has bad extent record (%u, %u, 0) in btree\n",
> + "Inode %" PRIino "u has bad extent record (%u, %u, 0) in btree\n",
> inode->i_ino,
> le32_to_cpu(rec->e_cpos),
> ocfs2_rec_clusters(el, rec));
> diff --git a/fs/ocfs2/dlmfs/dlmfs.c b/fs/ocfs2/dlmfs/dlmfs.c
> index 45cce261da65cab7ef48b5b88c0de5d41fa57615..e96c1c574ff7dc3dffad58ce8536b7e337d3f6fa 100644
> --- a/fs/ocfs2/dlmfs/dlmfs.c
> +++ b/fs/ocfs2/dlmfs/dlmfs.c
> @@ -123,7 +123,7 @@ static int dlmfs_file_open(struct inode *inode,
> if (S_ISDIR(inode->i_mode))
> BUG();
>
> - mlog(0, "open called on inode %lu, flags 0x%x\n", inode->i_ino,
> + mlog(0, "open called on inode %" PRIino "u, flags 0x%x\n", inode->i_ino,
> file->f_flags);
>
> status = dlmfs_decode_open_flags(file->f_flags, &level, &flags);
> @@ -170,7 +170,7 @@ static int dlmfs_file_release(struct inode *inode,
> if (S_ISDIR(inode->i_mode))
> BUG();
>
> - mlog(0, "close called on inode %lu\n", inode->i_ino);
> + mlog(0, "close called on inode %" PRIino "u\n", inode->i_ino);
>
> if (fp) {
> level = fp->fp_lock_level;
> @@ -242,7 +242,7 @@ static ssize_t dlmfs_file_write(struct file *filp,
> int bytes_left;
> struct inode *inode = file_inode(filp);
>
> - mlog(0, "inode %lu, count = %zu, *ppos = %llu\n",
> + mlog(0, "inode %" PRIino "u, count = %zu, *ppos = %llu\n",
> inode->i_ino, count, *ppos);
>
> if (*ppos >= DLM_LVB_LEN)
> @@ -301,7 +301,7 @@ static void dlmfs_evict_inode(struct inode *inode)
>
> clear_inode(inode);
>
> - mlog(0, "inode %lu\n", inode->i_ino);
> + mlog(0, "inode %" PRIino "u\n", inode->i_ino);
>
> ip = DLMFS_I(inode);
> lockres = &ip->ip_lockres;
> @@ -490,7 +490,7 @@ static int dlmfs_unlink(struct inode *dir,
> int status;
> struct inode *inode = d_inode(dentry);
>
> - mlog(0, "unlink inode %lu\n", inode->i_ino);
> + mlog(0, "unlink inode %" PRIino "u\n", inode->i_ino);
>
> /* if there are no current holders, or none that are waiting
> * to acquire a lock, this basically destroys our lockres. */
> diff --git a/fs/ocfs2/extent_map.c b/fs/ocfs2/extent_map.c
> index d68229422dda3423971d7ab0e9a4335acab8b344..3cf93a08f7a8946810ccd2de246be4d07a23b53b 100644
> --- a/fs/ocfs2/extent_map.c
> +++ b/fs/ocfs2/extent_map.c
> @@ -291,7 +291,7 @@ static int ocfs2_last_eb_is_empty(struct inode *inode,
>
> if (el->l_tree_depth) {
> ocfs2_error(inode->i_sb,
> - "Inode %lu has non zero tree depth in leaf block %llu\n",
> + "Inode %" PRIino "u has non zero tree depth in leaf block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> ret = -EROFS;
> @@ -427,7 +427,7 @@ static int ocfs2_get_clusters_nocache(struct inode *inode,
>
> if (el->l_tree_depth) {
> ocfs2_error(inode->i_sb,
> - "Inode %lu has non zero tree depth in leaf block %llu\n",
> + "Inode %" PRIino "u has non zero tree depth in leaf block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> ret = -EROFS;
> @@ -437,7 +437,7 @@ static int ocfs2_get_clusters_nocache(struct inode *inode,
>
> if (le16_to_cpu(el->l_next_free_rec) > le16_to_cpu(el->l_count)) {
> ocfs2_error(inode->i_sb,
> - "Inode %lu has an invalid extent (next_free_rec %u, count %u)\n",
> + "Inode %" PRIino "u has an invalid extent (next_free_rec %u, count %u)\n",
> inode->i_ino,
> le16_to_cpu(el->l_next_free_rec),
> le16_to_cpu(el->l_count));
> @@ -472,7 +472,7 @@ static int ocfs2_get_clusters_nocache(struct inode *inode,
>
> if (!rec->e_blkno) {
> ocfs2_error(inode->i_sb,
> - "Inode %lu has bad extent record (%u, %u, 0)\n",
> + "Inode %" PRIino "u has bad extent record (%u, %u, 0)\n",
> inode->i_ino,
> le32_to_cpu(rec->e_cpos),
> ocfs2_rec_clusters(el, rec));
> @@ -561,7 +561,7 @@ int ocfs2_xattr_get_clusters(struct inode *inode, u32 v_cluster,
>
> if (el->l_tree_depth) {
> ocfs2_error(inode->i_sb,
> - "Inode %lu has non zero tree depth in xattr leaf block %llu\n",
> + "Inode %" PRIino "u has non zero tree depth in xattr leaf block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> ret = -EROFS;
> @@ -580,7 +580,7 @@ int ocfs2_xattr_get_clusters(struct inode *inode, u32 v_cluster,
>
> if (!rec->e_blkno) {
> ocfs2_error(inode->i_sb,
> - "Inode %lu has bad extent record (%u, %u, 0) in xattr\n",
> + "Inode %" PRIino "u has bad extent record (%u, %u, 0) in xattr\n",
> inode->i_ino,
> le32_to_cpu(rec->e_cpos),
> ocfs2_rec_clusters(el, rec));
> diff --git a/fs/ocfs2/inode.c b/fs/ocfs2/inode.c
> index 03a51662ea8e79f7a64fcd320b974f954b2ea8bf..c3076b450de3599291c386ceeb8b2d26e8680904 100644
> --- a/fs/ocfs2/inode.c
> +++ b/fs/ocfs2/inode.c
> @@ -1196,7 +1196,7 @@ static void ocfs2_clear_inode(struct inode *inode)
> inode->i_nlink);
>
> mlog_bug_on_msg(osb == NULL,
> - "Inode=%lu\n", inode->i_ino);
> + "Inode=%" PRIino "u\n", inode->i_ino);
>
> dquot_drop(inode);
>
> diff --git a/fs/ocfs2/quota_local.c b/fs/ocfs2/quota_local.c
> index c4e0117d8977807dd6f0f4df64e1ddf72a62ea09..269b0f27d5679aba317059b245ee4bf4f5580eca 100644
> --- a/fs/ocfs2/quota_local.c
> +++ b/fs/ocfs2/quota_local.c
> @@ -471,7 +471,7 @@ static int ocfs2_recover_local_quota_file(struct inode *lqinode,
> qsize_t spacechange, inodechange;
> unsigned int memalloc;
>
> - trace_ocfs2_recover_local_quota_file((unsigned long)lqinode->i_ino, type);
> + trace_ocfs2_recover_local_quota_file(lqinode->i_ino, type);
>
> list_for_each_entry_safe(rchunk, next, &(rec->r_list[type]), rc_list) {
> chunk = rchunk->rc_chunk;
> diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c
> index c1cdececdfa4ef51a1bd3a5addad734b324b92c0..1586c42fdabe70056bf7f103d583dd9000fe9510 100644
> --- a/fs/ocfs2/refcounttree.c
> +++ b/fs/ocfs2/refcounttree.c
> @@ -2341,7 +2341,7 @@ static int ocfs2_mark_extent_refcounted(struct inode *inode,
> cpos, len, phys);
>
> if (!ocfs2_refcount_tree(OCFS2_SB(inode->i_sb))) {
> - ret = ocfs2_error(inode->i_sb, "Inode %lu want to use refcount tree, but the feature bit is not set in the super block\n",
> + ret = ocfs2_error(inode->i_sb, "Inode %" PRIino "u want to use refcount tree, but the feature bit is not set in the super block\n",
> inode->i_ino);
> goto out;
> }
> @@ -2524,7 +2524,7 @@ int ocfs2_prepare_refcount_change_for_del(struct inode *inode,
> u64 start_cpos = ocfs2_blocks_to_clusters(inode->i_sb, phys_blkno);
>
> if (!ocfs2_refcount_tree(OCFS2_SB(inode->i_sb))) {
> - ret = ocfs2_error(inode->i_sb, "Inode %lu want to use refcount tree, but the feature bit is not set in the super block\n",
> + ret = ocfs2_error(inode->i_sb, "Inode %" PRIino "u want to use refcount tree, but the feature bit is not set in the super block\n",
> inode->i_ino);
> goto out;
> }
> @@ -2650,7 +2650,7 @@ static int ocfs2_refcount_cal_cow_clusters(struct inode *inode,
>
> if (el->l_tree_depth) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %lu has non zero tree depth in leaf block %llu\n",
> + "Inode %" PRIino "u has non zero tree depth in leaf block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> goto out;
> @@ -2662,7 +2662,7 @@ static int ocfs2_refcount_cal_cow_clusters(struct inode *inode,
> rec = &el->l_recs[i];
>
> if (ocfs2_is_empty_extent(rec)) {
> - mlog_bug_on_msg(i != 0, "Inode %lu has empty record in "
> + mlog_bug_on_msg(i != 0, "Inode %" PRIino "u has empty record in "
> "index %d\n", inode->i_ino, i);
> continue;
> }
> @@ -3325,7 +3325,7 @@ static int ocfs2_replace_cow(struct ocfs2_cow_context *context)
> struct ocfs2_super *osb = OCFS2_SB(inode->i_sb);
>
> if (!ocfs2_refcount_tree(osb)) {
> - return ocfs2_error(inode->i_sb, "Inode %lu want to use refcount tree, but the feature bit is not set in the super block\n",
> + return ocfs2_error(inode->i_sb, "Inode %" PRIino "u want to use refcount tree, but the feature bit is not set in the super block\n",
> inode->i_ino);
> }
>
> diff --git a/fs/ocfs2/xattr.c b/fs/ocfs2/xattr.c
> index 42ee5db362d3eb6df886d6721dd7398b8aca8cdb..74cd6dd57abf71a69adef18863d057e48496ccfe 100644
> --- a/fs/ocfs2/xattr.c
> +++ b/fs/ocfs2/xattr.c
> @@ -3741,7 +3741,7 @@ static int ocfs2_xattr_get_rec(struct inode *inode,
>
> if (el->l_tree_depth) {
> ret = ocfs2_error(inode->i_sb,
> - "Inode %lu has non zero tree depth in xattr tree block %llu\n",
> + "Inode %" PRIino "u has non zero tree depth in xattr tree block %llu\n",
> inode->i_ino,
> (unsigned long long)eb_bh->b_blocknr);
> goto out;
> @@ -3758,7 +3758,7 @@ static int ocfs2_xattr_get_rec(struct inode *inode,
> }
>
> if (!e_blkno) {
> - ret = ocfs2_error(inode->i_sb, "Inode %lu has bad extent record (%u, %u, 0) in xattr\n",
> + ret = ocfs2_error(inode->i_sb, "Inode %" PRIino "u has bad extent record (%u, %u, 0) in xattr\n",
> inode->i_ino,
> le32_to_cpu(rec->e_cpos),
> ocfs2_rec_clusters(el, rec));
>
> --
> 2.53.0
>
--
Jan Kara <jack@suse.com>
SUSE Labs, CR
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox