David Howells <dhowells@xxxxxxxxxx> writes: > Karel Zak <kzak@xxxxxxxxxx> wrote: > >> It seems more elegant is to ask for Nth option as expected by fsinfo(). > > More elegant yes, but there's an issue with atomiticity[*]. I'm in the > process of switching to something that returns you a single buffer with all > the options in, but each key and each value is preceded by a length count. > > The reasons for not using separator characters are: > > (1) There's no separator char that cannot validly occur within an option[**]. *Blink* I had missed the cifs issue. So yes we certainly need a better way to encode things in the buffer. I just used a single string as an easy way to place everything in a buffer. > (2) Makes it possible to return binary values if we need to. I don't totally disagree with this. But I will point out that except for coda passing a file descriptor there are no filesystems that currently take or need binary options. I suspect that as long as userspace supports /etc/fstab and we in turn support /proc/mounts there is going to be a lot of pressure to keep the majority of options so they can be encoded in a string separated by commas. > David > > [*] Atomic with respect to remount calls, that is. There are also mount options that depend on each other and whose order matters with respect to other mount options extN's ("sb=<NNNN>") for example. > [**] Oh, and look at cifs where you can *change* the separator char during > option parsing ("sep=<char>").