Re: Upcoming: Notifications, FS notifications and fsinfo()
From: Lennart Poettering
Date: Fri Apr 03 2020 - 11:12:26 EST
On Fr, 03.04.20 13:38, Miklos Szeredi (miklos@xxxxxxxxxx) wrote:
> On Fri, Apr 3, 2020 at 1:11 PM Lennart Poettering <mzxreary@xxxxxxxxxxx> wrote:
> >
> > On Fr, 03.04.20 09:44, Ian Kent (raven@xxxxxxxxxx) wrote:
> >
> > > > Currently the only way to find the mount id from a path is by parsing
> > > > /proc/self/fdinfo/$fd. It is trivial, however, to extend statx(2) to
> > > > return it directly from a path. Also the mount notification queue
> > > > that David implemented contains the mount ID of the changed mount.
> >
> > I would love to have the mount ID exposed via statx().
>
> Here's a patch.
Oh, this is excellent. I love it, thanks!
BTW, while we are at it: one more thing I'd love to see exposed by
statx() is a simple flag whether the inode is a mount point. There's
plenty code that implements a test like this all over the place, and
it usually isn't very safe. There's one implementation in util-linux
for example (in the /usr/bin/mountpoint binary), and another one in
systemd. Would be awesome to just have a statx() return flag for that,
that would make things *so* much easier and more robust. because in
fact most code isn't very good that implements this, as much of it
just compares st_dev of the specified file and its parent. Better code
compares the mount ID, but as mentioned that's not as pretty as it
could be so far...
Lennart
--
Lennart Poettering, Berlin