2020-12-17 12:31:47

by Suresh Jayaraman

[permalink] [raw]
Subject: NFSv4x share reservations support

Hi all,

Does Linux NFS server disallow OPENs from SMB or local filesystem when a DENY_READ/DENY_WRITE (share reservation) is set on a file? If so, how is it implemented (with VFS flags)?

The packet captures show that the Linux NFS4x clients always OPEN with DENY_NONE (as there is no POSIX support for DENY_READ/DENY_WRITE). Looked at https://linux-nfs.org/wiki/index.php/Cluster_Coherent_NFSv4_and_Share_Reservations but was not sure if it uptodate.

Would like to understand what level of share reservations support is present in Linux NFS server today.

Thanks,
Suresh


2020-12-17 14:59:32

by Frank Filz

[permalink] [raw]
Subject: RE: NFSv4x share reservations support

> Does Linux NFS server disallow OPENs from SMB or local filesystem when a
> DENY_READ/DENY_WRITE (share reservation) is set on a file? If so, how is
it
> implemented (with VFS flags)?
>
> The packet captures show that the Linux NFS4x clients always OPEN with
> DENY_NONE (as there is no POSIX support for DENY_READ/DENY_WRITE).
> Looked at https://linux-
> nfs.org/wiki/index.php/Cluster_Coherent_NFSv4_and_Share_Reservations but
> was not sure if it uptodate.
>
> Would like to understand what level of share reservations support is
present in
> Linux NFS server today.

Since the Linux vfs layer has no way to represent deny modes, there is no
way for a Linux remote file system such as knfsd or Samba to coordinate on
deny reservations. There was a patch set years ago that would have added
deny modes to the Linux open system call, but it never got enough support to
be merged.

The only way to accomplish this is to either have a file system that
implements deny modes with some kind of out of band means for applications
and servers to communicate (such as an fcntl call) or for remote file system
servers to coordinate in the background. There are proprietary out of tree
file systems that provide this coordination, but nothing in tree to my
knowledge (if there is, please let me know, nfs-ganesha COULD utilize such
an out of band mechanism).

Frank