Thread (21 messages) 21 messages, 4 authors, 2021-06-24

Re: [PATCH v5 2/4] lib/vsprintf.c: make '%pD' print the full path of file

From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: 2021-06-22 14:40:04
Also in: linux-fsdevel, lkml

On Tue, Jun 22, 2021 at 10:06:32PM +0800, Jia He wrote:
Previously, the specifier '%pD' is for printing dentry name of struct
file. It may not be perfect (by default it only prints one component.)

As suggested by Linus [1]:
Citing is better looked when you shift right it by two white spaces.
A dentry has a parent, but at the same time, a dentry really does
inherently have "one name" (and given just the dentry pointers, you
can't show mount-related parenthood, so in many ways the "show just
one name" makes sense for "%pd" in ways it doesn't necessarily for
"%pD"). But while a dentry arguably has that "one primary component",
a _file_ is certainly not exclusively about that last component.

Hence change the behavior of '%pD' to print the full path of that file.

Precision is never going to be used with %p (or any of its kernel
extensions) if -Wformat is turned on.
Link: https://lore.kernel.org/lkml/CAHk-=wimsMqGdzik187YWLb-ru+iktb4MYbMQG1rnZ81dXYFVg@mail.gmail.com/ (local) [1]
Shouldn't be blank lines in the tag block. I have an impression that I have
commented on this already...

...
-last components.  %pD does the same thing for struct file.
+last components.  %pD prints full file path together with mount-related
I guess you may also convert double space to a single one.
+parenthood.
-- 
With Best Regards,
Andy Shevchenko

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help