public inbox for linux-nfs@vger.kernel.org
 help / color / mirror / Atom feed
From: "Frank Filz" <ffilzlnx@mindspring.com>
To: "'Suresh Jayaraman'" <sjayaraman@tintri.com>,
	<linux-nfs@vger.kernel.org>
Subject: RE: NFSv4x share reservations support
Date: Thu, 17 Dec 2020 06:57:46 -0800	[thread overview]
Message-ID: <034401d6d484$fb408710$f1c19530$@mindspring.com> (raw)
In-Reply-To: <BY5PR11MB4152DF20ADAAC8F694C80AF1B8C40@BY5PR11MB4152.namprd11.prod.outlook.com>

> 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


      reply	other threads:[~2020-12-17 14:58 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-17 12:30 NFSv4x share reservations support Suresh Jayaraman
2020-12-17 14:57 ` Frank Filz [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='034401d6d484$fb408710$f1c19530$@mindspring.com' \
    --to=ffilzlnx@mindspring.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=sjayaraman@tintri.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox