Technically speaking, we could change the format of "@@-1:00001" to "@@-1something00001" without breaking userspace unless userspace use raw PFS name "@@-1:00001" for some reasons.
In the previous post, I intentionally used raw PFS name, but users or userspace programs basically never directly use this format, so it really doesn't matter if the separator is ":" or something else as long as there is something between. In other words, when we have # ls -l /pfs/var.tmp lrwxr-xr-x 1 root wheel 10 Aug 26 2015 /pfs/var.tmp -> @@-1:00006 # grep "/var/tmp" /etc/fstab /pfs/var.tmp /var/tmp null rw 0 0 users would do # cd /pfs/var.tmp or # cd /var/tmp but users most likely never do # cd /pfs/@@-1:00006 or # cd /@@-1:00006 or # cd /var/tmp/@@-1:00006 or # cd /pfs/@@-1:00006/@@-1:00006/@@-1:00006/@@-1:00006 or # cd /@@-1:00001/@@-1:00002/@@-1:00003/@@-1:00004/@@-1:00005/@@-1:00006 which are all the same. 2016-06-17 0:28 GMT+09:00 Michael Neumann <[email protected]>: > > > On 06/16/16 02:26, Tomohiro Kusumi wrote: >> >> There was discussion about @@ in PFS path on irc channel a few days >> ago. This post has nothing to do with it, but explains what that @@ >> really means. This is very tricky, so most users probably had >> difficult time understanding what this @@ means. > > > This is a bit off-topic, but related to the PFS naming. Having ":" in the > path causes a lot of trouble. Dunno if this issue has been brought up by > jmarino. One such situation is the sysctl KERN_PROC_PATHNAME, e.g. used by > rust to find the path of the executable. The problem arises when this is > used in a PATH variable, as ":" is used there as a separator as well. The > alternative is using /proc/curproc/cmdline, but this requires a mounted > /proc filesystem which causes problems with the synth builder. > > Regards, > > Michael >
