* [PATCH 01/12] Documentation: Correction in HID output_report callback description.
From: Jingyuan Liang @ 2026-03-03 6:12 UTC (permalink / raw)
To: Jiri Kosina, Benjamin Tissoires, Jonathan Corbet, Mark Brown,
Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers,
Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-input, linux-doc, linux-kernel, linux-spi,
linux-trace-kernel, devicetree, hbarnor, Jingyuan Liang,
Jarrett Schultz, Dmitry Antipov
In-Reply-To: <20260303-send-upstream-v1-0-1515ba218f3d@chromium.org>
From: Jarrett Schultz <jaschultz@microsoft.com>
Originally output_report callback was described as must-be asynchronous,
but that is not the case in some implementations, namely i2c-hid.
Correct the documentation to say that it may be asynchronous.
Signed-off-by: Dmitry Antipov <dmanti@microsoft.com>
Signed-off-by: Jingyuan Liang <jingyliang@chromium.org>
---
Documentation/hid/hid-transport.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/hid/hid-transport.rst b/Documentation/hid/hid-transport.rst
index 6f1692da296c..2008cf432af1 100644
--- a/Documentation/hid/hid-transport.rst
+++ b/Documentation/hid/hid-transport.rst
@@ -327,8 +327,8 @@ The available HID callbacks are:
Send raw output report via intr channel. Used by some HID device drivers
which require high throughput for outgoing requests on the intr channel. This
- must not cause SET_REPORT calls! This must be implemented as asynchronous
- output report on the intr channel!
+ must not cause SET_REPORT calls! This call might be asynchronous, so the
+ caller should not expect an immediate response!
::
--
2.53.0.473.g4a7958ca14-goog
^ permalink raw reply related
* [PATCH 00/12] Add spi-hid transport driver
From: Jingyuan Liang @ 2026-03-03 6:12 UTC (permalink / raw)
To: Jiri Kosina, Benjamin Tissoires, Jonathan Corbet, Mark Brown,
Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers,
Dmitry Torokhov, Rob Herring, Krzysztof Kozlowski, Conor Dooley
Cc: linux-input, linux-doc, linux-kernel, linux-spi,
linux-trace-kernel, devicetree, hbarnor, Jingyuan Liang,
Jarrett Schultz, Dmitry Antipov, Angela Czubak
This series picks up the spi-hid driver work originally started by
Microsoft. The patch breakdown has been modified and the implementation has
been refactored to address upstream feedback and testing issues. We are
submitting this as a new series while keeping the original sign-off
chain to reflect the history.
Same as the original series, there is a change to HID documentation, some
HID core changes to support a SPI device, the SPI HID transport driver,
and HID over SPI Device Tree binding. We have added the HID over SPI ACPI
support, power management, panel follower, and quirks for Ilitek touch
controllers.
Original authors: Jarrett Schultz <jaschultz@microsoft.com>,
Dmitry Antipov <dmanti@microsoft.com>
Link: https://lore.kernel.org/r/86b63b7b-afda-d7f4-7bfa-175085d5a8ef@gmail.com
Signed-off-by: Jingyuan Liang <jingyliang@chromium.org>
---
Angela Czubak (2):
HID: spi-hid: add transport driver skeleton for HID over SPI bus
HID: spi_hid: add ACPI support for SPI over HID
Jarrett Schultz (3):
Documentation: Correction in HID output_report callback description.
HID: Add BUS_SPI support and define HID_SPI_DEVICE macro
HID: spi_hid: add device tree support for SPI over HID
Jingyuan Liang (7):
HID: spi-hid: add spi-hid driver HID layer
HID: spi-hid: add HID SPI protocol implementation
HID: spi_hid: add spi_hid traces
dt-bindings: input: Document hid-over-spi DT schema
HID: spi-hid: add power management implementation
HID: spi-hid: add panel follower support
HID: spi-hid: add quirkis to support mode switch for Ilitek touch
.../devicetree/bindings/input/hid-over-spi.yaml | 153 ++
Documentation/hid/hid-transport.rst | 4 +-
drivers/hid/Kconfig | 2 +
drivers/hid/Makefile | 2 +
drivers/hid/hid-core.c | 3 +
drivers/hid/spi-hid/Kconfig | 45 +
drivers/hid/spi-hid/Makefile | 11 +
drivers/hid/spi-hid/spi-hid-acpi.c | 254 ++++
drivers/hid/spi-hid/spi-hid-core.c | 1493 ++++++++++++++++++++
drivers/hid/spi-hid/spi-hid-core.h | 94 ++
drivers/hid/spi-hid/spi-hid-of.c | 244 ++++
drivers/hid/spi-hid/spi-hid.h | 51 +
include/linux/hid.h | 2 +
include/trace/events/spi_hid.h | 156 ++
14 files changed, 2512 insertions(+), 2 deletions(-)
---
base-commit: 05f7e89ab9731565d8a62e3b5d1ec206485eeb0b
change-id: 20260212-send-upstream-75f6fd9ed92e
Best regards,
--
Jingyuan Liang <jingyliang@chromium.org>
^ permalink raw reply
* Re: [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro
From: Darrick J. Wong @ 2026-03-03 4:25 UTC (permalink / raw)
To: Theodore Tso
Cc: 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: <20260303012556.GA6520@macsyma-wired.lan>
On Mon, Mar 02, 2026 at 08:25:56PM -0500, Theodore Tso wrote:
> On Mon, Mar 02, 2026 at 03:23:45PM -0500, Jeff Layton wrote:
> > The PRIino macro is a length modifier, not a complete format specifier.
> > It is used as: "%" PRIino "u" for decimal, "%" PRIino "x" for hex, etc.
> > This follows the pattern used by userspace PRIu64/PRIx64 macros.
>
> For the record, I really hate the inttypes.h format specifiers, but I
> agree that we should forward the example of the C99 spec, for better
> or for worse.
>
> 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.
--D
> ---- cut here ---
> #!/bin/sh
> cat <<EOF > /tmp/blah.c
> #include <inttypes.h>
> #include <stdio.h>
>
> int main(int arg, char **argv)
> {
> printf("PRIu64 is %s\n", PRIu64);
> printf("PRId64 is %s\n", PRId64);
> printf("PRIx64 is %s\n", PRIx64);
> return 0;
> }
> EOF
>
> clang -m32 -o /tmp/blah /tmp/blah.c
> /tmp/blah
> ---- cut here ---
>
> % /tmp/blah.sh
> PRIu64 is llu
> PRId64 is lld
> PRIx64 is llx
>
> Thanks!
>
> - Ted
^ permalink raw reply
* Re: [PATCH] ftrace: Disable preemption in the tracepoint callbacks handling filtered pids
From: Masami Hiramatsu @ 2026-03-03 4:17 UTC (permalink / raw)
To: Steven Rostedt
Cc: LKML, Linux Trace Kernel, Masami Hiramatsu, Mathieu Desnoyers
In-Reply-To: <20260302213546.156e3e4f@gandalf.local.home>
On Mon, 2 Mar 2026 21:35:46 -0500
Steven Rostedt <rostedt@goodmis.org> wrote:
> From: Steven Rostedt <rostedt@goodmis.org>
>
> When function trace PID filtering is enabled, the function tracer will
> attach a callback to the fork tracepoint as well as the exit tracepoint
> that will add the forked child PID to the PID filtering list as well as
> remove the PID that is exiting.
>
> Commit a46023d5616e ("tracing: Guard __DECLARE_TRACE() use of
> __DO_TRACE_CALL() with SRCU-fast") removed the disabling of preemption
> when calling tracepoint callbacks.
>
> The callbacks used for the PID filtering accounting depended on preemption
> being disabled, and now the trigger a "suspicious RCU usage" warning message.
>
> Make them explicitly disable preemption.
>
Hmm, we still have another "WARNING: suspicious RCU usage"
[37] event tracing - restricts events based on pid notrace filtering[ 155.874095]
[ 155.874869] =============================
[ 155.876037] WARNING: suspicious RCU usage
[ 155.877287] 7.0.0-rc1-00004-g8cd473a19bc7 #7 Not tainted
[ 155.879263] -----------------------------
[ 155.882839] kernel/trace/trace_events.c:1057 suspicious rcu_dereference_check() usage!
[ 155.889281]
[ 155.889281] other info that might help us debug this:
[ 155.889281]
[ 155.894519]
[ 155.894519] rcu_scheduler_active = 2, debug_locks = 1
[ 155.898068] no locks held by ftracetest/4364.
[ 155.900524]
[ 155.900524] stack backtrace:
[ 155.902645] CPU: 1 UID: 0 PID: 4364 Comm: ftracetest Not tainted 7.0.0-rc1-00004-g8cd473a19bc7 #7 PREEMPT(lazy)
[ 155.902648] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.17.0-debian-1.17.0-1 04/01/2014
[ 155.902651] Call Trace:
[ 155.902655] <TASK>
[ 155.902659] dump_stack_lvl+0x67/0x90
[ 155.902665] lockdep_rcu_suspicious+0x154/0x1a0
[ 155.902672] event_filter_pid_sched_process_fork+0x9a/0xd0
[ 155.902678] kernel_clone+0x367/0x3a0
[ 155.902689] __x64_sys_clone+0x116/0x140
[ 155.902696] do_syscall_64+0x158/0x460
[ 155.902700] ? entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 155.902702] ? trace_irq_disable+0x1d/0xc0
[ 155.902709] entry_SYSCALL_64_after_hwframe+0x77/0x7f
[ 155.902711] RIP: 0033:0x4697c3
[ 155.902716] Code: 1f 84 00 00 00 00 00 64 48 8b 04 25 10 00 00 00 45 31 c0 31 d2 31 f6 bf 11 00 20 01 4c 8d 90 d0 02 00 00 b8 38 00 00 00 0f 05 <48> 3d 00 f0 ff ff 77 35 89 c2 85 c0 75 2c 64 48 8b 04 25 10 00 00
[ 155.902718] RSP: 002b:00007ffc41150428 EFLAGS: 00000246 ORIG_RAX: 0000000000000038
[ 155.902721] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00000000004697c3
[ 155.902722] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000001200011
[ 155.902724] RBP: 0000000000000000 R08: 0000000000000000 R09: 000000003fccf990
[ 155.902725] R10: 000000003fccd690 R11: 0000000000000246 R12: 0000000000000001
[ 155.902726] R13: 000000003fce8103 R14: 0000000000000001 R15: 0000000000000000
[ 155.902733] </TASK>
[ 155.902747]
It seems we need 2 more guard()s.
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
index 9928da636c9d..3b3aaf4831e9 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -1039,6 +1039,7 @@ event_filter_pid_sched_process_exit(void *data, struct task_struct *task)
struct trace_pid_list *pid_list;
struct trace_array *tr = data;
+ guard(preempt)();
pid_list = rcu_dereference_raw(tr->filtered_pids);
trace_filter_add_remove_task(pid_list, NULL, task);
@@ -1054,6 +1055,7 @@ event_filter_pid_sched_process_fork(void *data,
struct trace_pid_list *pid_list;
struct trace_array *tr = data;
+ guard(preempt)();
pid_list = rcu_dereference_sched(tr->filtered_pids);
trace_filter_add_remove_task(pid_list, self, task);
Thanks,
> Fixes: a46023d5616e ("tracing: Guard __DECLARE_TRACE() use of __DO_TRACE_CALL() with SRCU-fast")
> Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
> ---
> kernel/trace/ftrace.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
> index 1ce17c8af409..5274e0cab8f3 100644
> --- a/kernel/trace/ftrace.c
> +++ b/kernel/trace/ftrace.c
> @@ -8611,6 +8611,7 @@ ftrace_pid_follow_sched_process_fork(void *data,
> struct trace_pid_list *pid_list;
> struct trace_array *tr = data;
>
> + guard(preempt)();
> pid_list = rcu_dereference_sched(tr->function_pids);
> trace_filter_add_remove_task(pid_list, self, task);
>
> @@ -8624,6 +8625,7 @@ ftrace_pid_follow_sched_process_exit(void *data, struct task_struct *task)
> struct trace_pid_list *pid_list;
> struct trace_array *tr = data;
>
> + guard(preempt)();
> pid_list = rcu_dereference_sched(tr->function_pids);
> trace_filter_add_remove_task(pid_list, NULL, task);
>
> --
> 2.51.0
>
--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
^ permalink raw reply related
* Re: [PATCH v4 3/3] PCI: dw-rockchip: Add pcie_ltssm_state_transition trace support
From: Shawn Lin @ 2026-03-03 3:25 UTC (permalink / raw)
To: Steven Rostedt
Cc: shawn.lin, Manivannan Sadhasivam, Bjorn Helgaas, linux-rockchip,
linux-pci, linux-trace-kernel, linux-doc, Masami Hiramatsu
In-Reply-To: <20260224091601.48a7b3c0@fedora>
Hi Steven,
在 2026/02/24 星期二 22:16, Steven Rostedt 写道:
> On Tue, 24 Feb 2026 09:11:15 -0500
> Steven Rostedt <rostedt@goodmis.org> wrote:
>
...
>>> + }
>>> +
>>> +skip_trace:
>>> + schedule_delayed_work(&rockchip->trace_work, msecs_to_jiffies(5000));
>>> +}
>>> +
>
> Hmm, so basically you only want to call the work when tracing is
> enabled? That's what I was thinking should be enabled by the reg and
> unreg functions. That is, the reg should enabled the delayed work, and
> the unreg should disable it from being called.
>
> This looks like it calls the work regardless of if tracing is enabled
> or not. Why waste the cycles when tracing is disabled?
>
I looked into implementing reg and unreg callbacks to directly schedule
and cancel the delayed work. The challenge is that this tracepoint
belongs to the shared PCI subsystem trace hierarchy, while the polling
work itself is per-controller. I haven't found a clean way to register
per-driver callbacks in this common context.
Creating a separate Rockchip-specific tracepoint via
tracepoint_probe_register() would detach it from the standard PCIe trace
event hierarchy, which seems undesirable.
As a practical middle ground, I implement reg and unreg to maintain a
user count like this v4. All drivers using this tracepoint would then
rely on the count to gate their work execution, making the delayed work
essentially a no-op when tracing is disabled.
Alternatively, we could simply revert to the V3 approach and rely
entirely on the trace_pcie_ltssm_state_transition_enabled() static
branch check, which would remove the need for reg and unreg altogether.
If you have better suggestions or can point me to a preferred pattern
for this, I'd appreciate your advice.
> -- Steve
>
^ permalink raw reply
* Re: [PATCH] tracing/osnoise: Add option to align tlat threads
From: Crystal Wood @ 2026-03-03 3:21 UTC (permalink / raw)
To: Tomas Glozar
Cc: Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers, John Kacur,
Luis Goncalves, Costa Shulyupin, Wander Lairson Costa, LKML,
linux-trace-kernel
In-Reply-To: <CAP4=nvQcQQCeyi00WchwhrecOQCxoN3gHiuZD63KZb-30JzTYw@mail.gmail.com>
On Mon, 2026-03-02 at 09:48 +0100, Tomas Glozar wrote:
> so 28. 2. 2026 v 0:50 odesílatel Crystal Wood <crwood@redhat.com> napsal:
> > > Add an option called TIMERLAT_ALIGN to osnoise/options, together with a
> > > corresponding setting osnoise/timerlat_align_us.
> > >
> > > This option sets the alignment of wakeup times between different
> > > timerlat threads, similarly to cyclictest's -A/--aligned option. If
> > > TIMERLAT_ALIGN is set, the first thread that reaches the first cycle
> > > records its first wake-up time. Each following thread sets its first
> > > wake-up time to a fixed offset from the recorded time, and incremenets
> > > it by the same offset.
> >
> > Why not just set the initial timer expiration to be
> > "period + cpu * align_us"? Then you wouldn't need any interaction
> > between CPUs.
>
> "period + cpu * align_us" wouldn't quite do it, for two reasons:
>
> 1. The wake-up timers are set to absolute time, and are incremented by
> "period" (once or multiple times, if the timer is significantly
> delayed) each cycle. What can be done as an alternative to what v1
> does is this: record the current time when starting the timerlat
> tracer (I need to reset align_next to zero anyway even with the v1
> design, that is a bug in the patch), and increment from that.
I was only talking about doing this for the initial expiration, not on
increment.
> 2. "cpu" makes a poor thread ID here. If my period is 1000us, and I
> run on CPUs 0 and 100 with alignment 10, suddenly, the space between
> the threads becomes 1000us, which is equivalent to 0us. I would need
> to go through the cpuset and assign numbers from 0 to n to each CPU.
> That would guarantee a fixed spacing of the threads independent of
> when the threads wake up in the first cycle (unlike the v1 design),
> but it would make the implementation more complex, since I would have
> to store the numbers.
Right, I was thinking of just a few CPUs missing not being a big deal,
but on big systems with only a few CPUs running the test it does
matter.
Instead of assigning numbers, could you just loop over each CPU's
tlat->abs_period and set the initial expiration with appropriate
offset (prior to starting any of the threads)? Then the thread would
not need to care about anything other than the usual increment.
> If I implemented both of those ideas, the interaction between the CPUs
> can indeed be gotten rid of. I'm not sure if it is a better solution,
> though. Another motivation of recording the first thread wake-up was
> that when using user threads, the first thread might be created some
> time after the tracer is enabled, and I did not want to have a large
> gap that would have to be corrected by the while loop at the end of
> wait_next_period().
What is the actual concerning impact here?
If we want to be really paranoid we could check for pending signals
during the loop, in case userspace delayed so long (with a very short
period) that the user has a hard time with ctrl+c and such... but that
could happen already if userspace does something silly (e.g. stopped
by a debugger?) between loops.
> > > kernel/trace/trace_osnoise.c | 34 +++++++++++++++++++++++++++++++++-
> > > 1 file changed, 33 insertions(+), 1 deletion(-)
> >
> > Documentation needs to be updated as well.
> >
> > Should mention that updating align_us while the timer is running won't
> > take effect immediately (unlike period, which does).
> >
>
> Good idea, thanks! In general, I'm not expecting the user to change
> timerlat parameters during a measurement - but it is supported, and
> should be documented.
Maybe better to phrase it as "not guaranteed to take effect
immediately" :-)
> > > diff --git a/kernel/trace/trace_osnoise.c b/kernel/trace/trace_osnoise.c
> > > index dee610e465b9..df1d4529d226 100644
> > > --- a/kernel/trace/trace_osnoise.c
> > > +++ b/kernel/trace/trace_osnoise.c
> > > @@ -58,6 +58,7 @@ enum osnoise_options_index {
> > > OSN_PANIC_ON_STOP,
> > > OSN_PREEMPT_DISABLE,
> > > OSN_IRQ_DISABLE,
> > > + OSN_TIMERLAT_ALIGN,
> > > OSN_MAX
> > > };
> > >
> > > @@ -66,7 +67,8 @@ static const char * const osnoise_options_str[OSN_MAX] = {
> > > "OSNOISE_WORKLOAD",
> > > "PANIC_ON_STOP",
> > > "OSNOISE_PREEMPT_DISABLE",
> > > - "OSNOISE_IRQ_DISABLE" };
> > > + "OSNOISE_IRQ_DISABLE",
> > > + "TIMERLAT_ALIGN" };
> >
> > Do we really need a flag for this, or can we just interpret a non-zero
> > align_us value as enabling the feature?
> >
>
> Yes, we need a flag for this, because a zero alignment is a common use case.
>
> I used it in cyclictest to measure the overhead of a large number of
> threads waking up at the same time. Similarly, a non-zero alignment
> will get rid of most of that overhead. Without alignment set, the
> thread wake-ups offsets are semi-random, depending on how the threads
> wake up, which might lead to inconsistent results where one run has
> good numbers and another run bad numbers, since the alignment is
> determined in the first cycle.
OK, I was viewing the staggering as the main point, but I see how the
alignment itself helps too.
Is there a use case for not always doing the alignment?
Other than people asking why their numbers suddenly got worse...
> > I'm already unclear about the existing purpose of next_abs_period, but
> > if it has any use at all shouldn't it be to avoid writing intermediate
> > values like this back to tlat?
> >
>
> next_abs_period is basically just the ktime_t variant of
> tlat->abs_period for local calculations of the next period inside
> wait_next_period(). Its only purpose is the ktime_compare() call that
> increments tlat->abs_period by the period until it lands into the
> future, if it happens to be in the past. This is necessary to do for
> both a regular cycle (which might take long due to noise) and the
> first cycle with alignment (because the other thread's first wake up
> might be late), so it has to be set in the new code as well,
> otherwise, the while loop won't see the time is in the past.
Oh, I missed the unit difference (though it's basically just a typedef
at this point).
> I agree that this part of the code is confusing. There is also a
> field, timerlat_variables.rel_period (tlat->rel_period), that is not
> used anywhere, since the relative period is pulled out of
> osnoise_variables. Something like this would be easier to read and
> comprehend, IMHO:
Yeah, I noticed that as well... we should remove it if we're not going
to use it.
> /*
> * wait_next_period - Wait for the next period for timerlat
> */
> static int wait_next_period(struct timerlat_variables *tlat)
> {
> ktime_t now;
> u64 rel_period = osnoise_data.timerlat_period * 1000;
>
> now = hrtimer_cb_get_time(&tlat->timer);
>
> /*
> * Set the next abs_period.
> */
> tlat->abs_period += rel_period;
>
> /*
> * If the new abs_period is in the past, skip the activation.
> */
> while (ktime_compare(now, ns_to_ktime(tlat->abs_period) > 0) {
> next_abs_period = ns_to_ktime(tlat->abs_period + rel_period);
> tlat->abs_period = (u64) ktime_to_ns(next_abs_period);
> }
>
> set_current_state(TASK_INTERRUPTIBLE);
>
> hrtimer_start(&tlat->timer, next_abs_period, HRTIMER_MODE_ABS_PINNED_HARD);
> schedule();
> return 1;
> }
>
> (Excluding the changes from this patch.) What do you think?
Why can't we just make tlat->abs_period and every other time variable
in this file be ktime_t? Other than atomic stuff if we do go that
route.
Not saying that that should hold up this patch, just an idea to simplify things.
-Crystal
^ permalink raw reply
* [PATCH] ftrace: Disable preemption in the tracepoint callbacks handling filtered pids
From: Steven Rostedt @ 2026-03-03 2:35 UTC (permalink / raw)
To: LKML, Linux Trace Kernel; +Cc: Masami Hiramatsu, Mathieu Desnoyers
From: Steven Rostedt <rostedt@goodmis.org>
When function trace PID filtering is enabled, the function tracer will
attach a callback to the fork tracepoint as well as the exit tracepoint
that will add the forked child PID to the PID filtering list as well as
remove the PID that is exiting.
Commit a46023d5616e ("tracing: Guard __DECLARE_TRACE() use of
__DO_TRACE_CALL() with SRCU-fast") removed the disabling of preemption
when calling tracepoint callbacks.
The callbacks used for the PID filtering accounting depended on preemption
being disabled, and now the trigger a "suspicious RCU usage" warning message.
Make them explicitly disable preemption.
Fixes: a46023d5616e ("tracing: Guard __DECLARE_TRACE() use of __DO_TRACE_CALL() with SRCU-fast")
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
---
kernel/trace/ftrace.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index 1ce17c8af409..5274e0cab8f3 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -8611,6 +8611,7 @@ ftrace_pid_follow_sched_process_fork(void *data,
struct trace_pid_list *pid_list;
struct trace_array *tr = data;
+ guard(preempt)();
pid_list = rcu_dereference_sched(tr->function_pids);
trace_filter_add_remove_task(pid_list, self, task);
@@ -8624,6 +8625,7 @@ ftrace_pid_follow_sched_process_exit(void *data, struct task_struct *task)
struct trace_pid_list *pid_list;
struct trace_array *tr = data;
+ guard(preempt)();
pid_list = rcu_dereference_sched(tr->function_pids);
trace_filter_add_remove_task(pid_list, NULL, task);
--
2.51.0
^ permalink raw reply related
* Re: [PATCH v2 105/110] security: replace PRIino with %llu/%llx format strings
From: Paul Moore @ 2026-03-03 2:30 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, 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-105-e5388800dae0@kernel.org>
On Mon, Mar 2, 2026 at 3:50 PM Jeff Layton <jlayton@kernel.org> wrote:
>
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in security with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> security/apparmor/apparmorfs.c | 4 ++--
> security/integrity/integrity_audit.c | 2 +-
> security/ipe/audit.c | 2 +-
> security/lsm_audit.c | 10 +++++-----
> security/selinux/hooks.c | 10 +++++-----
> security/smack/smack_lsm.c | 12 ++++++------
> 6 files changed, 20 insertions(+), 20 deletions(-)
For the LSM framework and SELinux changes ...
Acked-by: Paul Moore <paul@paul-moore.com> (LSM/SELinux)
--
paul-moore.com
^ permalink raw reply
* Re: [PATCH v2 049/110] security: use PRIino format for i_ino
From: Paul Moore @ 2026-03-03 2: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, 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-49-e5388800dae0@kernel.org>
On Mon, Mar 2, 2026 at 3:36 PM Jeff Layton <jlayton@kernel.org> wrote:
>
> Convert security i_ino format strings to use the PRIino format
> macro in preparation for the widening of i_ino via kino_t.
>
> Also correct signed format specifiers to unsigned, since inode
> numbers are unsigned values.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> security/apparmor/apparmorfs.c | 4 ++--
> security/integrity/integrity_audit.c | 2 +-
> security/ipe/audit.c | 2 +-
> security/lsm_audit.c | 10 +++++-----
> security/selinux/hooks.c | 10 +++++-----
> security/smack/smack_lsm.c | 12 ++++++------
> 6 files changed, 20 insertions(+), 20 deletions(-)
No comment on the PRIino specifier, but the LSM framework and SELinux
changes seem complete.
Acked-by: Paul Moore <paul@paul-moore.com> (LSM/SELinux)
--
paul-moore.com
^ permalink raw reply
* Re: [PATCH v2 001/110] vfs: introduce kino_t typedef and PRIino format macro
From: Theodore Tso @ 2026-03-03 1:25 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, 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-1-e5388800dae0@kernel.org>
On Mon, Mar 02, 2026 at 03:23:45PM -0500, Jeff Layton wrote:
> The PRIino macro is a length modifier, not a complete format specifier.
> It is used as: "%" PRIino "u" for decimal, "%" PRIino "x" for hex, etc.
> This follows the pattern used by userspace PRIu64/PRIx64 macros.
For the record, I really hate the inttypes.h format specifiers, but I
agree that we should forward the example of the C99 spec, for better
or for worse.
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.
---- cut here ---
#!/bin/sh
cat <<EOF > /tmp/blah.c
#include <inttypes.h>
#include <stdio.h>
int main(int arg, char **argv)
{
printf("PRIu64 is %s\n", PRIu64);
printf("PRId64 is %s\n", PRId64);
printf("PRIx64 is %s\n", PRIx64);
return 0;
}
EOF
clang -m32 -o /tmp/blah /tmp/blah.c
/tmp/blah
---- cut here ---
% /tmp/blah.sh
PRIu64 is llu
PRId64 is lld
PRIx64 is llx
Thanks!
- Ted
^ permalink raw reply
* Re: [PATCH v2 003/110] audit: widen ino fields to u64
From: Paul Moore @ 2026-03-02 23:44 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, 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-3-e5388800dae0@kernel.org>
On Mon, Mar 2, 2026 at 3:25 PM Jeff Layton <jlayton@kernel.org> wrote:
>
> inode->i_ino is being widened from unsigned long to u64. The audit
> subsystem uses unsigned long ino in struct fields, function parameters,
> and local variables that store inode numbers from arbitrary filesystems.
> On 32-bit platforms this truncates inode numbers that exceed 32 bits,
> which will cause incorrect audit log entries and broken watch/mark
> comparisons.
>
> Widen all audit ino fields, parameters, and locals to u64, and update
> the inode format string from %lu to %llu to match.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> include/linux/audit.h | 2 +-
> kernel/audit.h | 9 ++++-----
> kernel/audit_fsnotify.c | 4 ++--
> kernel/audit_watch.c | 8 ++++----
> kernel/auditsc.c | 2 +-
> 5 files changed, 12 insertions(+), 13 deletions(-)
We should also update audit_hash_ino() in kernel/audit.h. It is a
*very* basic hash function, so I think leaving the function as-is and
just changing the inode parameter from u32 to u64 should be fine.
--
paul-moore.com
^ permalink raw reply
* Re: [PATCH v2 100/110] zonefs: replace PRIino with %llu/%llx format strings
From: Damien Le Moal @ 2026-03-02 22:58 UTC (permalink / raw)
To: Jeff Layton, 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, 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
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
In-Reply-To: <20260302-iino-u64-v2-100-e5388800dae0@kernel.org>
On 3/3/26 05:25, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in zonefs with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
Acked-by: Damien Le Moal <dlemoal@kernel.org>
--
Damien Le Moal
Western Digital Research
^ permalink raw reply
* Re: [PATCH v2 048/110] zonefs: use PRIino format for i_ino
From: Damien Le Moal @ 2026-03-02 22:57 UTC (permalink / raw)
To: Jeff Layton, 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, 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
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
In-Reply-To: <20260302-iino-u64-v2-48-e5388800dae0@kernel.org>
On 3/3/26 05:24, Jeff Layton wrote:
> Convert zonefs 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>
Acked-by: Damien Le Moal <dlemoal@kernel.org>
--
Damien Le Moal
Western Digital Research
^ permalink raw reply
* Re: [PATCH v2 084/110] hfs: replace PRIino with %llu/%llx format strings
From: Viacheslav Dubeyko @ 2026-03-02 22:40 UTC (permalink / raw)
To: socketcan@hartkopp.net, herbert@gondor.apana.org.au,
jolsa@kernel.org, jreuter@yaina.de, Dai.Ngo@oracle.com,
Ondrej Mosnacek, davem@davemloft.net, dlemoal@kernel.org,
trondmy@kernel.org, namhyung@kernel.org,
almaz.alexandrovich@paragon-software.com, miklos@szeredi.hu,
john.johansen@canonical.com, stephen.smalley.work@gmail.com,
nico@fluxnic.net, maciej.fijalkowski@intel.com, Olga Kornievskaia,
amir73il@gmail.com, tom@talpey.com, joseph.qi@linux.alibaba.com,
paul@paul-moore.com, asmadeus@codewreck.org,
alexander.shishkin@linux.intel.com, mark@fasheh.com,
linux_oss@crudebyte.com, alexander.deucher@amd.com,
viro@zeniv.linux.org.uk, willy@infradead.org, ebiggers@kernel.org,
lucien.xin@gmail.com, bharathsm@microsoft.com,
marcel@holtmann.org, sumit.semwal@linaro.org, Eric Paris,
djwong@kernel.org, simona@ffwll.ch, hawk@kernel.org,
mark.rutland@arm.com, james.clark@linaro.org,
john.fastabend@gmail.com, dsterba@suse.com, kuniyu@google.com,
hch@infradead.org, luiz.dentz@gmail.com, daniel@iogearbox.net,
dwmw2@infradead.org, ncardwell@google.com, sprasad@microsoft.com,
marcelo.leitner@gmail.com, edumazet@google.com,
rostedt@goodmis.org, jack@suse.com, mhiramat@kernel.org,
frank.li@vivo.com, alex.aring@gmail.com, luisbg@kernel.org,
ms@dev.tdt.de, jth@kernel.org, jlbec@evilplan.org,
aivazian.tigran@gmail.com, anna@kernel.org, peterz@infradead.org,
tytso@mit.edu, willemb@google.com, eric.snowberg@oracle.com,
johan.hedberg@gmail.com, acme@kernel.org,
ronniesahlberg@gmail.com, jaharkes@cs.cmu.edu, David Howells,
jaegeuk@kernel.org, courmisch@gmail.com, martin@omnibond.com,
christian.koenig@amd.com, jmorris@namei.org,
adilger.kernel@dilger.ca, idryomov@gmail.com, brauner@kernel.org,
Paolo Abeni, glaubitz@physik.fu-berlin.de,
magnus.karlsson@intel.com, airlied@gmail.com, coda@cs.cmu.edu,
casey@schaufler-ca.com, raven@themaw.net, horms@kernel.org,
adrian.hunter@intel.com, kuba@kernel.org, muchun.song@linux.dev,
chao@kernel.org, mathieu.desnoyers@efficios.com,
hubcap@omnibond.com, jlayton@kernel.org, sdf@fomichev.me,
roberto.sassu@huawei.com, Alex Markuze, chengzhihao1@huawei.com,
mikulas@artax.karlin.mff.cuni.cz, ericvh@kernel.org,
salah.triki@gmail.com, osalvador@suse.de,
dmitry.kasatkin@gmail.com, sfrench@samba.org, serge@hallyn.com,
wufan@kernel.org, al@alarsen.net, pc@manguebit.org,
ast@kernel.org, oleg@redhat.com, slava@dubeyko.com,
konishi.ryusuke@gmail.com, lucho@ionkov.net, dsahern@kernel.org,
shaggy@kernel.org, richard@nod.at, marc.dionne@auristor.com,
neil@brown.name, dan.j.williams@intel.com, mkl@pengutronix.de,
david@kernel.org, Ingo Molnar, jack@suse.cz, code@tyhicks.com,
steffen.klassert@secunet.com, naohiro.aota@wdc.com,
zohar@linux.ibm.com, chuck.lever@oracle.com, irogers@google.com
Cc: linux-sctp@vger.kernel.org, ecryptfs@vger.kernel.org,
linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-ext4@vger.kernel.org, autofs@vger.kernel.org,
amd-gfx@lists.freedesktop.org, fsverity@lists.linux.dev,
ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev,
linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-integrity@vger.kernel.org, samba-technical@lists.samba.org,
linux-nilfs@vger.kernel.org, audit@vger.kernel.org,
selinux@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
linux-trace-kernel@vger.kernel.org, v9fs@lists.linux.dev,
linux-xfs@vger.kernel.org, linux-x25@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-bluetooth@vger.kernel.org, nvdimm@lists.linux.dev,
ceph-devel@vger.kernel.org, jfs-discussion@lists.sourceforge.net,
linux-mtd@lists.infradead.org, devel@lists.orangefs.org,
linux-afs@lists.infradead.org, linux-fscrypt@vger.kernel.org,
linux-security-module@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-hams@vger.kernel.org, bpf@vger.kernel.org,
linux-can@vger.kernel.org, linux-nfs@vger.kernel.org,
codalist@coda.cs.cmu.edu, linux-mm@kvack.org,
netfs@lists.linux.dev, linux-perf-users@vger.kernel.org,
dri-devel@lists.freedesktop.org
In-Reply-To: <20260302-iino-u64-v2-84-e5388800dae0@kernel.org>
On Mon, 2026-03-02 at 15:25 -0500, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in hfs with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> fs/hfs/catalog.c | 2 +-
> fs/hfs/extent.c | 4 ++--
> fs/hfs/inode.c | 4 ++--
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/fs/hfs/catalog.c b/fs/hfs/catalog.c
> index b07c0a3ffc61584165e8cc9f646de6066a6ad2c9..7f5339ee57c15aae2d5d00474133a985be3af6ca 100644
> --- a/fs/hfs/catalog.c
> +++ b/fs/hfs/catalog.c
> @@ -417,7 +417,7 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, const struct qstr *src_name,
> int entry_size, type;
> int err;
>
> - hfs_dbg("cnid %u - (ino %" PRIino "u, name %s) - (ino %" PRIino "u, name %s)\n",
> + hfs_dbg("cnid %u - (ino %llu, name %s) - (ino %llu, name %s)\n",
> cnid, src_dir->i_ino, src_name->name,
> dst_dir->i_ino, dst_name->name);
> sb = src_dir->i_sb;
> diff --git a/fs/hfs/extent.c b/fs/hfs/extent.c
> index 60875cc23880b758bbbb5e4b8281d9ee1f2dbcbb..f066a99a863bc739948aac921bc906874c6009b2 100644
> --- a/fs/hfs/extent.c
> +++ b/fs/hfs/extent.c
> @@ -411,7 +411,7 @@ int hfs_extend_file(struct inode *inode)
> goto out;
> }
>
> - hfs_dbg("ino %" PRIino "u, start %u, len %u\n", inode->i_ino, start, len);
> + hfs_dbg("ino %llu, start %u, len %u\n", inode->i_ino, start, len);
> if (HFS_I(inode)->alloc_blocks == HFS_I(inode)->first_blocks) {
> if (!HFS_I(inode)->first_blocks) {
> hfs_dbg("first_extent: start %u, len %u\n",
> @@ -482,7 +482,7 @@ void hfs_file_truncate(struct inode *inode)
> u32 size;
> int res;
>
> - hfs_dbg("ino %" PRIino "u, phys_size %llu -> i_size %llu\n",
> + hfs_dbg("ino %llu, phys_size %llu -> i_size %llu\n",
> inode->i_ino, (long long)HFS_I(inode)->phys_size,
> inode->i_size);
> if (inode->i_size > HFS_I(inode)->phys_size) {
> diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c
> index b19866525c1e9c43decf3a943c709922ee8630f6..95f0333a608b0fb57239cf5eec7d9489a25efb3a 100644
> --- a/fs/hfs/inode.c
> +++ b/fs/hfs/inode.c
> @@ -270,7 +270,7 @@ void hfs_delete_inode(struct inode *inode)
> {
> struct super_block *sb = inode->i_sb;
>
> - hfs_dbg("ino %" PRIino "u\n", inode->i_ino);
> + hfs_dbg("ino %llu\n", inode->i_ino);
> if (S_ISDIR(inode->i_mode)) {
> atomic64_dec(&HFS_SB(sb)->folder_count);
> if (HFS_I(inode)->cat_key.ParID == cpu_to_be32(HFS_ROOT_CNID))
> @@ -455,7 +455,7 @@ int hfs_write_inode(struct inode *inode, struct writeback_control *wbc)
> hfs_cat_rec rec;
> int res;
>
> - hfs_dbg("ino %" PRIino "u\n", inode->i_ino);
> + hfs_dbg("ino %llu\n", inode->i_ino);
> res = hfs_ext_write_extent(inode);
> if (res)
> return res;
Reviewed-by: Viacheslav Dubeyko <slava@dubeyko.com>
Thanks,
Slava.
^ permalink raw reply
* Re: [PATCH v2 076/110] ceph: replace PRIino with %llu/%llx format strings
From: Viacheslav Dubeyko @ 2026-03-02 22:39 UTC (permalink / raw)
To: socketcan@hartkopp.net, herbert@gondor.apana.org.au,
jolsa@kernel.org, jreuter@yaina.de, Dai.Ngo@oracle.com,
Ondrej Mosnacek, davem@davemloft.net, dlemoal@kernel.org,
trondmy@kernel.org, namhyung@kernel.org,
almaz.alexandrovich@paragon-software.com, miklos@szeredi.hu,
john.johansen@canonical.com, stephen.smalley.work@gmail.com,
nico@fluxnic.net, maciej.fijalkowski@intel.com, Olga Kornievskaia,
amir73il@gmail.com, tom@talpey.com, joseph.qi@linux.alibaba.com,
paul@paul-moore.com, asmadeus@codewreck.org,
alexander.shishkin@linux.intel.com, mark@fasheh.com,
linux_oss@crudebyte.com, alexander.deucher@amd.com,
viro@zeniv.linux.org.uk, willy@infradead.org, ebiggers@kernel.org,
lucien.xin@gmail.com, bharathsm@microsoft.com,
marcel@holtmann.org, sumit.semwal@linaro.org, Eric Paris,
djwong@kernel.org, simona@ffwll.ch, hawk@kernel.org,
mark.rutland@arm.com, james.clark@linaro.org,
john.fastabend@gmail.com, dsterba@suse.com, kuniyu@google.com,
hch@infradead.org, luiz.dentz@gmail.com, daniel@iogearbox.net,
dwmw2@infradead.org, ncardwell@google.com, sprasad@microsoft.com,
marcelo.leitner@gmail.com, edumazet@google.com,
rostedt@goodmis.org, jack@suse.com, mhiramat@kernel.org,
frank.li@vivo.com, alex.aring@gmail.com, luisbg@kernel.org,
ms@dev.tdt.de, jth@kernel.org, jlbec@evilplan.org,
aivazian.tigran@gmail.com, anna@kernel.org, peterz@infradead.org,
tytso@mit.edu, willemb@google.com, eric.snowberg@oracle.com,
johan.hedberg@gmail.com, acme@kernel.org,
ronniesahlberg@gmail.com, jaharkes@cs.cmu.edu, David Howells,
jaegeuk@kernel.org, courmisch@gmail.com, martin@omnibond.com,
christian.koenig@amd.com, jmorris@namei.org,
adilger.kernel@dilger.ca, idryomov@gmail.com, brauner@kernel.org,
Paolo Abeni, glaubitz@physik.fu-berlin.de,
magnus.karlsson@intel.com, airlied@gmail.com, coda@cs.cmu.edu,
casey@schaufler-ca.com, raven@themaw.net, horms@kernel.org,
adrian.hunter@intel.com, kuba@kernel.org, muchun.song@linux.dev,
chao@kernel.org, mathieu.desnoyers@efficios.com,
hubcap@omnibond.com, jlayton@kernel.org, sdf@fomichev.me,
roberto.sassu@huawei.com, Alex Markuze, chengzhihao1@huawei.com,
mikulas@artax.karlin.mff.cuni.cz, ericvh@kernel.org,
salah.triki@gmail.com, osalvador@suse.de,
dmitry.kasatkin@gmail.com, sfrench@samba.org, serge@hallyn.com,
wufan@kernel.org, al@alarsen.net, pc@manguebit.org,
ast@kernel.org, oleg@redhat.com, slava@dubeyko.com,
konishi.ryusuke@gmail.com, lucho@ionkov.net, dsahern@kernel.org,
shaggy@kernel.org, richard@nod.at, marc.dionne@auristor.com,
neil@brown.name, dan.j.williams@intel.com, mkl@pengutronix.de,
david@kernel.org, Ingo Molnar, jack@suse.cz, code@tyhicks.com,
steffen.klassert@secunet.com, naohiro.aota@wdc.com,
zohar@linux.ibm.com, chuck.lever@oracle.com, irogers@google.com
Cc: linux-sctp@vger.kernel.org, ecryptfs@vger.kernel.org,
linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-ext4@vger.kernel.org, autofs@vger.kernel.org,
amd-gfx@lists.freedesktop.org, fsverity@lists.linux.dev,
ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev,
linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-integrity@vger.kernel.org, samba-technical@lists.samba.org,
linux-nilfs@vger.kernel.org, audit@vger.kernel.org,
selinux@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
linux-trace-kernel@vger.kernel.org, v9fs@lists.linux.dev,
linux-xfs@vger.kernel.org, linux-x25@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-bluetooth@vger.kernel.org, nvdimm@lists.linux.dev,
ceph-devel@vger.kernel.org, jfs-discussion@lists.sourceforge.net,
linux-mtd@lists.infradead.org, devel@lists.orangefs.org,
linux-afs@lists.infradead.org, linux-fscrypt@vger.kernel.org,
linux-security-module@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-hams@vger.kernel.org, bpf@vger.kernel.org,
linux-can@vger.kernel.org, linux-nfs@vger.kernel.org,
codalist@coda.cs.cmu.edu, linux-mm@kvack.org,
netfs@lists.linux.dev, linux-perf-users@vger.kernel.org,
dri-devel@lists.freedesktop.org
In-Reply-To: <20260302-iino-u64-v2-76-e5388800dae0@kernel.org>
On Mon, 2026-03-02 at 15:25 -0500, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in ceph with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> fs/ceph/crypto.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ceph/crypto.c b/fs/ceph/crypto.c
> index 718c194ba5d8ce22c6a5d1dd687ec3761263e7e1..64d2407592772ed61fb95b62401db194112f48a8 100644
> --- a/fs/ceph/crypto.c
> +++ b/fs/ceph/crypto.c
> @@ -272,7 +272,7 @@ int ceph_encode_encrypted_dname(struct inode *parent, char *buf, int elen)
> /* To understand the 240 limit, see CEPH_NOHASH_NAME_MAX comments */
> WARN_ON(elen > 240);
> if (dir != parent) // leading _ is already there; append _<inum>
> - elen += 1 + sprintf(p + elen, "_%" PRIino "u", dir->i_ino);
> + elen += 1 + sprintf(p + elen, "_%llu", dir->i_ino);
>
> out:
> kfree(cryptbuf);
> @@ -377,7 +377,7 @@ int ceph_fname_to_usr(const struct ceph_fname *fname, struct fscrypt_str *tname,
> if (!ret && (dir != fname->dir)) {
> char tmp_buf[BASE64_CHARS(NAME_MAX)];
>
> - name_len = snprintf(tmp_buf, sizeof(tmp_buf), "_%.*s_%" PRIino "u",
> + name_len = snprintf(tmp_buf, sizeof(tmp_buf), "_%.*s_%llu",
> oname->len, oname->name, dir->i_ino);
> memcpy(oname->name, tmp_buf, name_len);
> oname->len = name_len;
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Thanks,
Slava.
^ permalink raw reply
* Re: [PATCH v2 068/110] nilfs2: replace PRIino with %llu/%llx format strings
From: Viacheslav Dubeyko @ 2026-03-02 22:38 UTC (permalink / raw)
To: socketcan@hartkopp.net, herbert@gondor.apana.org.au,
jolsa@kernel.org, jreuter@yaina.de, Dai.Ngo@oracle.com,
Ondrej Mosnacek, davem@davemloft.net, dlemoal@kernel.org,
trondmy@kernel.org, namhyung@kernel.org,
almaz.alexandrovich@paragon-software.com, miklos@szeredi.hu,
john.johansen@canonical.com, stephen.smalley.work@gmail.com,
nico@fluxnic.net, maciej.fijalkowski@intel.com, Olga Kornievskaia,
amir73il@gmail.com, tom@talpey.com, joseph.qi@linux.alibaba.com,
paul@paul-moore.com, asmadeus@codewreck.org,
alexander.shishkin@linux.intel.com, mark@fasheh.com,
linux_oss@crudebyte.com, alexander.deucher@amd.com,
viro@zeniv.linux.org.uk, willy@infradead.org, ebiggers@kernel.org,
lucien.xin@gmail.com, bharathsm@microsoft.com,
marcel@holtmann.org, sumit.semwal@linaro.org, Eric Paris,
djwong@kernel.org, simona@ffwll.ch, hawk@kernel.org,
mark.rutland@arm.com, james.clark@linaro.org,
john.fastabend@gmail.com, dsterba@suse.com, kuniyu@google.com,
hch@infradead.org, luiz.dentz@gmail.com, daniel@iogearbox.net,
dwmw2@infradead.org, ncardwell@google.com, sprasad@microsoft.com,
marcelo.leitner@gmail.com, edumazet@google.com,
rostedt@goodmis.org, jack@suse.com, mhiramat@kernel.org,
frank.li@vivo.com, alex.aring@gmail.com, luisbg@kernel.org,
ms@dev.tdt.de, jth@kernel.org, jlbec@evilplan.org,
aivazian.tigran@gmail.com, anna@kernel.org, peterz@infradead.org,
tytso@mit.edu, willemb@google.com, eric.snowberg@oracle.com,
johan.hedberg@gmail.com, acme@kernel.org,
ronniesahlberg@gmail.com, jaharkes@cs.cmu.edu, David Howells,
jaegeuk@kernel.org, courmisch@gmail.com, martin@omnibond.com,
christian.koenig@amd.com, jmorris@namei.org,
adilger.kernel@dilger.ca, idryomov@gmail.com, brauner@kernel.org,
Paolo Abeni, glaubitz@physik.fu-berlin.de,
magnus.karlsson@intel.com, airlied@gmail.com, coda@cs.cmu.edu,
casey@schaufler-ca.com, raven@themaw.net, horms@kernel.org,
adrian.hunter@intel.com, kuba@kernel.org, muchun.song@linux.dev,
chao@kernel.org, mathieu.desnoyers@efficios.com,
hubcap@omnibond.com, jlayton@kernel.org, sdf@fomichev.me,
roberto.sassu@huawei.com, Alex Markuze, chengzhihao1@huawei.com,
mikulas@artax.karlin.mff.cuni.cz, ericvh@kernel.org,
salah.triki@gmail.com, osalvador@suse.de,
dmitry.kasatkin@gmail.com, sfrench@samba.org, serge@hallyn.com,
wufan@kernel.org, al@alarsen.net, pc@manguebit.org,
ast@kernel.org, oleg@redhat.com, slava@dubeyko.com,
konishi.ryusuke@gmail.com, lucho@ionkov.net, dsahern@kernel.org,
shaggy@kernel.org, richard@nod.at, marc.dionne@auristor.com,
neil@brown.name, dan.j.williams@intel.com, mkl@pengutronix.de,
david@kernel.org, Ingo Molnar, jack@suse.cz, code@tyhicks.com,
steffen.klassert@secunet.com, naohiro.aota@wdc.com,
zohar@linux.ibm.com, chuck.lever@oracle.com, irogers@google.com
Cc: linux-sctp@vger.kernel.org, ecryptfs@vger.kernel.org,
linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-ext4@vger.kernel.org, autofs@vger.kernel.org,
amd-gfx@lists.freedesktop.org, fsverity@lists.linux.dev,
ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev,
linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-integrity@vger.kernel.org, samba-technical@lists.samba.org,
linux-nilfs@vger.kernel.org, audit@vger.kernel.org,
selinux@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
linux-trace-kernel@vger.kernel.org, v9fs@lists.linux.dev,
linux-xfs@vger.kernel.org, linux-x25@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-bluetooth@vger.kernel.org, nvdimm@lists.linux.dev,
ceph-devel@vger.kernel.org, jfs-discussion@lists.sourceforge.net,
linux-mtd@lists.infradead.org, devel@lists.orangefs.org,
linux-afs@lists.infradead.org, linux-fscrypt@vger.kernel.org,
linux-security-module@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-hams@vger.kernel.org, bpf@vger.kernel.org,
linux-can@vger.kernel.org, linux-nfs@vger.kernel.org,
codalist@coda.cs.cmu.edu, linux-mm@kvack.org,
netfs@lists.linux.dev, linux-perf-users@vger.kernel.org,
dri-devel@lists.freedesktop.org
In-Reply-To: <20260302-iino-u64-v2-68-e5388800dae0@kernel.org>
On Mon, 2026-03-02 at 15:24 -0500, Jeff Layton wrote:
> Now that i_ino is u64 and the PRIino format macro has been removed,
> replace all uses in nilfs2 with the concrete format strings.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> fs/nilfs2/alloc.c | 10 +++++-----
> fs/nilfs2/bmap.c | 2 +-
> fs/nilfs2/btnode.c | 2 +-
> fs/nilfs2/btree.c | 12 ++++++------
> fs/nilfs2/dir.c | 12 ++++++------
> fs/nilfs2/direct.c | 4 ++--
> fs/nilfs2/gcinode.c | 2 +-
> fs/nilfs2/inode.c | 8 ++++----
> fs/nilfs2/mdt.c | 2 +-
> fs/nilfs2/namei.c | 2 +-
> fs/nilfs2/segment.c | 2 +-
> 11 files changed, 29 insertions(+), 29 deletions(-)
>
> diff --git a/fs/nilfs2/alloc.c b/fs/nilfs2/alloc.c
> index a3c559c86e5a4c63b1c9dd4ca137f24749c3ee87..7b1cd2baefcf21e54f9260845b02c7c95c148c64 100644
> --- a/fs/nilfs2/alloc.c
> +++ b/fs/nilfs2/alloc.c
> @@ -707,7 +707,7 @@ void nilfs_palloc_commit_free_entry(struct inode *inode,
>
> if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap))
> nilfs_warn(inode->i_sb,
> - "%s (ino=%" PRIino "u): entry number %llu already freed",
> + "%s (ino=%llu): entry number %llu already freed",
> __func__, inode->i_ino,
> (unsigned long long)req->pr_entry_nr);
> else
> @@ -748,7 +748,7 @@ void nilfs_palloc_abort_alloc_entry(struct inode *inode,
>
> if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap))
> nilfs_warn(inode->i_sb,
> - "%s (ino=%" PRIino "u): entry number %llu already freed",
> + "%s (ino=%llu): entry number %llu already freed",
> __func__, inode->i_ino,
> (unsigned long long)req->pr_entry_nr);
> else
> @@ -861,7 +861,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
> if (!nilfs_clear_bit_atomic(lock, group_offset,
> bitmap)) {
> nilfs_warn(inode->i_sb,
> - "%s (ino=%" PRIino "u): entry number %llu already freed",
> + "%s (ino=%llu): entry number %llu already freed",
> __func__, inode->i_ino,
> (unsigned long long)entry_nrs[j]);
> } else {
> @@ -906,7 +906,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
> last_nrs[k]);
> if (ret && ret != -ENOENT)
> nilfs_warn(inode->i_sb,
> - "error %d deleting block that object (entry=%llu, ino=%" PRIino "u) belongs to",
> + "error %d deleting block that object (entry=%llu, ino=%llu) belongs to",
> ret, (unsigned long long)last_nrs[k],
> inode->i_ino);
> }
> @@ -923,7 +923,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
> ret = nilfs_palloc_delete_bitmap_block(inode, group);
> if (ret && ret != -ENOENT)
> nilfs_warn(inode->i_sb,
> - "error %d deleting bitmap block of group=%lu, ino=%" PRIino "u",
> + "error %d deleting bitmap block of group=%lu, ino=%llu",
> ret, group, inode->i_ino);
> }
> }
> diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c
> index e12979bac3c3ee5eb7fcc2bf156fe6e48fc65a7d..824f2bd91c167965ec3a660202b6e6c5f1fe007e 100644
> --- a/fs/nilfs2/bmap.c
> +++ b/fs/nilfs2/bmap.c
> @@ -33,7 +33,7 @@ static int nilfs_bmap_convert_error(struct nilfs_bmap *bmap,
>
> if (err == -EINVAL) {
> __nilfs_error(inode->i_sb, fname,
> - "broken bmap (inode number=%" PRIino "u)", inode->i_ino);
> + "broken bmap (inode number=%llu)", inode->i_ino);
> err = -EIO;
> }
> return err;
> diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c
> index 3d64f3a9223e5601dc2332ae6e1007edd5b4827b..2e553d698d0f3980de98fced415dfd819ddbca0a 100644
> --- a/fs/nilfs2/btnode.c
> +++ b/fs/nilfs2/btnode.c
> @@ -64,7 +64,7 @@ nilfs_btnode_create_block(struct address_space *btnc, __u64 blocknr)
> * clearing of an abandoned b-tree node is missing somewhere).
> */
> nilfs_error(inode->i_sb,
> - "state inconsistency probably due to duplicate use of b-tree node block address %llu (ino=%" PRIino "u)",
> + "state inconsistency probably due to duplicate use of b-tree node block address %llu (ino=%llu)",
> (unsigned long long)blocknr, inode->i_ino);
> goto failed;
> }
> diff --git a/fs/nilfs2/btree.c b/fs/nilfs2/btree.c
> index 57163e991fbc49e2bfba2fa543f1b8dbd77718f4..3c03f5a741d144d22d1ffb5acf43a035e88c00dc 100644
> --- a/fs/nilfs2/btree.c
> +++ b/fs/nilfs2/btree.c
> @@ -353,7 +353,7 @@ static int nilfs_btree_node_broken(const struct nilfs_btree_node *node,
> nchildren <= 0 ||
> nchildren > NILFS_BTREE_NODE_NCHILDREN_MAX(size))) {
> nilfs_crit(inode->i_sb,
> - "bad btree node (ino=%" PRIino "u, blocknr=%llu): level = %d, flags = 0x%x, nchildren = %d",
> + "bad btree node (ino=%llu, blocknr=%llu): level = %d, flags = 0x%x, nchildren = %d",
> inode->i_ino, (unsigned long long)blocknr, level,
> flags, nchildren);
> ret = 1;
> @@ -384,7 +384,7 @@ static int nilfs_btree_root_broken(const struct nilfs_btree_node *node,
> nchildren > NILFS_BTREE_ROOT_NCHILDREN_MAX ||
> (nchildren == 0 && level > NILFS_BTREE_LEVEL_NODE_MIN))) {
> nilfs_crit(inode->i_sb,
> - "bad btree root (ino=%" PRIino "u): level = %d, flags = 0x%x, nchildren = %d",
> + "bad btree root (ino=%llu): level = %d, flags = 0x%x, nchildren = %d",
> inode->i_ino, level, flags, nchildren);
> ret = 1;
> }
> @@ -453,7 +453,7 @@ static int nilfs_btree_bad_node(const struct nilfs_bmap *btree,
> if (unlikely(nilfs_btree_node_get_level(node) != level)) {
> dump_stack();
> nilfs_crit(btree->b_inode->i_sb,
> - "btree level mismatch (ino=%" PRIino "u): %d != %d",
> + "btree level mismatch (ino=%llu): %d != %d",
> btree->b_inode->i_ino,
> nilfs_btree_node_get_level(node), level);
> return 1;
> @@ -521,7 +521,7 @@ static int __nilfs_btree_get_block(const struct nilfs_bmap *btree, __u64 ptr,
> out_no_wait:
> if (!buffer_uptodate(bh)) {
> nilfs_err(btree->b_inode->i_sb,
> - "I/O error reading b-tree node block (ino=%" PRIino "u, blocknr=%llu)",
> + "I/O error reading b-tree node block (ino=%llu, blocknr=%llu)",
> btree->b_inode->i_ino, (unsigned long long)ptr);
> brelse(bh);
> return -EIO;
> @@ -2104,7 +2104,7 @@ static int nilfs_btree_propagate(struct nilfs_bmap *btree,
> if (ret < 0) {
> if (unlikely(ret == -ENOENT)) {
> nilfs_crit(btree->b_inode->i_sb,
> - "writing node/leaf block does not appear in b-tree (ino=%" PRIino "u) at key=%llu, level=%d",
> + "writing node/leaf block does not appear in b-tree (ino=%llu) at key=%llu, level=%d",
> btree->b_inode->i_ino,
> (unsigned long long)key, level);
> ret = -EINVAL;
> @@ -2146,7 +2146,7 @@ static void nilfs_btree_add_dirty_buffer(struct nilfs_bmap *btree,
> level >= NILFS_BTREE_LEVEL_MAX) {
> dump_stack();
> nilfs_warn(btree->b_inode->i_sb,
> - "invalid btree level: %d (key=%llu, ino=%" PRIino "u, blocknr=%llu)",
> + "invalid btree level: %d (key=%llu, ino=%llu, blocknr=%llu)",
> level, (unsigned long long)key,
> btree->b_inode->i_ino,
> (unsigned long long)bh->b_blocknr);
> diff --git a/fs/nilfs2/dir.c b/fs/nilfs2/dir.c
> index b182da076c58c4813145bc3e501a1e9a188bce85..3653db5cdb65137d1e660bb509c14ec4cbc8840b 100644
> --- a/fs/nilfs2/dir.c
> +++ b/fs/nilfs2/dir.c
> @@ -150,7 +150,7 @@ static bool nilfs_check_folio(struct folio *folio, char *kaddr)
>
> Ebadsize:
> nilfs_error(sb,
> - "size of directory #%" PRIino "u is not a multiple of chunk size",
> + "size of directory #%llu is not a multiple of chunk size",
> dir->i_ino);
> goto fail;
> Eshort:
> @@ -169,7 +169,7 @@ static bool nilfs_check_folio(struct folio *folio, char *kaddr)
> error = "disallowed inode number";
> bad_entry:
> nilfs_error(sb,
> - "bad entry in directory #%" PRIino "u: %s - offset=%lu, inode=%lu, rec_len=%zd, name_len=%d",
> + "bad entry in directory #%llu: %s - offset=%lu, inode=%lu, rec_len=%zd, name_len=%d",
> dir->i_ino, error, (folio->index << PAGE_SHIFT) + offs,
> (unsigned long)le64_to_cpu(p->inode),
> rec_len, p->name_len);
> @@ -177,7 +177,7 @@ static bool nilfs_check_folio(struct folio *folio, char *kaddr)
> Eend:
> p = (struct nilfs_dir_entry *)(kaddr + offs);
> nilfs_error(sb,
> - "entry in directory #%" PRIino "u spans the page boundary offset=%lu, inode=%lu",
> + "entry in directory #%llu spans the page boundary offset=%lu, inode=%lu",
> dir->i_ino, (folio->index << PAGE_SHIFT) + offs,
> (unsigned long)le64_to_cpu(p->inode));
> fail:
> @@ -251,7 +251,7 @@ static int nilfs_readdir(struct file *file, struct dir_context *ctx)
>
> kaddr = nilfs_get_folio(inode, n, &folio);
> if (IS_ERR(kaddr)) {
> - nilfs_error(sb, "bad page in #%" PRIino "u", inode->i_ino);
> + nilfs_error(sb, "bad page in #%llu", inode->i_ino);
> ctx->pos += PAGE_SIZE - offset;
> return -EIO;
> }
> @@ -336,7 +336,7 @@ struct nilfs_dir_entry *nilfs_find_entry(struct inode *dir,
> /* next folio is past the blocks we've got */
> if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) {
> nilfs_error(dir->i_sb,
> - "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;
> @@ -382,7 +382,7 @@ struct nilfs_dir_entry *nilfs_dotdot(struct inode *dir, struct folio **foliop)
> return next_de;
>
> fail:
> - nilfs_error(dir->i_sb, "directory #%" PRIino "u %s", dir->i_ino, msg);
> + nilfs_error(dir->i_sb, "directory #%llu %s", dir->i_ino, msg);
> folio_release_kmap(folio, de);
> return NULL;
> }
> diff --git a/fs/nilfs2/direct.c b/fs/nilfs2/direct.c
> index 1084d4d586e078ab6825167976dd2a71d52bc8aa..8bd0b1374e25f8ff510f3b36dbde2acc01aafc1e 100644
> --- a/fs/nilfs2/direct.c
> +++ b/fs/nilfs2/direct.c
> @@ -338,7 +338,7 @@ static int nilfs_direct_assign(struct nilfs_bmap *bmap,
> key = nilfs_bmap_data_get_key(bmap, *bh);
> if (unlikely(key > NILFS_DIRECT_KEY_MAX)) {
> nilfs_crit(bmap->b_inode->i_sb,
> - "%s (ino=%" PRIino "u): invalid key: %llu",
> + "%s (ino=%llu): invalid key: %llu",
> __func__,
> bmap->b_inode->i_ino, (unsigned long long)key);
> return -EINVAL;
> @@ -346,7 +346,7 @@ static int nilfs_direct_assign(struct nilfs_bmap *bmap,
> ptr = nilfs_direct_get_ptr(bmap, key);
> if (unlikely(ptr == NILFS_BMAP_INVALID_PTR)) {
> nilfs_crit(bmap->b_inode->i_sb,
> - "%s (ino=%" PRIino "u): invalid pointer: %llu",
> + "%s (ino=%llu): invalid pointer: %llu",
> __func__,
> bmap->b_inode->i_ino, (unsigned long long)ptr);
> return -EINVAL;
> diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c
> index 714962d010da4a23e9b5f40de8aaaca8b95a74da..62d4c1b787e95c961a360a4214d621d564ad8b4c 100644
> --- a/fs/nilfs2/gcinode.c
> +++ b/fs/nilfs2/gcinode.c
> @@ -137,7 +137,7 @@ int nilfs_gccache_wait_and_mark_dirty(struct buffer_head *bh)
> struct inode *inode = bh->b_folio->mapping->host;
>
> nilfs_err(inode->i_sb,
> - "I/O error reading %s block for GC (ino=%" PRIino "u, vblocknr=%llu)",
> + "I/O error reading %s block for GC (ino=%llu, vblocknr=%llu)",
> buffer_nilfs_node(bh) ? "node" : "data",
> inode->i_ino, (unsigned long long)bh->b_blocknr);
> return -EIO;
> diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c
> index 0bc1c5141ec596b3c31e7d18e4ba3541bf618406..51f7e125a311b868860e3e111700d49d4cb98fa6 100644
> --- a/fs/nilfs2/inode.c
> +++ b/fs/nilfs2/inode.c
> @@ -108,7 +108,7 @@ int nilfs_get_block(struct inode *inode, sector_t blkoff,
> * be locked in this case.
> */
> nilfs_warn(inode->i_sb,
> - "%s (ino=%" PRIino "u): a race condition while inserting a data block at offset=%llu",
> + "%s (ino=%llu): a race condition while inserting a data block at offset=%llu",
> __func__, inode->i_ino,
> (unsigned long long)blkoff);
> err = -EAGAIN;
> @@ -789,7 +789,7 @@ static void nilfs_truncate_bmap(struct nilfs_inode_info *ii,
> goto repeat;
>
> failed:
> - nilfs_warn(ii->vfs_inode.i_sb, "error %d truncating bmap (ino=%" PRIino "u)",
> + nilfs_warn(ii->vfs_inode.i_sb, "error %d truncating bmap (ino=%llu)",
> ret, ii->vfs_inode.i_ino);
> }
>
> @@ -1026,7 +1026,7 @@ int nilfs_set_file_dirty(struct inode *inode, unsigned int nr_dirty)
> * this inode.
> */
> nilfs_warn(inode->i_sb,
> - "cannot set file dirty (ino=%" PRIino "u): the file is being freed",
> + "cannot set file dirty (ino=%llu): the file is being freed",
> inode->i_ino);
> spin_unlock(&nilfs->ns_inode_lock);
> return -EINVAL; /*
> @@ -1057,7 +1057,7 @@ int __nilfs_mark_inode_dirty(struct inode *inode, int flags)
> err = nilfs_load_inode_block(inode, &ibh);
> if (unlikely(err)) {
> nilfs_warn(inode->i_sb,
> - "cannot mark inode dirty (ino=%" PRIino "u): error %d loading inode block",
> + "cannot mark inode dirty (ino=%llu): error %d loading inode block",
> inode->i_ino, err);
> return err;
> }
> diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c
> index 8629c72b62db33217d4747124885b6f727f182be..09adb40c65e505d92012a3d2f5fe8a5696e10056 100644
> --- a/fs/nilfs2/mdt.c
> +++ b/fs/nilfs2/mdt.c
> @@ -203,7 +203,7 @@ static int nilfs_mdt_read_block(struct inode *inode, unsigned long block,
> err = -EIO;
> if (!buffer_uptodate(first_bh)) {
> nilfs_err(inode->i_sb,
> - "I/O error reading meta-data file (ino=%" PRIino "u, block-offset=%lu)",
> + "I/O error reading meta-data file (ino=%llu, block-offset=%lu)",
> inode->i_ino, block);
> goto failed_bh;
> }
> diff --git a/fs/nilfs2/namei.c b/fs/nilfs2/namei.c
> index 29edb84a0663caa4b29fa488c0495fc53358ca00..40ac679ec56e400b1df98e9be6fe9ca338a9ba51 100644
> --- a/fs/nilfs2/namei.c
> +++ b/fs/nilfs2/namei.c
> @@ -292,7 +292,7 @@ static int nilfs_do_unlink(struct inode *dir, struct dentry *dentry)
>
> if (!inode->i_nlink) {
> nilfs_warn(inode->i_sb,
> - "deleting nonexistent file (ino=%" PRIino "u), %d",
> + "deleting nonexistent file (ino=%llu), %d",
> inode->i_ino, inode->i_nlink);
> set_nlink(inode, 1);
> }
> diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
> index 9a8bc3fa35ce9b447abbc2fb56cbd2b0cc5f76de..4b1bf559f3524b1cc3965dae9fd3e5745718569d 100644
> --- a/fs/nilfs2/segment.c
> +++ b/fs/nilfs2/segment.c
> @@ -2024,7 +2024,7 @@ static int nilfs_segctor_collect_dirty_files(struct nilfs_sc_info *sci,
> ifile, ii->vfs_inode.i_ino, &ibh);
> if (unlikely(err)) {
> nilfs_warn(sci->sc_super,
> - "log writer: error %d getting inode block (ino=%" PRIino "u)",
> + "log writer: error %d getting inode block (ino=%llu)",
> err, ii->vfs_inode.i_ino);
> return err;
> }
Reviewed-by: Viacheslav Dubeyko <slava@dubeyko.com>
Thanks,
Slava.
^ permalink raw reply
* Re: [PATCH v4 4/5] mm: rename zone->lock to zone->_lock
From: Andrew Morton @ 2026-03-02 22:37 UTC (permalink / raw)
To: Vlastimil Babka (SUSE)
Cc: Dmitry Ilvokhin, David Hildenbrand, Lorenzo Stoakes,
Liam R. Howlett, Vlastimil Babka, Mike Rapoport,
Suren Baghdasaryan, Michal Hocko, Axel Rasmussen, Yuanchu Xie,
Wei Xu, Steven Rostedt, Masami Hiramatsu, Mathieu Desnoyers,
Rafael J. Wysocki, Pavel Machek, Len Brown, Brendan Jackman,
Johannes Weiner, Zi Yan, Oscar Salvador, Qi Zheng, Shakeel Butt,
linux-kernel, linux-mm, linux-trace-kernel, linux-pm,
"linux-cxl, SeongJae Park
In-Reply-To: <0f340324-502b-4719-b3e7-c7ccd4378385@kernel.org>
On Mon, 2 Mar 2026 15:10:03 +0100 "Vlastimil Babka (SUSE)" <vbabka@kernel.org> wrote:
> On 2/27/26 17:00, Dmitry Ilvokhin wrote:
> > This intentionally breaks direct users of zone->lock at compile time so
> > all call sites are converted to the zone lock wrappers. Without the
> > rename, present and future out-of-tree code could continue using
> > spin_lock(&zone->lock) and bypass the wrappers and tracing
> > infrastructure.
> >
> > No functional change intended.
> >
> > Suggested-by: Andrew Morton <akpm@linux-foundation.org>
> > Signed-off-by: Dmitry Ilvokhin <d@ilvokhin.com>
> > Acked-by: Shakeel Butt <shakeel.butt@linux.dev>
> > Acked-by: SeongJae Park <sj@kernel.org>
>
> I see some more instances of 'zone->lock' in comments in
> include/linux/mmzone.h and under Documentation/ but otherwise LGTM.
>
I fixed (most of) that in the previous version but my fix was lost.
include/linux/mmzone.h | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
--- a/include/linux/mmzone.h~mm-rename-zone-lock-to-zone-_lock-fix
+++ a/include/linux/mmzone.h
@@ -1037,12 +1037,12 @@ struct zone {
* Locking rules:
*
* zone_start_pfn and spanned_pages are protected by span_seqlock.
- * It is a seqlock because it has to be read outside of zone->lock,
+ * It is a seqlock because it has to be read outside of zone_lock,
* and it is done in the main allocator path. But, it is written
* quite infrequently.
*
- * The span_seq lock is declared along with zone->lock because it is
- * frequently read in proximity to zone->lock. It's good to
+ * The span_seq lock is declared along with zone_lock because it is
+ * frequently read in proximity to zone_lock. It's good to
* give them a chance of being in the same cacheline.
*
* Write access to present_pages at runtime should be protected by
@@ -1065,7 +1065,7 @@ struct zone {
/*
* Number of isolated pageblock. It is used to solve incorrect
* freepage counting problem due to racy retrieving migratetype
- * of pageblock. Protected by zone->lock.
+ * of pageblock. Protected by zone_lock.
*/
unsigned long nr_isolate_pageblock;
#endif
@@ -1502,7 +1502,7 @@ typedef struct pglist_data {
* manipulate node_size_lock without checking for CONFIG_MEMORY_HOTPLUG
* or CONFIG_DEFERRED_STRUCT_PAGE_INIT.
*
- * Nests above zone->lock and zone->span_seqlock
+ * Nests above zone_lock and zone->span_seqlock
*/
spinlock_t node_size_lock;
#endif
_
^ permalink raw reply
* Re: [PATCH v2 032/110] hfsplus: use PRIino format for i_ino
From: Viacheslav Dubeyko @ 2026-03-02 22:36 UTC (permalink / raw)
To: socketcan@hartkopp.net, herbert@gondor.apana.org.au,
jolsa@kernel.org, jreuter@yaina.de, Dai.Ngo@oracle.com,
Ondrej Mosnacek, davem@davemloft.net, dlemoal@kernel.org,
trondmy@kernel.org, namhyung@kernel.org,
almaz.alexandrovich@paragon-software.com, miklos@szeredi.hu,
john.johansen@canonical.com, stephen.smalley.work@gmail.com,
nico@fluxnic.net, maciej.fijalkowski@intel.com, Olga Kornievskaia,
amir73il@gmail.com, tom@talpey.com, joseph.qi@linux.alibaba.com,
paul@paul-moore.com, asmadeus@codewreck.org,
alexander.shishkin@linux.intel.com, mark@fasheh.com,
linux_oss@crudebyte.com, alexander.deucher@amd.com,
viro@zeniv.linux.org.uk, willy@infradead.org, ebiggers@kernel.org,
lucien.xin@gmail.com, bharathsm@microsoft.com,
marcel@holtmann.org, sumit.semwal@linaro.org, Eric Paris,
djwong@kernel.org, simona@ffwll.ch, hawk@kernel.org,
mark.rutland@arm.com, james.clark@linaro.org,
john.fastabend@gmail.com, dsterba@suse.com, kuniyu@google.com,
hch@infradead.org, luiz.dentz@gmail.com, daniel@iogearbox.net,
dwmw2@infradead.org, ncardwell@google.com, sprasad@microsoft.com,
marcelo.leitner@gmail.com, edumazet@google.com,
rostedt@goodmis.org, jack@suse.com, mhiramat@kernel.org,
frank.li@vivo.com, alex.aring@gmail.com, luisbg@kernel.org,
ms@dev.tdt.de, jth@kernel.org, jlbec@evilplan.org,
aivazian.tigran@gmail.com, anna@kernel.org, peterz@infradead.org,
tytso@mit.edu, willemb@google.com, eric.snowberg@oracle.com,
johan.hedberg@gmail.com, acme@kernel.org,
ronniesahlberg@gmail.com, jaharkes@cs.cmu.edu, David Howells,
jaegeuk@kernel.org, courmisch@gmail.com, martin@omnibond.com,
christian.koenig@amd.com, jmorris@namei.org,
adilger.kernel@dilger.ca, idryomov@gmail.com, brauner@kernel.org,
Paolo Abeni, glaubitz@physik.fu-berlin.de,
magnus.karlsson@intel.com, airlied@gmail.com, coda@cs.cmu.edu,
casey@schaufler-ca.com, raven@themaw.net, horms@kernel.org,
adrian.hunter@intel.com, kuba@kernel.org, muchun.song@linux.dev,
chao@kernel.org, mathieu.desnoyers@efficios.com,
hubcap@omnibond.com, jlayton@kernel.org, sdf@fomichev.me,
roberto.sassu@huawei.com, Alex Markuze, chengzhihao1@huawei.com,
mikulas@artax.karlin.mff.cuni.cz, ericvh@kernel.org,
salah.triki@gmail.com, osalvador@suse.de,
dmitry.kasatkin@gmail.com, sfrench@samba.org, serge@hallyn.com,
wufan@kernel.org, al@alarsen.net, pc@manguebit.org,
ast@kernel.org, oleg@redhat.com, slava@dubeyko.com,
konishi.ryusuke@gmail.com, lucho@ionkov.net, dsahern@kernel.org,
shaggy@kernel.org, richard@nod.at, marc.dionne@auristor.com,
neil@brown.name, dan.j.williams@intel.com, mkl@pengutronix.de,
david@kernel.org, Ingo Molnar, jack@suse.cz, code@tyhicks.com,
steffen.klassert@secunet.com, naohiro.aota@wdc.com,
zohar@linux.ibm.com, chuck.lever@oracle.com, irogers@google.com
Cc: linux-sctp@vger.kernel.org, ecryptfs@vger.kernel.org,
linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-ext4@vger.kernel.org, autofs@vger.kernel.org,
amd-gfx@lists.freedesktop.org, fsverity@lists.linux.dev,
ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev,
linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-integrity@vger.kernel.org, samba-technical@lists.samba.org,
linux-nilfs@vger.kernel.org, audit@vger.kernel.org,
selinux@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
linux-trace-kernel@vger.kernel.org, v9fs@lists.linux.dev,
linux-xfs@vger.kernel.org, linux-x25@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-bluetooth@vger.kernel.org, nvdimm@lists.linux.dev,
ceph-devel@vger.kernel.org, jfs-discussion@lists.sourceforge.net,
linux-mtd@lists.infradead.org, devel@lists.orangefs.org,
linux-afs@lists.infradead.org, linux-fscrypt@vger.kernel.org,
linux-security-module@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-hams@vger.kernel.org, bpf@vger.kernel.org,
linux-can@vger.kernel.org, linux-nfs@vger.kernel.org,
codalist@coda.cs.cmu.edu, linux-mm@kvack.org,
netfs@lists.linux.dev, linux-perf-users@vger.kernel.org,
dri-devel@lists.freedesktop.org
In-Reply-To: <20260302-iino-u64-v2-32-e5388800dae0@kernel.org>
On Mon, 2026-03-02 at 15:24 -0500, Jeff Layton wrote:
> Convert hfsplus i_ino format strings to use the PRIino format
> macro in preparation for the widening of i_ino via kino_t.
>
> Also correct signed format specifiers to unsigned, since inode
> numbers are unsigned values.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> fs/hfsplus/attributes.c | 10 +++++-----
> fs/hfsplus/catalog.c | 2 +-
> fs/hfsplus/dir.c | 6 +++---
> fs/hfsplus/extents.c | 6 +++---
> fs/hfsplus/inode.c | 8 ++++----
> fs/hfsplus/super.c | 6 +++---
> fs/hfsplus/xattr.c | 10 +++++-----
> 7 files changed, 24 insertions(+), 24 deletions(-)
>
> diff --git a/fs/hfsplus/attributes.c b/fs/hfsplus/attributes.c
> index 4b79cd606276e31c20fa18ef3a099596f50e8a0f..d0b3f58166a057c0a5bf2e41cf6fc839798c0ded 100644
> --- a/fs/hfsplus/attributes.c
> +++ b/fs/hfsplus/attributes.c
> @@ -203,7 +203,7 @@ int hfsplus_create_attr_nolock(struct inode *inode, const char *name,
> int entry_size;
> int err;
>
> - hfs_dbg("name %s, ino %ld\n",
> + hfs_dbg("name %s, ino %" PRIino "u\n",
> name ? name : NULL, inode->i_ino);
>
> if (name) {
> @@ -255,7 +255,7 @@ int hfsplus_create_attr(struct inode *inode,
> hfsplus_attr_entry *entry_ptr;
> int err;
>
> - hfs_dbg("name %s, ino %ld\n",
> + hfs_dbg("name %s, ino %" PRIino "u\n",
> name ? name : NULL, inode->i_ino);
>
> if (!HFSPLUS_SB(sb)->attr_tree) {
> @@ -337,7 +337,7 @@ int hfsplus_delete_attr_nolock(struct inode *inode, const char *name,
> struct super_block *sb = inode->i_sb;
> int err;
>
> - hfs_dbg("name %s, ino %ld\n",
> + hfs_dbg("name %s, ino %" PRIino "u\n",
> name ? name : NULL, inode->i_ino);
>
> if (name) {
> @@ -367,7 +367,7 @@ int hfsplus_delete_attr(struct inode *inode, const char *name)
> struct super_block *sb = inode->i_sb;
> struct hfs_find_data fd;
>
> - hfs_dbg("name %s, ino %ld\n",
> + hfs_dbg("name %s, ino %" PRIino "u\n",
> name ? name : NULL, inode->i_ino);
>
> if (!HFSPLUS_SB(sb)->attr_tree) {
> @@ -436,7 +436,7 @@ int hfsplus_replace_attr(struct inode *inode,
> hfsplus_attr_entry *entry_ptr;
> int err = 0;
>
> - hfs_dbg("name %s, ino %ld\n",
> + hfs_dbg("name %s, ino %" PRIino "u\n",
> name ? name : NULL, inode->i_ino);
>
> if (!HFSPLUS_SB(sb)->attr_tree) {
> diff --git a/fs/hfsplus/catalog.c b/fs/hfsplus/catalog.c
> index 02c1eee4a4b86059ceaab7a7c68ab65adba6fa26..d422f117c60dee6fd8ece0d01d4ce66e04421e4a 100644
> --- a/fs/hfsplus/catalog.c
> +++ b/fs/hfsplus/catalog.c
> @@ -441,7 +441,7 @@ int hfsplus_rename_cat(u32 cnid,
> int entry_size, type;
> int err;
>
> - hfs_dbg("cnid %u - ino %lu, name %s - ino %lu, name %s\n",
> + hfs_dbg("cnid %u - ino %" PRIino "u, name %s - ino %" PRIino "u, name %s\n",
> cnid, src_dir->i_ino, src_name->name,
> dst_dir->i_ino, dst_name->name);
> err = hfs_find_init(HFSPLUS_SB(sb)->cat_tree, &src_fd);
> diff --git a/fs/hfsplus/dir.c b/fs/hfsplus/dir.c
> index d559bf8625f853d50fd316d157cf8afe22069565..e701b11437f09172f88d68b4e4f5998591572b38 100644
> --- a/fs/hfsplus/dir.c
> +++ b/fs/hfsplus/dir.c
> @@ -313,7 +313,7 @@ static int hfsplus_link(struct dentry *src_dentry, struct inode *dst_dir,
> if (!S_ISREG(inode->i_mode))
> return -EPERM;
>
> - hfs_dbg("src_dir->i_ino %lu, dst_dir->i_ino %lu, inode->i_ino %lu\n",
> + hfs_dbg("src_dir->i_ino %" PRIino "u, dst_dir->i_ino %" PRIino "u, inode->i_ino %" PRIino "u\n",
> src_dir->i_ino, dst_dir->i_ino, inode->i_ino);
>
> mutex_lock(&sbi->vh_mutex);
> @@ -385,7 +385,7 @@ static int hfsplus_unlink(struct inode *dir, struct dentry *dentry)
> if (HFSPLUS_IS_RSRC(inode))
> return -EPERM;
>
> - hfs_dbg("dir->i_ino %lu, inode->i_ino %lu\n",
> + hfs_dbg("dir->i_ino %" PRIino "u, inode->i_ino %" PRIino "u\n",
> dir->i_ino, inode->i_ino);
>
> mutex_lock(&sbi->vh_mutex);
> @@ -393,7 +393,7 @@ static int hfsplus_unlink(struct inode *dir, struct dentry *dentry)
> if (inode->i_ino == cnid &&
> atomic_read(&HFSPLUS_I(inode)->opencnt)) {
> str.name = name;
> - str.len = sprintf(name, "temp%lu", inode->i_ino);
> + str.len = sprintf(name, "temp%" PRIino "u", inode->i_ino);
> res = hfsplus_rename_cat(inode->i_ino,
> dir, &dentry->d_name,
> sbi->hidden_dir, &str);
> diff --git a/fs/hfsplus/extents.c b/fs/hfsplus/extents.c
> index 8e886514d27f1e5d4d94be75142f197669e62234..1dbfdf44f954f2768852678d1e386a91758848f9 100644
> --- a/fs/hfsplus/extents.c
> +++ b/fs/hfsplus/extents.c
> @@ -275,7 +275,7 @@ int hfsplus_get_block(struct inode *inode, sector_t iblock,
> mutex_unlock(&hip->extents_lock);
>
> done:
> - hfs_dbg("ino %lu, iblock %llu - dblock %u\n",
> + hfs_dbg("ino %" PRIino "u, iblock %llu - dblock %u\n",
> inode->i_ino, (long long)iblock, dblock);
>
> mask = (1 << sbi->fs_shift) - 1;
> @@ -476,7 +476,7 @@ int hfsplus_file_extend(struct inode *inode, bool zeroout)
> goto out;
> }
>
> - hfs_dbg("ino %lu, start %u, len %u\n", inode->i_ino, start, len);
> + hfs_dbg("ino %" PRIino "u, start %u, len %u\n", inode->i_ino, start, len);
>
> if (hip->alloc_blocks <= hip->first_blocks) {
> if (!hip->first_blocks) {
> @@ -545,7 +545,7 @@ void hfsplus_file_truncate(struct inode *inode)
> u32 alloc_cnt, blk_cnt, start;
> int res;
>
> - hfs_dbg("ino %lu, phys_size %llu -> i_size %llu\n",
> + hfs_dbg("ino %" PRIino "u, phys_size %llu -> i_size %llu\n",
> inode->i_ino, (long long)hip->phys_size, inode->i_size);
>
> if (inode->i_size > hip->phys_size) {
> diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c
> index 922ff41df042a83d47364f2d941c45dabda29afb..f61397db976e8b15fa186c3b31af71e55f9e26a6 100644
> --- a/fs/hfsplus/inode.c
> +++ b/fs/hfsplus/inode.c
> @@ -230,7 +230,7 @@ static int hfsplus_get_perms(struct inode *inode,
> inode->i_flags &= ~S_APPEND;
> return 0;
> bad_type:
> - pr_err("invalid file type 0%04o for inode %lu\n", mode, inode->i_ino);
> + pr_err("invalid file type 0%04o for inode %" PRIino "u\n", mode, inode->i_ino);
> return -EIO;
> }
>
> @@ -328,7 +328,7 @@ int hfsplus_file_fsync(struct file *file, loff_t start, loff_t end,
> struct hfsplus_vh *vhdr = sbi->s_vhdr;
> int error = 0, error2;
>
> - hfs_dbg("inode->i_ino %lu, start %llu, end %llu\n",
> + hfs_dbg("inode->i_ino %" PRIino "u, start %llu, end %llu\n",
> inode->i_ino, start, end);
>
> error = file_write_and_wait_range(file, start, end);
> @@ -639,7 +639,7 @@ int hfsplus_cat_write_inode(struct inode *inode)
> hfsplus_cat_entry entry;
> int res = 0;
>
> - hfs_dbg("inode->i_ino %lu\n", inode->i_ino);
> + hfs_dbg("inode->i_ino %" PRIino "u\n", inode->i_ino);
>
> if (HFSPLUS_IS_RSRC(inode))
> main_inode = HFSPLUS_I(inode)->rsrc_inode;
> @@ -716,7 +716,7 @@ int hfsplus_cat_write_inode(struct inode *inode)
> if (!res) {
> res = hfs_btree_write(tree);
> if (res) {
> - pr_err("b-tree write err: %d, ino %lu\n",
> + pr_err("b-tree write err: %d, ino %" PRIino "u\n",
> res, inode->i_ino);
> }
> }
> diff --git a/fs/hfsplus/super.c b/fs/hfsplus/super.c
> index 7229a8ae89f9469109b1c3a317ee9b7705a83f8b..b76865e2eac5260b681fc46b297f1665f1bc10da 100644
> --- a/fs/hfsplus/super.c
> +++ b/fs/hfsplus/super.c
> @@ -156,7 +156,7 @@ static int hfsplus_system_write_inode(struct inode *inode)
> int err = hfs_btree_write(tree);
>
> if (err) {
> - pr_err("b-tree write err: %d, ino %lu\n",
> + pr_err("b-tree write err: %d, ino %" PRIino "u\n",
> err, inode->i_ino);
> return err;
> }
> @@ -169,7 +169,7 @@ static int hfsplus_write_inode(struct inode *inode,
> {
> int err;
>
> - hfs_dbg("ino %lu\n", inode->i_ino);
> + hfs_dbg("ino %" PRIino "u\n", inode->i_ino);
>
> err = hfsplus_ext_write_extent(inode);
> if (err)
> @@ -184,7 +184,7 @@ static int hfsplus_write_inode(struct inode *inode,
>
> static void hfsplus_evict_inode(struct inode *inode)
> {
> - hfs_dbg("ino %lu\n", inode->i_ino);
> + hfs_dbg("ino %" PRIino "u\n", inode->i_ino);
> truncate_inode_pages_final(&inode->i_data);
> clear_inode(inode);
> if (HFSPLUS_IS_RSRC(inode)) {
> diff --git a/fs/hfsplus/xattr.c b/fs/hfsplus/xattr.c
> index 9904944cbd54e3d326591fa65a5ed678f38ca583..ef9121843482e81961fa541c53c906ab04d6fc33 100644
> --- a/fs/hfsplus/xattr.c
> +++ b/fs/hfsplus/xattr.c
> @@ -277,7 +277,7 @@ int __hfsplus_setxattr(struct inode *inode, const char *name,
> u16 folder_finderinfo_len = sizeof(DInfo) + sizeof(DXInfo);
> u16 file_finderinfo_len = sizeof(FInfo) + sizeof(FXInfo);
>
> - hfs_dbg("ino %lu, name %s, value %p, size %zu\n",
> + hfs_dbg("ino %" PRIino "u, name %s, value %p, size %zu\n",
> inode->i_ino, name ? name : NULL,
> value, size);
>
> @@ -447,7 +447,7 @@ int hfsplus_setxattr(struct inode *inode, const char *name,
> NLS_MAX_CHARSET_SIZE * HFSPLUS_ATTR_MAX_STRLEN + 1;
> int res;
>
> - hfs_dbg("ino %lu, name %s, prefix %s, prefixlen %zu, "
> + hfs_dbg("ino %" PRIino "u, name %s, prefix %s, prefixlen %zu, "
> "value %p, size %zu\n",
> inode->i_ino, name ? name : NULL,
> prefix ? prefix : NULL, prefixlen,
> @@ -607,7 +607,7 @@ ssize_t hfsplus_getxattr(struct inode *inode, const char *name,
> int res;
> char *xattr_name;
>
> - hfs_dbg("ino %lu, name %s, prefix %s\n",
> + hfs_dbg("ino %" PRIino "u, name %s, prefix %s\n",
> inode->i_ino, name ? name : NULL,
> prefix ? prefix : NULL);
>
> @@ -717,7 +717,7 @@ ssize_t hfsplus_listxattr(struct dentry *dentry, char *buffer, size_t size)
> size_t strbuf_size;
> int xattr_name_len;
>
> - hfs_dbg("ino %lu\n", inode->i_ino);
> + hfs_dbg("ino %" PRIino "u\n", inode->i_ino);
>
> if (!is_xattr_operation_supported(inode))
> return -EOPNOTSUPP;
> @@ -819,7 +819,7 @@ static int hfsplus_removexattr(struct inode *inode, const char *name)
> int is_xattr_acl_deleted;
> int is_all_xattrs_deleted;
>
> - hfs_dbg("ino %lu, name %s\n",
> + hfs_dbg("ino %" PRIino "u, name %s\n",
> inode->i_ino, name ? name : NULL);
>
> if (!HFSPLUS_SB(inode->i_sb)->attr_tree)
Reviewed-by: Viacheslav Dubeyko <slava@dubeyko.com>
Thanks,
Slava.
^ permalink raw reply
* Re: [PATCH v2 015/110] nilfs2: use PRIino format for i_ino
From: Viacheslav Dubeyko @ 2026-03-02 22:34 UTC (permalink / raw)
To: socketcan@hartkopp.net, herbert@gondor.apana.org.au,
jolsa@kernel.org, jreuter@yaina.de, Dai.Ngo@oracle.com,
Ondrej Mosnacek, davem@davemloft.net, dlemoal@kernel.org,
trondmy@kernel.org, namhyung@kernel.org,
almaz.alexandrovich@paragon-software.com, miklos@szeredi.hu,
john.johansen@canonical.com, stephen.smalley.work@gmail.com,
nico@fluxnic.net, maciej.fijalkowski@intel.com, Olga Kornievskaia,
amir73il@gmail.com, tom@talpey.com, joseph.qi@linux.alibaba.com,
paul@paul-moore.com, asmadeus@codewreck.org,
alexander.shishkin@linux.intel.com, mark@fasheh.com,
linux_oss@crudebyte.com, alexander.deucher@amd.com,
viro@zeniv.linux.org.uk, willy@infradead.org, ebiggers@kernel.org,
lucien.xin@gmail.com, bharathsm@microsoft.com,
marcel@holtmann.org, sumit.semwal@linaro.org, Eric Paris,
djwong@kernel.org, simona@ffwll.ch, hawk@kernel.org,
mark.rutland@arm.com, james.clark@linaro.org,
john.fastabend@gmail.com, dsterba@suse.com, kuniyu@google.com,
hch@infradead.org, luiz.dentz@gmail.com, daniel@iogearbox.net,
dwmw2@infradead.org, ncardwell@google.com, sprasad@microsoft.com,
marcelo.leitner@gmail.com, edumazet@google.com,
rostedt@goodmis.org, jack@suse.com, mhiramat@kernel.org,
frank.li@vivo.com, alex.aring@gmail.com, luisbg@kernel.org,
ms@dev.tdt.de, jth@kernel.org, jlbec@evilplan.org,
aivazian.tigran@gmail.com, anna@kernel.org, peterz@infradead.org,
tytso@mit.edu, willemb@google.com, eric.snowberg@oracle.com,
johan.hedberg@gmail.com, acme@kernel.org,
ronniesahlberg@gmail.com, jaharkes@cs.cmu.edu, David Howells,
jaegeuk@kernel.org, courmisch@gmail.com, martin@omnibond.com,
christian.koenig@amd.com, jmorris@namei.org,
adilger.kernel@dilger.ca, idryomov@gmail.com, brauner@kernel.org,
Paolo Abeni, glaubitz@physik.fu-berlin.de,
magnus.karlsson@intel.com, airlied@gmail.com, coda@cs.cmu.edu,
casey@schaufler-ca.com, raven@themaw.net, horms@kernel.org,
adrian.hunter@intel.com, kuba@kernel.org, muchun.song@linux.dev,
chao@kernel.org, mathieu.desnoyers@efficios.com,
hubcap@omnibond.com, jlayton@kernel.org, sdf@fomichev.me,
roberto.sassu@huawei.com, Alex Markuze, chengzhihao1@huawei.com,
mikulas@artax.karlin.mff.cuni.cz, ericvh@kernel.org,
salah.triki@gmail.com, osalvador@suse.de,
dmitry.kasatkin@gmail.com, sfrench@samba.org, serge@hallyn.com,
wufan@kernel.org, al@alarsen.net, pc@manguebit.org,
ast@kernel.org, oleg@redhat.com, slava@dubeyko.com,
konishi.ryusuke@gmail.com, lucho@ionkov.net, dsahern@kernel.org,
shaggy@kernel.org, richard@nod.at, marc.dionne@auristor.com,
neil@brown.name, dan.j.williams@intel.com, mkl@pengutronix.de,
david@kernel.org, Ingo Molnar, jack@suse.cz, code@tyhicks.com,
steffen.klassert@secunet.com, naohiro.aota@wdc.com,
zohar@linux.ibm.com, chuck.lever@oracle.com, irogers@google.com
Cc: linux-sctp@vger.kernel.org, ecryptfs@vger.kernel.org,
linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-ext4@vger.kernel.org, autofs@vger.kernel.org,
amd-gfx@lists.freedesktop.org, fsverity@lists.linux.dev,
ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev,
linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-integrity@vger.kernel.org, samba-technical@lists.samba.org,
linux-nilfs@vger.kernel.org, audit@vger.kernel.org,
selinux@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
linux-trace-kernel@vger.kernel.org, v9fs@lists.linux.dev,
linux-xfs@vger.kernel.org, linux-x25@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-bluetooth@vger.kernel.org, nvdimm@lists.linux.dev,
ceph-devel@vger.kernel.org, jfs-discussion@lists.sourceforge.net,
linux-mtd@lists.infradead.org, devel@lists.orangefs.org,
linux-afs@lists.infradead.org, linux-fscrypt@vger.kernel.org,
linux-security-module@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-hams@vger.kernel.org, bpf@vger.kernel.org,
linux-can@vger.kernel.org, linux-nfs@vger.kernel.org,
codalist@coda.cs.cmu.edu, linux-mm@kvack.org,
netfs@lists.linux.dev, linux-perf-users@vger.kernel.org,
dri-devel@lists.freedesktop.org
In-Reply-To: <20260302-iino-u64-v2-15-e5388800dae0@kernel.org>
On Mon, 2026-03-02 at 15:23 -0500, Jeff Layton wrote:
> Convert nilfs2 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.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> fs/nilfs2/alloc.c | 10 +++++-----
> fs/nilfs2/bmap.c | 2 +-
> fs/nilfs2/btnode.c | 2 +-
> fs/nilfs2/btree.c | 12 ++++++------
> fs/nilfs2/dir.c | 12 ++++++------
> fs/nilfs2/direct.c | 4 ++--
> fs/nilfs2/gcinode.c | 2 +-
> fs/nilfs2/inode.c | 8 ++++----
> fs/nilfs2/mdt.c | 2 +-
> fs/nilfs2/namei.c | 2 +-
> fs/nilfs2/segment.c | 2 +-
> include/trace/events/nilfs2.h | 12 ++++++------
> 12 files changed, 35 insertions(+), 35 deletions(-)
>
> diff --git a/fs/nilfs2/alloc.c b/fs/nilfs2/alloc.c
> index e7eebb04f9a4080a39f17d4123e58ed7df6b2f4b..a3c559c86e5a4c63b1c9dd4ca137f24749c3ee87 100644
> --- a/fs/nilfs2/alloc.c
> +++ b/fs/nilfs2/alloc.c
> @@ -707,7 +707,7 @@ void nilfs_palloc_commit_free_entry(struct inode *inode,
>
> if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap))
> nilfs_warn(inode->i_sb,
> - "%s (ino=%lu): entry number %llu already freed",
> + "%s (ino=%" PRIino "u): entry number %llu already freed",
> __func__, inode->i_ino,
> (unsigned long long)req->pr_entry_nr);
> else
> @@ -748,7 +748,7 @@ void nilfs_palloc_abort_alloc_entry(struct inode *inode,
>
> if (!nilfs_clear_bit_atomic(lock, group_offset, bitmap))
> nilfs_warn(inode->i_sb,
> - "%s (ino=%lu): entry number %llu already freed",
> + "%s (ino=%" PRIino "u): entry number %llu already freed",
> __func__, inode->i_ino,
> (unsigned long long)req->pr_entry_nr);
> else
> @@ -861,7 +861,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
> if (!nilfs_clear_bit_atomic(lock, group_offset,
> bitmap)) {
> nilfs_warn(inode->i_sb,
> - "%s (ino=%lu): entry number %llu already freed",
> + "%s (ino=%" PRIino "u): entry number %llu already freed",
> __func__, inode->i_ino,
> (unsigned long long)entry_nrs[j]);
> } else {
> @@ -906,7 +906,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
> last_nrs[k]);
> if (ret && ret != -ENOENT)
> nilfs_warn(inode->i_sb,
> - "error %d deleting block that object (entry=%llu, ino=%lu) belongs to",
> + "error %d deleting block that object (entry=%llu, ino=%" PRIino "u) belongs to",
> ret, (unsigned long long)last_nrs[k],
> inode->i_ino);
> }
> @@ -923,7 +923,7 @@ int nilfs_palloc_freev(struct inode *inode, __u64 *entry_nrs, size_t nitems)
> ret = nilfs_palloc_delete_bitmap_block(inode, group);
> if (ret && ret != -ENOENT)
> nilfs_warn(inode->i_sb,
> - "error %d deleting bitmap block of group=%lu, ino=%lu",
> + "error %d deleting bitmap block of group=%lu, ino=%" PRIino "u",
> ret, group, inode->i_ino);
> }
> }
> diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c
> index ccc1a7aa52d2064d56b826058554264c498d592f..e12979bac3c3ee5eb7fcc2bf156fe6e48fc65a7d 100644
> --- a/fs/nilfs2/bmap.c
> +++ b/fs/nilfs2/bmap.c
> @@ -33,7 +33,7 @@ static int nilfs_bmap_convert_error(struct nilfs_bmap *bmap,
>
> if (err == -EINVAL) {
> __nilfs_error(inode->i_sb, fname,
> - "broken bmap (inode number=%lu)", inode->i_ino);
> + "broken bmap (inode number=%" PRIino "u)", inode->i_ino);
> err = -EIO;
> }
> return err;
> diff --git a/fs/nilfs2/btnode.c b/fs/nilfs2/btnode.c
> index 56836712909201775907483887e8a0022851bbec..3d64f3a9223e5601dc2332ae6e1007edd5b4827b 100644
> --- a/fs/nilfs2/btnode.c
> +++ b/fs/nilfs2/btnode.c
> @@ -64,7 +64,7 @@ nilfs_btnode_create_block(struct address_space *btnc, __u64 blocknr)
> * clearing of an abandoned b-tree node is missing somewhere).
> */
> nilfs_error(inode->i_sb,
> - "state inconsistency probably due to duplicate use of b-tree node block address %llu (ino=%lu)",
> + "state inconsistency probably due to duplicate use of b-tree node block address %llu (ino=%" PRIino "u)",
> (unsigned long long)blocknr, inode->i_ino);
> goto failed;
> }
> diff --git a/fs/nilfs2/btree.c b/fs/nilfs2/btree.c
> index dd0c8e560ef6a2c96515025321914e0d73f41144..57163e991fbc49e2bfba2fa543f1b8dbd77718f4 100644
> --- a/fs/nilfs2/btree.c
> +++ b/fs/nilfs2/btree.c
> @@ -353,7 +353,7 @@ static int nilfs_btree_node_broken(const struct nilfs_btree_node *node,
> nchildren <= 0 ||
> nchildren > NILFS_BTREE_NODE_NCHILDREN_MAX(size))) {
> nilfs_crit(inode->i_sb,
> - "bad btree node (ino=%lu, blocknr=%llu): level = %d, flags = 0x%x, nchildren = %d",
> + "bad btree node (ino=%" PRIino "u, blocknr=%llu): level = %d, flags = 0x%x, nchildren = %d",
> inode->i_ino, (unsigned long long)blocknr, level,
> flags, nchildren);
> ret = 1;
> @@ -384,7 +384,7 @@ static int nilfs_btree_root_broken(const struct nilfs_btree_node *node,
> nchildren > NILFS_BTREE_ROOT_NCHILDREN_MAX ||
> (nchildren == 0 && level > NILFS_BTREE_LEVEL_NODE_MIN))) {
> nilfs_crit(inode->i_sb,
> - "bad btree root (ino=%lu): level = %d, flags = 0x%x, nchildren = %d",
> + "bad btree root (ino=%" PRIino "u): level = %d, flags = 0x%x, nchildren = %d",
> inode->i_ino, level, flags, nchildren);
> ret = 1;
> }
> @@ -453,7 +453,7 @@ static int nilfs_btree_bad_node(const struct nilfs_bmap *btree,
> if (unlikely(nilfs_btree_node_get_level(node) != level)) {
> dump_stack();
> nilfs_crit(btree->b_inode->i_sb,
> - "btree level mismatch (ino=%lu): %d != %d",
> + "btree level mismatch (ino=%" PRIino "u): %d != %d",
> btree->b_inode->i_ino,
> nilfs_btree_node_get_level(node), level);
> return 1;
> @@ -521,7 +521,7 @@ static int __nilfs_btree_get_block(const struct nilfs_bmap *btree, __u64 ptr,
> out_no_wait:
> if (!buffer_uptodate(bh)) {
> nilfs_err(btree->b_inode->i_sb,
> - "I/O error reading b-tree node block (ino=%lu, blocknr=%llu)",
> + "I/O error reading b-tree node block (ino=%" PRIino "u, blocknr=%llu)",
> btree->b_inode->i_ino, (unsigned long long)ptr);
> brelse(bh);
> return -EIO;
> @@ -2104,7 +2104,7 @@ static int nilfs_btree_propagate(struct nilfs_bmap *btree,
> if (ret < 0) {
> if (unlikely(ret == -ENOENT)) {
> nilfs_crit(btree->b_inode->i_sb,
> - "writing node/leaf block does not appear in b-tree (ino=%lu) at key=%llu, level=%d",
> + "writing node/leaf block does not appear in b-tree (ino=%" PRIino "u) at key=%llu, level=%d",
> btree->b_inode->i_ino,
> (unsigned long long)key, level);
> ret = -EINVAL;
> @@ -2146,7 +2146,7 @@ static void nilfs_btree_add_dirty_buffer(struct nilfs_bmap *btree,
> level >= NILFS_BTREE_LEVEL_MAX) {
> dump_stack();
> nilfs_warn(btree->b_inode->i_sb,
> - "invalid btree level: %d (key=%llu, ino=%lu, blocknr=%llu)",
> + "invalid btree level: %d (key=%llu, ino=%" PRIino "u, blocknr=%llu)",
> level, (unsigned long long)key,
> btree->b_inode->i_ino,
> (unsigned long long)bh->b_blocknr);
> diff --git a/fs/nilfs2/dir.c b/fs/nilfs2/dir.c
> index b243199036dfa1ab2299efaaa5bdf5da2d159ff2..b182da076c58c4813145bc3e501a1e9a188bce85 100644
> --- a/fs/nilfs2/dir.c
> +++ b/fs/nilfs2/dir.c
> @@ -150,7 +150,7 @@ static bool nilfs_check_folio(struct folio *folio, char *kaddr)
>
> Ebadsize:
> nilfs_error(sb,
> - "size of directory #%lu is not a multiple of chunk size",
> + "size of directory #%" PRIino "u is not a multiple of chunk size",
> dir->i_ino);
> goto fail;
> Eshort:
> @@ -169,7 +169,7 @@ static bool nilfs_check_folio(struct folio *folio, char *kaddr)
> error = "disallowed inode number";
> bad_entry:
> nilfs_error(sb,
> - "bad entry in directory #%lu: %s - offset=%lu, inode=%lu, rec_len=%zd, name_len=%d",
> + "bad entry in directory #%" PRIino "u: %s - offset=%lu, inode=%lu, rec_len=%zd, name_len=%d",
> dir->i_ino, error, (folio->index << PAGE_SHIFT) + offs,
> (unsigned long)le64_to_cpu(p->inode),
> rec_len, p->name_len);
> @@ -177,7 +177,7 @@ static bool nilfs_check_folio(struct folio *folio, char *kaddr)
> Eend:
> p = (struct nilfs_dir_entry *)(kaddr + offs);
> nilfs_error(sb,
> - "entry in directory #%lu spans the page boundary offset=%lu, inode=%lu",
> + "entry in directory #%" PRIino "u spans the page boundary offset=%lu, inode=%lu",
> dir->i_ino, (folio->index << PAGE_SHIFT) + offs,
> (unsigned long)le64_to_cpu(p->inode));
> fail:
> @@ -251,7 +251,7 @@ static int nilfs_readdir(struct file *file, struct dir_context *ctx)
>
> kaddr = nilfs_get_folio(inode, n, &folio);
> if (IS_ERR(kaddr)) {
> - nilfs_error(sb, "bad page in #%lu", inode->i_ino);
> + nilfs_error(sb, "bad page in #%" PRIino "u", inode->i_ino);
> ctx->pos += PAGE_SIZE - offset;
> return -EIO;
> }
> @@ -336,7 +336,7 @@ struct nilfs_dir_entry *nilfs_find_entry(struct inode *dir,
> /* next folio is past the blocks we've got */
> if (unlikely(n > (dir->i_blocks >> (PAGE_SHIFT - 9)))) {
> nilfs_error(dir->i_sb,
> - "dir %lu size %lld exceeds block count %llu",
> + "dir %" PRIino "u size %lld exceeds block count %llu",
> dir->i_ino, dir->i_size,
> (unsigned long long)dir->i_blocks);
> goto out;
> @@ -382,7 +382,7 @@ struct nilfs_dir_entry *nilfs_dotdot(struct inode *dir, struct folio **foliop)
> return next_de;
>
> fail:
> - nilfs_error(dir->i_sb, "directory #%lu %s", dir->i_ino, msg);
> + nilfs_error(dir->i_sb, "directory #%" PRIino "u %s", dir->i_ino, msg);
> folio_release_kmap(folio, de);
> return NULL;
> }
> diff --git a/fs/nilfs2/direct.c b/fs/nilfs2/direct.c
> index 2d8dc6b35b5477947ca12a70288d3a3cce858aab..1084d4d586e078ab6825167976dd2a71d52bc8aa 100644
> --- a/fs/nilfs2/direct.c
> +++ b/fs/nilfs2/direct.c
> @@ -338,7 +338,7 @@ static int nilfs_direct_assign(struct nilfs_bmap *bmap,
> key = nilfs_bmap_data_get_key(bmap, *bh);
> if (unlikely(key > NILFS_DIRECT_KEY_MAX)) {
> nilfs_crit(bmap->b_inode->i_sb,
> - "%s (ino=%lu): invalid key: %llu",
> + "%s (ino=%" PRIino "u): invalid key: %llu",
> __func__,
> bmap->b_inode->i_ino, (unsigned long long)key);
> return -EINVAL;
> @@ -346,7 +346,7 @@ static int nilfs_direct_assign(struct nilfs_bmap *bmap,
> ptr = nilfs_direct_get_ptr(bmap, key);
> if (unlikely(ptr == NILFS_BMAP_INVALID_PTR)) {
> nilfs_crit(bmap->b_inode->i_sb,
> - "%s (ino=%lu): invalid pointer: %llu",
> + "%s (ino=%" PRIino "u): invalid pointer: %llu",
> __func__,
> bmap->b_inode->i_ino, (unsigned long long)ptr);
> return -EINVAL;
> diff --git a/fs/nilfs2/gcinode.c b/fs/nilfs2/gcinode.c
> index 561c220799c7aee879ad866865e377799c8ee6bb..714962d010da4a23e9b5f40de8aaaca8b95a74da 100644
> --- a/fs/nilfs2/gcinode.c
> +++ b/fs/nilfs2/gcinode.c
> @@ -137,7 +137,7 @@ int nilfs_gccache_wait_and_mark_dirty(struct buffer_head *bh)
> struct inode *inode = bh->b_folio->mapping->host;
>
> nilfs_err(inode->i_sb,
> - "I/O error reading %s block for GC (ino=%lu, vblocknr=%llu)",
> + "I/O error reading %s block for GC (ino=%" PRIino "u, vblocknr=%llu)",
> buffer_nilfs_node(bh) ? "node" : "data",
> inode->i_ino, (unsigned long long)bh->b_blocknr);
> return -EIO;
> diff --git a/fs/nilfs2/inode.c b/fs/nilfs2/inode.c
> index 51bde45d586509dda3ef0cb7c46facb7fb2c61dd..0bc1c5141ec596b3c31e7d18e4ba3541bf618406 100644
> --- a/fs/nilfs2/inode.c
> +++ b/fs/nilfs2/inode.c
> @@ -108,7 +108,7 @@ int nilfs_get_block(struct inode *inode, sector_t blkoff,
> * be locked in this case.
> */
> nilfs_warn(inode->i_sb,
> - "%s (ino=%lu): a race condition while inserting a data block at offset=%llu",
> + "%s (ino=%" PRIino "u): a race condition while inserting a data block at offset=%llu",
> __func__, inode->i_ino,
> (unsigned long long)blkoff);
> err = -EAGAIN;
> @@ -789,7 +789,7 @@ static void nilfs_truncate_bmap(struct nilfs_inode_info *ii,
> goto repeat;
>
> failed:
> - nilfs_warn(ii->vfs_inode.i_sb, "error %d truncating bmap (ino=%lu)",
> + nilfs_warn(ii->vfs_inode.i_sb, "error %d truncating bmap (ino=%" PRIino "u)",
> ret, ii->vfs_inode.i_ino);
> }
>
> @@ -1026,7 +1026,7 @@ int nilfs_set_file_dirty(struct inode *inode, unsigned int nr_dirty)
> * this inode.
> */
> nilfs_warn(inode->i_sb,
> - "cannot set file dirty (ino=%lu): the file is being freed",
> + "cannot set file dirty (ino=%" PRIino "u): the file is being freed",
> inode->i_ino);
> spin_unlock(&nilfs->ns_inode_lock);
> return -EINVAL; /*
> @@ -1057,7 +1057,7 @@ int __nilfs_mark_inode_dirty(struct inode *inode, int flags)
> err = nilfs_load_inode_block(inode, &ibh);
> if (unlikely(err)) {
> nilfs_warn(inode->i_sb,
> - "cannot mark inode dirty (ino=%lu): error %d loading inode block",
> + "cannot mark inode dirty (ino=%" PRIino "u): error %d loading inode block",
> inode->i_ino, err);
> return err;
> }
> diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c
> index 946b0d3534a5f22f34ac44a91fb121541881c548..8629c72b62db33217d4747124885b6f727f182be 100644
> --- a/fs/nilfs2/mdt.c
> +++ b/fs/nilfs2/mdt.c
> @@ -203,7 +203,7 @@ static int nilfs_mdt_read_block(struct inode *inode, unsigned long block,
> err = -EIO;
> if (!buffer_uptodate(first_bh)) {
> nilfs_err(inode->i_sb,
> - "I/O error reading meta-data file (ino=%lu, block-offset=%lu)",
> + "I/O error reading meta-data file (ino=%" PRIino "u, block-offset=%lu)",
> inode->i_ino, block);
> goto failed_bh;
> }
> diff --git a/fs/nilfs2/namei.c b/fs/nilfs2/namei.c
> index 40f4b1a28705b6e0eb8f0978cf3ac18b43aa1331..29edb84a0663caa4b29fa488c0495fc53358ca00 100644
> --- a/fs/nilfs2/namei.c
> +++ b/fs/nilfs2/namei.c
> @@ -292,7 +292,7 @@ static int nilfs_do_unlink(struct inode *dir, struct dentry *dentry)
>
> if (!inode->i_nlink) {
> nilfs_warn(inode->i_sb,
> - "deleting nonexistent file (ino=%lu), %d",
> + "deleting nonexistent file (ino=%" PRIino "u), %d",
> inode->i_ino, inode->i_nlink);
> set_nlink(inode, 1);
> }
> diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
> index 098a3bd103e04cd09b0689fe2017380d74664496..9a8bc3fa35ce9b447abbc2fb56cbd2b0cc5f76de 100644
> --- a/fs/nilfs2/segment.c
> +++ b/fs/nilfs2/segment.c
> @@ -2024,7 +2024,7 @@ static int nilfs_segctor_collect_dirty_files(struct nilfs_sc_info *sci,
> ifile, ii->vfs_inode.i_ino, &ibh);
> if (unlikely(err)) {
> nilfs_warn(sci->sc_super,
> - "log writer: error %d getting inode block (ino=%lu)",
> + "log writer: error %d getting inode block (ino=%" PRIino "u)",
> err, ii->vfs_inode.i_ino);
> return err;
> }
> diff --git a/include/trace/events/nilfs2.h b/include/trace/events/nilfs2.h
> index 8880c11733dd307c223cc62ee34ebeff650ecb12..86a0011c9eeaf031cfa0b79875b2b106ef8b7cfd 100644
> --- a/include/trace/events/nilfs2.h
> +++ b/include/trace/events/nilfs2.h
> @@ -165,14 +165,14 @@ TRACE_EVENT(nilfs2_segment_usage_freed,
>
> TRACE_EVENT(nilfs2_mdt_insert_new_block,
> TP_PROTO(struct inode *inode,
> - unsigned long ino,
> + u64 ino,
> unsigned long block),
>
> TP_ARGS(inode, ino, block),
>
> TP_STRUCT__entry(
> __field(struct inode *, inode)
> - __field(unsigned long, ino)
> + __field(u64, ino)
> __field(unsigned long, block)
> ),
>
> @@ -182,7 +182,7 @@ TRACE_EVENT(nilfs2_mdt_insert_new_block,
> __entry->block = block;
> ),
>
> - TP_printk("inode = %p ino = %lu block = %lu",
> + TP_printk("inode = %p ino = %llu block = %lu",
> __entry->inode,
> __entry->ino,
> __entry->block)
> @@ -190,7 +190,7 @@ TRACE_EVENT(nilfs2_mdt_insert_new_block,
>
> TRACE_EVENT(nilfs2_mdt_submit_block,
> TP_PROTO(struct inode *inode,
> - unsigned long ino,
> + u64 ino,
> unsigned long blkoff,
> enum req_op mode),
>
> @@ -198,7 +198,7 @@ TRACE_EVENT(nilfs2_mdt_submit_block,
>
> TP_STRUCT__entry(
> __field(struct inode *, inode)
> - __field(unsigned long, ino)
> + __field(u64, ino)
> __field(unsigned long, blkoff)
> /*
> * Use field_struct() to avoid is_signed_type() on the
> @@ -214,7 +214,7 @@ TRACE_EVENT(nilfs2_mdt_submit_block,
> __entry->mode = mode;
> ),
>
> - TP_printk("inode = %p ino = %lu blkoff = %lu mode = %x",
> + TP_printk("inode = %p ino = %llu blkoff = %lu mode = %x",
> __entry->inode,
> __entry->ino,
> __entry->blkoff,
Reviewed-by: Viacheslav Dubeyko <slava@dubeyko.com>
Thanks,
Slava.
^ permalink raw reply
* Re: [PATCH v2 031/110] hfs: use PRIino format for i_ino
From: Viacheslav Dubeyko @ 2026-03-02 22:26 UTC (permalink / raw)
To: socketcan@hartkopp.net, herbert@gondor.apana.org.au,
jolsa@kernel.org, jreuter@yaina.de, Dai.Ngo@oracle.com,
Ondrej Mosnacek, davem@davemloft.net, dlemoal@kernel.org,
trondmy@kernel.org, namhyung@kernel.org,
almaz.alexandrovich@paragon-software.com, miklos@szeredi.hu,
john.johansen@canonical.com, stephen.smalley.work@gmail.com,
nico@fluxnic.net, maciej.fijalkowski@intel.com, Olga Kornievskaia,
amir73il@gmail.com, tom@talpey.com, joseph.qi@linux.alibaba.com,
paul@paul-moore.com, asmadeus@codewreck.org,
alexander.shishkin@linux.intel.com, mark@fasheh.com,
linux_oss@crudebyte.com, alexander.deucher@amd.com,
viro@zeniv.linux.org.uk, willy@infradead.org, ebiggers@kernel.org,
lucien.xin@gmail.com, bharathsm@microsoft.com,
marcel@holtmann.org, sumit.semwal@linaro.org, Eric Paris,
djwong@kernel.org, simona@ffwll.ch, hawk@kernel.org,
mark.rutland@arm.com, james.clark@linaro.org,
john.fastabend@gmail.com, dsterba@suse.com, kuniyu@google.com,
hch@infradead.org, luiz.dentz@gmail.com, daniel@iogearbox.net,
dwmw2@infradead.org, ncardwell@google.com, sprasad@microsoft.com,
marcelo.leitner@gmail.com, edumazet@google.com,
rostedt@goodmis.org, jack@suse.com, mhiramat@kernel.org,
frank.li@vivo.com, alex.aring@gmail.com, luisbg@kernel.org,
ms@dev.tdt.de, jth@kernel.org, jlbec@evilplan.org,
aivazian.tigran@gmail.com, anna@kernel.org, peterz@infradead.org,
tytso@mit.edu, willemb@google.com, eric.snowberg@oracle.com,
johan.hedberg@gmail.com, acme@kernel.org,
ronniesahlberg@gmail.com, jaharkes@cs.cmu.edu, David Howells,
jaegeuk@kernel.org, courmisch@gmail.com, martin@omnibond.com,
christian.koenig@amd.com, jmorris@namei.org,
adilger.kernel@dilger.ca, idryomov@gmail.com, brauner@kernel.org,
Paolo Abeni, glaubitz@physik.fu-berlin.de,
magnus.karlsson@intel.com, airlied@gmail.com, coda@cs.cmu.edu,
casey@schaufler-ca.com, raven@themaw.net, horms@kernel.org,
adrian.hunter@intel.com, kuba@kernel.org, muchun.song@linux.dev,
chao@kernel.org, mathieu.desnoyers@efficios.com,
hubcap@omnibond.com, jlayton@kernel.org, sdf@fomichev.me,
roberto.sassu@huawei.com, Alex Markuze, chengzhihao1@huawei.com,
mikulas@artax.karlin.mff.cuni.cz, ericvh@kernel.org,
salah.triki@gmail.com, osalvador@suse.de,
dmitry.kasatkin@gmail.com, sfrench@samba.org, serge@hallyn.com,
wufan@kernel.org, al@alarsen.net, pc@manguebit.org,
ast@kernel.org, oleg@redhat.com, slava@dubeyko.com,
konishi.ryusuke@gmail.com, lucho@ionkov.net, dsahern@kernel.org,
shaggy@kernel.org, richard@nod.at, marc.dionne@auristor.com,
neil@brown.name, dan.j.williams@intel.com, mkl@pengutronix.de,
david@kernel.org, Ingo Molnar, jack@suse.cz, code@tyhicks.com,
steffen.klassert@secunet.com, naohiro.aota@wdc.com,
zohar@linux.ibm.com, chuck.lever@oracle.com, irogers@google.com
Cc: linux-sctp@vger.kernel.org, ecryptfs@vger.kernel.org,
linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-ext4@vger.kernel.org, autofs@vger.kernel.org,
amd-gfx@lists.freedesktop.org, fsverity@lists.linux.dev,
ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev,
linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-integrity@vger.kernel.org, samba-technical@lists.samba.org,
linux-nilfs@vger.kernel.org, audit@vger.kernel.org,
selinux@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
linux-trace-kernel@vger.kernel.org, v9fs@lists.linux.dev,
linux-xfs@vger.kernel.org, linux-x25@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-bluetooth@vger.kernel.org, nvdimm@lists.linux.dev,
ceph-devel@vger.kernel.org, jfs-discussion@lists.sourceforge.net,
linux-mtd@lists.infradead.org, devel@lists.orangefs.org,
linux-afs@lists.infradead.org, linux-fscrypt@vger.kernel.org,
linux-security-module@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-hams@vger.kernel.org, bpf@vger.kernel.org,
linux-can@vger.kernel.org, linux-nfs@vger.kernel.org,
codalist@coda.cs.cmu.edu, linux-mm@kvack.org,
netfs@lists.linux.dev, linux-perf-users@vger.kernel.org,
dri-devel@lists.freedesktop.org
In-Reply-To: <20260302-iino-u64-v2-31-e5388800dae0@kernel.org>
On Mon, 2026-03-02 at 15:24 -0500, Jeff Layton wrote:
> Convert hfs 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/hfs/catalog.c | 2 +-
> fs/hfs/extent.c | 4 ++--
> fs/hfs/inode.c | 4 ++--
> 3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/fs/hfs/catalog.c b/fs/hfs/catalog.c
> index b80ba40e38776123759df4b85c7f65daa19c6436..b07c0a3ffc61584165e8cc9f646de6066a6ad2c9 100644
> --- a/fs/hfs/catalog.c
> +++ b/fs/hfs/catalog.c
> @@ -417,7 +417,7 @@ int hfs_cat_move(u32 cnid, struct inode *src_dir, const struct qstr *src_name,
> int entry_size, type;
> int err;
>
> - hfs_dbg("cnid %u - (ino %lu, name %s) - (ino %lu, name %s)\n",
> + hfs_dbg("cnid %u - (ino %" PRIino "u, name %s) - (ino %" PRIino "u, name %s)\n",
> cnid, src_dir->i_ino, src_name->name,
> dst_dir->i_ino, dst_name->name);
> sb = src_dir->i_sb;
> diff --git a/fs/hfs/extent.c b/fs/hfs/extent.c
> index a097908b269d0ad1575847dd01d6d4a4538262bf..60875cc23880b758bbbb5e4b8281d9ee1f2dbcbb 100644
> --- a/fs/hfs/extent.c
> +++ b/fs/hfs/extent.c
> @@ -411,7 +411,7 @@ int hfs_extend_file(struct inode *inode)
> goto out;
> }
>
> - hfs_dbg("ino %lu, start %u, len %u\n", inode->i_ino, start, len);
> + hfs_dbg("ino %" PRIino "u, start %u, len %u\n", inode->i_ino, start, len);
> if (HFS_I(inode)->alloc_blocks == HFS_I(inode)->first_blocks) {
> if (!HFS_I(inode)->first_blocks) {
> hfs_dbg("first_extent: start %u, len %u\n",
> @@ -482,7 +482,7 @@ void hfs_file_truncate(struct inode *inode)
> u32 size;
> int res;
>
> - hfs_dbg("ino %lu, phys_size %llu -> i_size %llu\n",
> + hfs_dbg("ino %" PRIino "u, phys_size %llu -> i_size %llu\n",
> inode->i_ino, (long long)HFS_I(inode)->phys_size,
> inode->i_size);
> if (inode->i_size > HFS_I(inode)->phys_size) {
> diff --git a/fs/hfs/inode.c b/fs/hfs/inode.c
> index 878535db64d679995cd1f5c215f56c5258c3c720..b19866525c1e9c43decf3a943c709922ee8630f6 100644
> --- a/fs/hfs/inode.c
> +++ b/fs/hfs/inode.c
> @@ -270,7 +270,7 @@ void hfs_delete_inode(struct inode *inode)
> {
> struct super_block *sb = inode->i_sb;
>
> - hfs_dbg("ino %lu\n", inode->i_ino);
> + hfs_dbg("ino %" PRIino "u\n", inode->i_ino);
> if (S_ISDIR(inode->i_mode)) {
> atomic64_dec(&HFS_SB(sb)->folder_count);
> if (HFS_I(inode)->cat_key.ParID == cpu_to_be32(HFS_ROOT_CNID))
> @@ -455,7 +455,7 @@ int hfs_write_inode(struct inode *inode, struct writeback_control *wbc)
> hfs_cat_rec rec;
> int res;
>
> - hfs_dbg("ino %lu\n", inode->i_ino);
> + hfs_dbg("ino %" PRIino "u\n", inode->i_ino);
> res = hfs_ext_write_extent(inode);
> if (res)
> return res;
Reviewed-by: Viacheslav Dubeyko <slava@dubeyko.com>
Thanks,
Slava.
^ permalink raw reply
* Re: [PATCH v2 023/110] ceph: use PRIino format for i_ino
From: Viacheslav Dubeyko @ 2026-03-02 22:24 UTC (permalink / raw)
To: socketcan@hartkopp.net, herbert@gondor.apana.org.au,
jolsa@kernel.org, jreuter@yaina.de, Dai.Ngo@oracle.com,
Ondrej Mosnacek, davem@davemloft.net, dlemoal@kernel.org,
trondmy@kernel.org, namhyung@kernel.org,
almaz.alexandrovich@paragon-software.com, miklos@szeredi.hu,
john.johansen@canonical.com, stephen.smalley.work@gmail.com,
nico@fluxnic.net, maciej.fijalkowski@intel.com, Olga Kornievskaia,
amir73il@gmail.com, tom@talpey.com, joseph.qi@linux.alibaba.com,
paul@paul-moore.com, asmadeus@codewreck.org,
alexander.shishkin@linux.intel.com, mark@fasheh.com,
linux_oss@crudebyte.com, alexander.deucher@amd.com,
viro@zeniv.linux.org.uk, willy@infradead.org, ebiggers@kernel.org,
lucien.xin@gmail.com, bharathsm@microsoft.com,
marcel@holtmann.org, sumit.semwal@linaro.org, Eric Paris,
djwong@kernel.org, simona@ffwll.ch, hawk@kernel.org,
mark.rutland@arm.com, james.clark@linaro.org,
john.fastabend@gmail.com, dsterba@suse.com, kuniyu@google.com,
hch@infradead.org, luiz.dentz@gmail.com, daniel@iogearbox.net,
dwmw2@infradead.org, ncardwell@google.com, sprasad@microsoft.com,
marcelo.leitner@gmail.com, edumazet@google.com,
rostedt@goodmis.org, jack@suse.com, mhiramat@kernel.org,
frank.li@vivo.com, alex.aring@gmail.com, luisbg@kernel.org,
ms@dev.tdt.de, jth@kernel.org, jlbec@evilplan.org,
aivazian.tigran@gmail.com, anna@kernel.org, peterz@infradead.org,
tytso@mit.edu, willemb@google.com, eric.snowberg@oracle.com,
johan.hedberg@gmail.com, acme@kernel.org,
ronniesahlberg@gmail.com, jaharkes@cs.cmu.edu, David Howells,
jaegeuk@kernel.org, courmisch@gmail.com, martin@omnibond.com,
christian.koenig@amd.com, jmorris@namei.org,
adilger.kernel@dilger.ca, idryomov@gmail.com, brauner@kernel.org,
Paolo Abeni, glaubitz@physik.fu-berlin.de,
magnus.karlsson@intel.com, airlied@gmail.com, coda@cs.cmu.edu,
casey@schaufler-ca.com, raven@themaw.net, horms@kernel.org,
adrian.hunter@intel.com, kuba@kernel.org, muchun.song@linux.dev,
chao@kernel.org, mathieu.desnoyers@efficios.com,
hubcap@omnibond.com, jlayton@kernel.org, sdf@fomichev.me,
roberto.sassu@huawei.com, Alex Markuze, chengzhihao1@huawei.com,
mikulas@artax.karlin.mff.cuni.cz, ericvh@kernel.org,
salah.triki@gmail.com, osalvador@suse.de,
dmitry.kasatkin@gmail.com, sfrench@samba.org, serge@hallyn.com,
wufan@kernel.org, al@alarsen.net, pc@manguebit.org,
ast@kernel.org, oleg@redhat.com, slava@dubeyko.com,
konishi.ryusuke@gmail.com, lucho@ionkov.net, dsahern@kernel.org,
shaggy@kernel.org, richard@nod.at, marc.dionne@auristor.com,
neil@brown.name, dan.j.williams@intel.com, mkl@pengutronix.de,
david@kernel.org, Ingo Molnar, jack@suse.cz, code@tyhicks.com,
steffen.klassert@secunet.com, naohiro.aota@wdc.com,
zohar@linux.ibm.com, chuck.lever@oracle.com, irogers@google.com
Cc: linux-sctp@vger.kernel.org, ecryptfs@vger.kernel.org,
linux-unionfs@vger.kernel.org, apparmor@lists.ubuntu.com,
linux-ext4@vger.kernel.org, autofs@vger.kernel.org,
amd-gfx@lists.freedesktop.org, fsverity@lists.linux.dev,
ntfs3@lists.linux.dev, ocfs2-devel@lists.linux.dev,
linux-fsdevel@vger.kernel.org, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
linux-integrity@vger.kernel.org, samba-technical@lists.samba.org,
linux-nilfs@vger.kernel.org, audit@vger.kernel.org,
selinux@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
linux-trace-kernel@vger.kernel.org, v9fs@lists.linux.dev,
linux-xfs@vger.kernel.org, linux-x25@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-bluetooth@vger.kernel.org, nvdimm@lists.linux.dev,
ceph-devel@vger.kernel.org, jfs-discussion@lists.sourceforge.net,
linux-mtd@lists.infradead.org, devel@lists.orangefs.org,
linux-afs@lists.infradead.org, linux-fscrypt@vger.kernel.org,
linux-security-module@vger.kernel.org, linux-cifs@vger.kernel.org,
linux-hams@vger.kernel.org, bpf@vger.kernel.org,
linux-can@vger.kernel.org, linux-nfs@vger.kernel.org,
codalist@coda.cs.cmu.edu, linux-mm@kvack.org,
netfs@lists.linux.dev, linux-perf-users@vger.kernel.org,
dri-devel@lists.freedesktop.org
In-Reply-To: <20260302-iino-u64-v2-23-e5388800dae0@kernel.org>
On Mon, 2026-03-02 at 15:24 -0500, Jeff Layton wrote:
> Convert ceph i_ino format strings to use the PRIino format
> macro in preparation for the widening of i_ino via kino_t.
>
> Also correct signed format specifiers to unsigned, since inode
> numbers are unsigned values.
>
> Signed-off-by: Jeff Layton <jlayton@kernel.org>
> ---
> fs/ceph/crypto.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/fs/ceph/crypto.c b/fs/ceph/crypto.c
> index f3de43ccb470ddbd7945426d79f9024ae615c127..718c194ba5d8ce22c6a5d1dd687ec3761263e7e1 100644
> --- a/fs/ceph/crypto.c
> +++ b/fs/ceph/crypto.c
> @@ -272,7 +272,7 @@ int ceph_encode_encrypted_dname(struct inode *parent, char *buf, int elen)
> /* To understand the 240 limit, see CEPH_NOHASH_NAME_MAX comments */
> WARN_ON(elen > 240);
> if (dir != parent) // leading _ is already there; append _<inum>
> - elen += 1 + sprintf(p + elen, "_%ld", dir->i_ino);
> + elen += 1 + sprintf(p + elen, "_%" PRIino "u", dir->i_ino);
>
> out:
> kfree(cryptbuf);
> @@ -377,7 +377,7 @@ int ceph_fname_to_usr(const struct ceph_fname *fname, struct fscrypt_str *tname,
> if (!ret && (dir != fname->dir)) {
> char tmp_buf[BASE64_CHARS(NAME_MAX)];
>
> - name_len = snprintf(tmp_buf, sizeof(tmp_buf), "_%.*s_%ld",
> + name_len = snprintf(tmp_buf, sizeof(tmp_buf), "_%.*s_%" PRIino "u",
> oname->len, oname->name, dir->i_ino);
> memcpy(oname->name, tmp_buf, name_len);
> oname->len = name_len;
Looks good.
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Thanks,
Slava.
^ permalink raw reply
* [PATCH v2 110/110] vfs: remove kino_t typedef and PRIino format macro
From: Jeff Layton @ 2026-03-02 20:25 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,
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
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-0-e5388800dae0@kernel.org>
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>
---
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
^ permalink raw reply related
* [PATCH v2 109/110] uprobes: replace PRIino with %llu/%llx format strings
From: Jeff Layton @ 2026-03-02 20:25 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,
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
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-0-e5388800dae0@kernel.org>
Now that i_ino is u64 and the PRIino format macro has been removed,
replace all uses in uprobes with the concrete format strings.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
kernel/events/uprobes.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c
index d5bf51565851223730c63b50436c493c0c05eafd..4084e926e284487ea7e28b63721797b20f0dfefd 100644
--- a/kernel/events/uprobes.c
+++ b/kernel/events/uprobes.c
@@ -344,7 +344,7 @@ __update_ref_ctr(struct mm_struct *mm, unsigned long vaddr, short d)
static void update_ref_ctr_warn(struct uprobe *uprobe,
struct mm_struct *mm, short d)
{
- pr_warn("ref_ctr %s failed for inode: 0x%" PRIino "x offset: "
+ pr_warn("ref_ctr %s failed for inode: 0x%llx offset: "
"0x%llx ref_ctr_offset: 0x%llx of mm: 0x%p\n",
d > 0 ? "increment" : "decrement", uprobe->inode->i_ino,
(unsigned long long) uprobe->offset,
@@ -982,7 +982,7 @@ static struct uprobe *insert_uprobe(struct uprobe *uprobe)
static void
ref_ctr_mismatch_warn(struct uprobe *cur_uprobe, struct uprobe *uprobe)
{
- pr_warn("ref_ctr_offset mismatch. inode: 0x%" PRIino "x offset: 0x%llx "
+ pr_warn("ref_ctr_offset mismatch. inode: 0x%llx offset: 0x%llx "
"ref_ctr_offset(old): 0x%llx ref_ctr_offset(new): 0x%llx\n",
uprobe->inode->i_ino, (unsigned long long) uprobe->offset,
(unsigned long long) cur_uprobe->ref_ctr_offset,
--
2.53.0
^ permalink raw reply related
* [PATCH v2 108/110] net: replace PRIino with %llu/%llx format strings
From: Jeff Layton @ 2026-03-02 20:25 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,
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
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-0-e5388800dae0@kernel.org>
Now that i_ino is u64 and the PRIino format macro has been removed,
replace all uses in net with the concrete format strings.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
net/netrom/af_netrom.c | 4 ++--
net/rose/af_rose.c | 4 ++--
net/socket.c | 2 +-
net/x25/x25_proc.c | 4 ++--
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
index 883c8aa90235d746a688c5f38b812c20faa7c770..5fc54836dfa859379957bbfd299881e7d2f9ce89 100644
--- a/net/netrom/af_netrom.c
+++ b/net/netrom/af_netrom.c
@@ -1305,7 +1305,7 @@ static int nr_info_show(struct seq_file *seq, void *v)
seq_printf(seq, "%-9s ", ax2asc(buf, &nr->user_addr));
seq_printf(seq, "%-9s ", ax2asc(buf, &nr->dest_addr));
seq_printf(seq,
-"%-9s %-3s %02X/%02X %02X/%02X %2d %3d %3d %3d %3lu/%03lu %2lu/%02lu %3lu/%03lu %3lu/%03lu %2d/%02d %3d %5d %5d %" PRIino "u\n",
+"%-9s %-3s %02X/%02X %02X/%02X %2d %3d %3d %3d %3lu/%03lu %2lu/%02lu %3lu/%03lu %3lu/%03lu %2d/%02d %3d %5d %5d %llu\n",
ax2asc(buf, &nr->source_addr),
devname,
nr->my_index,
@@ -1329,7 +1329,7 @@ static int nr_info_show(struct seq_file *seq, void *v)
nr->window,
sk_wmem_alloc_get(s),
sk_rmem_alloc_get(s),
- s->sk_socket ? SOCK_INODE(s->sk_socket)->i_ino : (kino_t)0);
+ s->sk_socket ? SOCK_INODE(s->sk_socket)->i_ino : (u64)0);
bh_unlock_sock(s);
}
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
index ceef3e801030d4782b3d05374b6ef48a9d544b14..53557176b41ea76fd44a0554568dedac7b3c91a5 100644
--- a/net/rose/af_rose.c
+++ b/net/rose/af_rose.c
@@ -1479,7 +1479,7 @@ static int rose_info_show(struct seq_file *seq, void *v)
callsign = ax2asc(buf, &rose->source_call);
seq_printf(seq,
- "%-10s %-9s %-5s %3.3X %05d %d %d %d %d %3lu %3lu %3lu %3lu %3lu %3lu/%03lu %5d %5d %" PRIino "u\n",
+ "%-10s %-9s %-5s %3.3X %05d %d %d %d %d %3lu %3lu %3lu %3lu %3lu %3lu/%03lu %5d %5d %llu\n",
rose2asc(rsbuf, &rose->source_addr),
callsign,
devname,
@@ -1498,7 +1498,7 @@ static int rose_info_show(struct seq_file *seq, void *v)
rose->idle / (60 * HZ),
sk_wmem_alloc_get(s),
sk_rmem_alloc_get(s),
- s->sk_socket ? SOCK_INODE(s->sk_socket)->i_ino : (kino_t)0);
+ s->sk_socket ? SOCK_INODE(s->sk_socket)->i_ino : (u64)0);
}
return 0;
diff --git a/net/socket.c b/net/socket.c
index 24b89b8e39405972dd602f3373ae53d56a4c625d..89ad750ea536a0fffddd640ff0a47810be1cf16d 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -399,7 +399,7 @@ static const struct super_operations sockfs_ops = {
*/
static char *sockfs_dname(struct dentry *dentry, char *buffer, int buflen)
{
- return dynamic_dname(buffer, buflen, "socket:[%" PRIino "u]",
+ return dynamic_dname(buffer, buflen, "socket:[%llu]",
d_inode(dentry)->i_ino);
}
diff --git a/net/x25/x25_proc.c b/net/x25/x25_proc.c
index 196e1850e925e4034b2ac71df151b9b953fb2570..7e0dbff8f538f2682665b78e89ce87d56326655c 100644
--- a/net/x25/x25_proc.c
+++ b/net/x25/x25_proc.c
@@ -96,7 +96,7 @@ static int x25_seq_socket_show(struct seq_file *seq, void *v)
devname = x25->neighbour->dev->name;
seq_printf(seq, "%-10s %-10s %-5s %3.3X %d %d %d %d %3lu %3lu "
- "%3lu %3lu %3lu %5d %5d %" PRIino "u\n",
+ "%3lu %3lu %3lu %5d %5d %llu\n",
!x25->dest_addr.x25_addr[0] ? "*" : x25->dest_addr.x25_addr,
!x25->source_addr.x25_addr[0] ? "*" : x25->source_addr.x25_addr,
devname, x25->lci & 0x0FFF, x25->state, x25->vs, x25->vr,
@@ -104,7 +104,7 @@ static int x25_seq_socket_show(struct seq_file *seq, void *v)
x25->t21 / HZ, x25->t22 / HZ, x25->t23 / HZ,
sk_wmem_alloc_get(s),
sk_rmem_alloc_get(s),
- s->sk_socket ? SOCK_INODE(s->sk_socket)->i_ino : (kino_t)0);
+ s->sk_socket ? SOCK_INODE(s->sk_socket)->i_ino : (u64)0);
out:
return 0;
}
--
2.53.0
^ permalink raw reply related
* [PATCH v2 107/110] dma-buf: replace PRIino with %llu/%llx format strings
From: Jeff Layton @ 2026-03-02 20:25 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,
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
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-0-e5388800dae0@kernel.org>
Now that i_ino is u64 and the PRIino format macro has been removed,
replace all uses in dma-buf with the concrete format strings.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
drivers/dma-buf/dma-buf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
index 46ae9c77e6045a7cac7c318c3afe41daf88c8dee..8c16c8c425cc84cf379d7f790d054e140471c8ac 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -1708,7 +1708,7 @@ static int dma_buf_debug_show(struct seq_file *s, void *unused)
spin_lock(&buf_obj->name_lock);
- seq_printf(s, "%08zu\t%08x\t%08x\t%08ld\t%s\t%08" PRIino "u\t%s\n",
+ seq_printf(s, "%08zu\t%08x\t%08x\t%08ld\t%s\t%08llu\t%s\n",
buf_obj->size,
buf_obj->file->f_flags, buf_obj->file->f_mode,
file_count(buf_obj->file),
--
2.53.0
^ permalink raw reply related
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