[ Added Andy, who replied to the separate thread where Jia already posted the patch ] On Wed, Apr 28, 2021 at 12:38 AM Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> wrote: > > So the patch makes sense to me. If somebody says '%pD5', it would get > capped at 4 instead of being forced down to 1. But note that while that > grep only produces ~36 hits, it also affects %pd, of which there are > ~200 without a 2-4 following (including some vsprintf test cases that > would break). So I think one would first have to explicitly support '1', > switch over some users by adding that 1 in their format string > (test_vsprintf in particular), then flip the default for 'no digit > following %p[dD]'. Yeah, and the "show one name" actually makes sense for "%pd", because that's about the *dentry*. A dentry has a parent, yes, 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. So you're right - my "how about something like this" patch is too simplistic. The default number of components to show should be about whether it's %pd or %pD. That also does explain the arguably odd %pD defaults: %pd came first, and then %pD came afterwards. Linus