Subject: Re: kern/4099: Gather coredumps in one place
To: Ty Sarna <firstname.lastname@example.org>
From: John F. Woods <email@example.com>
Date: 09/09/1997 12:53:25
> Obviously if there is no name, one can't get the name. But when there is
> a name, it should be possible to get it :-). Is there no way to
> accomplish that in the kernel short of walking up the tree?
No. I apologize for what I hope is a way-too-basic explanation, but:
vnodes don't have names. Entry-names have vnodes. Walking the tree to find
a currently-plausible pathname for a vnode is the only way to come up with
a pathname for a file. The kernel does not keep around any string
corresponding to what the pathname of a vnode might have been the last time
it was looked up. This would be burdensome to keep, potentially expensive to
generate, and very expensive to keep correct (unless you declare that you don't
care if it's correct, in which case why maintain it at all?).
The "inodes don't have names, entry-names have inodes" principle has been a
fundamental design feature of UNIX ever since the first primitive UNIX
ancestor climbed out of the assembly language swamp and first basked in
the glow of the front-panel lights of a PDP-7.