Re: [PATCH 00/19] VFS: Filesystem information and notifications [ver #16]

From: David Howells
Date: Fri Feb 21 2020 - 07:57:23 EST


Stefan Metzmacher <metze@xxxxxxxxx> wrote:

> > fsinfo() may be called like the following, for example:
> >
> > struct fsinfo_params params = {
> > .at_flags = AT_SYMLINK_NOFOLLOW,
>
> Shouldn't all new syscalls be able to provide the RESOLVE_ flags
> supported in openat2?

If that's the rule, then fine. I presume these are a replacement for AT_*.
But the set of RESOLVE_* flags does not appear to be complete - and why's it
not in linux/fs.h if it's meant to be used by everything?

Anyway, it lacks a RESOLVE_NO_AUTOMOUNT flag. This is not quite the same as
the documented behaviour of RESOLVE_NO_XDEV.

> > len = fsinfo(AT_FDCWD, "/afs/grand.central.org/doc", &params,
> > &address, sizeof(address));
>
> Also passing sizeof(params) would allow future updates of fsinfo_params,
> also similar to openat2(), clone3()...

I can put that at the beginning of the params block or put dirfd in there. If
I remember rightly, 6-arg syscalls are discouraged because they may need
special handling on some arches.

David