[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87h8dqs1xw.fsf@xmission.com>
Date: Wed, 30 Jan 2019 07:35:39 -0600
From: ebiederm@...ssion.com (Eric W. Biederman)
To: David Howells <dhowells@...hat.com>
Cc: Karel Zak <kzak@...hat.com>, linux-api@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Al Viro <viro@...IV.linux.org.uk>,
Miklos Szeredi <miklos@...redi.hu>,
Linus Torvalds <torvalds@...ux-foundation.org>,
util-linux@...r.kernel.org, Andy Lutomirski <luto@...capital.net>
Subject: Re: [RFD] A mount api that notices previous mounts
David Howells <dhowells@...hat.com> writes:
> Karel Zak <kzak@...hat.com> 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>").
Powered by blists - more mailing lists