Messages in this thread | | | Date | Tue, 11 Aug 2020 21:31:05 +0200 | From | Lennart Poettering <> | Subject | Re: file metadata via fs API (was: [GIT PULL] Filesystem Information) |
| |
On Di, 11.08.20 20:49, Miklos Szeredi (miklos@szeredi.hu) wrote:
> On Tue, Aug 11, 2020 at 6:05 PM Linus Torvalds > <torvalds@linux-foundation.org> wrote: > > > and then people do "$(srctree)/". If you haven't seen that kind of > > pattern where the pathname has two (or sometimes more!) slashes in the > > middle, you've led a very sheltered life. > > Oh, I have. That's why I opted for triple slashes, since that should > work most of the time even in those concatenated cases. And yes, I > know, most is not always, and this might just be hiding bugs, etc... > I think the pragmatic approach would be to try this and see how many > triple slash hits a normal workload gets and if it's reasonably low, > then hopefully that together with warnings for O_ALT would be enough.
There's no point. Userspace relies on the current meaning of triple slashes. It really does.
I know many places in systemd where we might end up with a triple slash. Here's a real-life example: some code wants to access the cgroup attribute 'cgroup.controllers' of the root cgroup. It thus generates the right path in the fs for it, which is the concatenation of "/sys/fs/cgroup/" (because that's where cgroupfs is mounted), of "/" (i.e. for the root cgroup) and of "/cgroup.controllers" (as that's the file the attribute is exposed under).
And there you go:
"/sys/fs/cgroup/" + "/" + "/cgroup.controllers" → "/sys/fs/cgroup///cgroup.controllers"
This is a real-life thing. Don't break this please.
Lennart
-- Lennart Poettering, Berlin
| |