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

From: Justin He
Date: Thu Jun 24 2021 - 22:33:15 EST




> -----Original Message-----
> From: Justin He
> Sent: Friday, June 25, 2021 10:30 AM
> To: Petr Mladek <pmladek@xxxxxxxx>
> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>; Sergey Senozhatsky
> <senozhatsky@xxxxxxxxxxxx>; Andy Shevchenko
> <andriy.shevchenko@xxxxxxxxxxxxxxx>; Rasmus Villemoes
> <linux@xxxxxxxxxxxxxxxxxx>; Jonathan Corbet <corbet@xxxxxxx>; Alexander
> Viro <viro@xxxxxxxxxxxxxxxxxx>; Linus Torvalds <torvalds@linux-
> foundation.org>; Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>; Eric
> Biggers <ebiggers@xxxxxxxxxx>; Ahmed S. Darwish <a.darwish@xxxxxxxxxxxxx>;
> linux-doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
> fsdevel@xxxxxxxxxxxxxxx; Matthew Wilcox <willy@xxxxxxxxxxxxx>; Christoph
> Hellwig <hch@xxxxxxxxxxxxx>; nd <nd@xxxxxxx>
> Subject: RE: [PATCH v2 2/4] lib/vsprintf.c: make '%pD' print the full path
> of file
>
> Hi Petr
>
> > -----Original Message-----
> > From: Petr Mladek <pmladek@xxxxxxxx>
> > Sent: Thursday, June 24, 2021 5:02 PM
> > To: Justin He <Justin.He@xxxxxxx>
> > Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>; Sergey Senozhatsky
> > <senozhatsky@xxxxxxxxxxxx>; Andy Shevchenko
> > <andriy.shevchenko@xxxxxxxxxxxxxxx>; Rasmus Villemoes
> > <linux@xxxxxxxxxxxxxxxxxx>; Jonathan Corbet <corbet@xxxxxxx>; Alexander
> > Viro <viro@xxxxxxxxxxxxxxxxxx>; Linus Torvalds <torvalds@linux-
> > foundation.org>; Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>; Eric
> > Biggers <ebiggers@xxxxxxxxxx>; Ahmed S. Darwish <a.darwish@xxxxxxxxxxxxx>;
> > linux-doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; linux-
> > fsdevel@xxxxxxxxxxxxxxx; Matthew Wilcox <willy@xxxxxxxxxxxxx>; Christoph
> > Hellwig <hch@xxxxxxxxxxxxx>; nd <nd@xxxxxxx>
> > Subject: Re: [PATCH v2 2/4] lib/vsprintf.c: make '%pD' print the full
> path
> > of file
> >
> > On Wed 2021-06-23 13:50:09, 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]:
> > > > 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.
> > >
> > > If someone invokes snprintf() with small but positive space,
> > > prepend_name_with_len() moves or truncates the string partially.
> >
> > Does this comment belong to the 1st patch?
> > prepend_name_with_len() is not called in this patch.
> >
> Tend to remove this paragraph since the comments in do_path_unsafe
> (patch1/4)
> was clear enough.
Hi,
I noticed your suggested commit msg in another thread. Please ignore above
my words.

--
Cheers,
Justin (Jia He)