On Mon, Jan 3, 2022 at 4:34 PM J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote: > > On Fri, Dec 17, 2021 at 03:48:46PM -0500, trondmy@xxxxxxxxxx wrote: > > From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx> > > > > NFSv4 has support for a number of extra attributes that are of interest > > to Samba when it is used to re-export a filesystem to Windows clients. > > Aside from the btime, which is of interest in statx(), Windows clients > > have an interest in determining the status of the 'hidden', and 'system' > > flags. > > Backup programs want to read the 'archive' flags and the 'time backup' > > attribute. > > Finally, the 'offline' flag can tell whether or not a file needs to be > > staged by an HSM system before it can be read or written to. > > > > The patch series also adds an ioctl() to allow userspace retrieval and > > setting of these attributes where appropriate. It also adds an ioctl() > > to allow retrieval of the raw NFSv4 ACCESS information, to allow more > > fine grained determination of the user's access rights to a file or > > directory. All of this information is of use for Samba. > > Same question, what filesystem and server are you testing against? I have tested the patch set against the Netapp filer. generic/528 tests the btime attribute. I'm not sure if xfstests has any other tests for archive, offline, hidden attributes. > > --b. > > > > > Anne Marie Merritt (3): > > nfs: Add timecreate to nfs inode > > nfs: Add 'archive', 'hidden' and 'system' fields to nfs inode > > nfs: Add 'time backup' to nfs inode > > > > Richard Sharpe (1): > > NFS: Support statx_get and statx_set ioctls > > > > Trond Myklebust (4): > > NFS: Expand the type of nfs_fattr->valid > > NFS: Return the file btime in the statx results when appropriate > > NFSv4: Support the offline bit > > NFSv4: Add an ioctl to allow retrieval of the NFS raw ACCESS mask > > > > fs/nfs/dir.c | 71 ++--- > > fs/nfs/getroot.c | 3 +- > > fs/nfs/inode.c | 147 +++++++++- > > fs/nfs/internal.h | 10 + > > fs/nfs/nfs3proc.c | 1 + > > fs/nfs/nfs4_fs.h | 31 +++ > > fs/nfs/nfs4file.c | 550 ++++++++++++++++++++++++++++++++++++++ > > fs/nfs/nfs4proc.c | 175 +++++++++++- > > fs/nfs/nfs4trace.h | 8 +- > > fs/nfs/nfs4xdr.c | 240 +++++++++++++++-- > > fs/nfs/nfstrace.c | 5 + > > fs/nfs/nfstrace.h | 9 +- > > fs/nfs/proc.c | 1 + > > include/linux/nfs4.h | 1 + > > include/linux/nfs_fs.h | 15 ++ > > include/linux/nfs_fs_sb.h | 2 +- > > include/linux/nfs_xdr.h | 80 ++++-- > > include/uapi/linux/nfs.h | 101 +++++++ > > 18 files changed, 1356 insertions(+), 94 deletions(-) > > > > -- > > 2.33.1