Subject: Re: second pass at the "store the path of the executable in struct proc" patch
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Christos Zoulas <christos@zoulas.com>
List: tech-kern
Date: 10/01/2007 10:22:55
On Oct 1, 9:13pm, yamt@mwd.biglobe.ne.jp (YAMAMOTO Takashi) wrote:
-- Subject: Re: second pass at the "store the path of the executable in struc
| > That is a good point, I just kept it because people requested it in the
| > past. I can keep it in the exec package for this particular use. I don't
| > mind getting rid of it. Then the pathref code can go too.
|
| who requested it, for what?
| does their purpose really need p_pathref,
| or can it be just served by name cache improvements as well?
I don't recall exactly. It was part of the discussion: Filesystems have no
business of calling getcwd_common() because the locking situation is hairy.
Better to store the pathname in struct proc and retrieve it from there.
I think that cache improvements can help that too.
| > | > It is good enough for the uses procfs programs nee (finding ../lib and
| > | > opening shared libraries), and you can never win with rename and unlink.
| > |
| > | never win? you can point the new path after rename.
| > | iirc, it's what you want to follow here. ie. what linux does.
| >
| > Does linux really update it after a rename?
|
| yes.
|
| > What happens if you delete it?
|
| "foobar (deleted)".
|
| > What happens if a process chroots?
|
| i don't know.
All of that can be handled by the reverse-namei cache.
| > | p_pathref seems completely different thing from namei improvements to me.
| >
| > I meant that the cache improvements will make sure that the name is always
| > found.
| >
| > christos
|
| i agree that improving name cache is the right way to implement
| these functionalities.
Ok, I will kill the pathref stuff then, and just use exec_package to
temporarily store AT_SUN_EXECNAME.
christos