Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > On Tue, 2 Sept 2025 at 08:03, Siddhesh Poyarekar <siddhesh@xxxxxxxxxx> wrote: > > > > This was actually the original issue I had tried to address, escaping > > '#' in the beginning of the devname because it ends up in the beginning > > of the line, thus masking out the entire line in mounts. I don't > > remember at what point I concluded that escaping '#' always was the > > answer (maybe to protect against any future instances where userspace > > ends up ignoring the rest of the line following the '#'), but it appears > > to be wrong. > > I wonder if instead of escaping hash-marks we could just disallow them > as the first character in devname. The problem with that is that it appears that people are making use of this. Mount /afs with "-o dynroot" isn't a problem as that shouldn't be given a device name - and that's the main way people access AFS. With OpenAFS I don't think you can do this at all since it has a single superblock that it crams everything under. For AuriStor, I think you can mount individual volumes, but I'm not sure how it works. For Linux's AFS, I made every volume have its own superblock. The standard format of AFS volume names is [%#][<cell>:]<volume-name-or-id> but I could make it an option to stick something on the front and use that internally and display that in /proc/mounts, e.g.: mount afs:#openafs.org:afs.root /mnt which would at least mean that sh and bash wouldn't need the "#" escaping. The problem is that the # and the % have specific documented meanings, so if I was to get rid of the '#' entirely, I would need some other marker. Maybe it would be sufficient to just go on the presence or not of a '%'. Maybe I could go with something like: openafs.org:root.cell:ro openafs.org:root.cell:rw openafs.org:root.cell:bak rather than use #/%. I don't think there should be a problem with still accepting lines beginning with '#' in mount() if I display them with an appropriate prefix. That would at least permit backward compatibility. David