Re: [PATCH 4/9] Implement fsopen() to prepare for a mount

From: Karel Zak
Date: Thu May 04 2017 - 09:34:26 EST


On Thu, May 04, 2017 at 02:06:51PM +0100, David Howells wrote:
> Karel Zak <kzak@xxxxxxxxxx> wrote:
> > The very basic mount(2) problem is that you have to parse
> > /proc/self/mountinfo to get information about the mounted filesystem.
> > It seems that your read() is also one way communication.
> >
> > What we really need is to have a way how to specify *what* you want to
> > read. The error message is not enough, I want to know the finally used
> > mount options, mount ID, etc. It would be nice to have something like
> >
> >
> > fsmount(mfd, AT_FDCWD, "/mnt", 0);
> >
> > write(mfd, "o");
> > read(mfd, ....); // read mount options
> >
> > write(mdf, "i");
> > read(mfd, ....); // read mount ID
> >
> >
> > but it seems ugly. Maybe introduce another function like
> >
> > fsinfo(mdf, "o", buf, bufsz)
> >
> > to get mount options (etc.) and to avoid separate write & read.
>
> What is it you're trying to do? Just read back the state of the new mount?

...read back the state of the new mount, because for example mount
options can be modified by FS driver. It would be also nice to have
API to get state of arbitrary mount without parsing mountinfo (the
file is huge on some systems).

Karel

--
Karel Zak <kzak@xxxxxxxxxx>
http://karelzak.blogspot.com