On Thu 2021-07-15 09:14:05, Jia He wrote: > Previously, the specifier '%pD' was for printing dentry name of struct > file. It may not be perfect since 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. > It is worthy of noting that %pD uses the entire given buffer as a scratch > space. It might write something behind the trailing '\0' but never write > beyond the scratch space. > > Precision specifier 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@xxxxxxxxxxxxxx/ [1] > Suggested-by: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Jia He <justin.he@xxxxxxx> Reviewed-by: Petr Mladek <pmladek@xxxxxxxx> Best Regards, Petr