From: "J. Bruce Fields" <bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
To: Frank S Filz <ffilz-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
Cc: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-nfs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Pavel Shilovsky <piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>,
wine-devel-5vRYHf7vrtgdnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH v3 7/7] NFSD: Pass share reservations flags to VFS
Date: Mon, 11 Mar 2013 16:31:10 -0400 [thread overview]
Message-ID: <20130311203110.GF642@fieldses.org> (raw)
In-Reply-To: <OF1D20435B.D7D7B48E-ON87257B2B.006FB8C9-88257B2B.00702F2E-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
On Mon, Mar 11, 2013 at 01:25:20PM -0700, Frank S Filz wrote:
>
> "J. Bruce Fields" <bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org> wrote
> > On Mon, Mar 11, 2013 at 04:08:44PM -0400, Jeff Layton wrote:
> > > On Mon, 11 Mar 2013 15:36:38 -0400
> > > "J. Bruce Fields" <bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org> wrote:
> > > > > It doesn't look like this patch removes any of that old code
> though. I
> > > > > think it probably should, or there ought to be some consideration
> of
> > > > > how this new stuff will mesh with it.
> > > > >
> > > > > I think you have 2 choices here:
> > > > >
> > > > > 1/ rip out the old share reservation code altogether and require
> that
> > > > > filesystems mount with -o sharemand or whatever if they want to
> allow
> > > > > their enforcement
> > > > >
> > > > > 2/ make knfsd fall back to using the internal share reservation
> code
> > > > > when the mount option isn't enabled
> > > > >
> > > > > Personally, I think #1 would be fine, but Bruce may want to weigh
> in on
> > > > > what he'd prefer.
> > > >
> > > > #1 sounds good. Clients that use deny bits are few. My preference
> > > > would be to return an error to such clients in the case share locks
> > > > aren't available.
> > > >
> > > > (We're a little out of spec there, so I'm not sure which error. I
> think
> > > > the goal is to notify a human there's a problem with minimal
> collateral
> > > > damange.
> > > >
> > > > NFS4ERR_SERVERFAULT ("I'm a buggy server, sorry about that!") would
> > > > probably result in an IO error to the application.
> > > >
> > > > SHARE_DENIED strikes me as unsafe: an application would be in its
> rights
> > > > not to even check for that e.g. in the case of an exclusive create.
>
> Hmm, shouldn't the client catch that with a "default" case at least?
>
> > > > Maybe DELAY? Kind of ridiculous, but blocking the application
> > > > indefinitely would probably get someone's attention quickly enough
> > > > without doing any damnage.)
> > > >
> > >
> > > I agree that we should return an error, but hadn't considered what
> > > error. Given that hardly any NFS clients use them, I'd probably just go
> > > with NFS4ERR_SERVERFAULT, and maybe throw a printk or something on the
> > > server about enabling share reservations for superblock x:y.
> >
> > Sounds reasonable.
>
> If I'm understanding, the suggestion is a mount option to enable share
> reservations and if so, they will be mandatory?
>
> In that case, perhaps we want to keep the existing knfsd code as a
> fallback, someone might want to support them, but not have them be
> mandatory (if nothing else, you may cause consternation from folks running
> pynfs against a default configured knfsd server....).
Understood, but the benefit is slight and the cost (in complexity) is
rather large. On balance I'd far prefer to get rid of any fallback code
entirely.
> In the Ganesha project, we provide an internal implementation of share
> reservations for when the underlying system can not support them.
>
> Another bit to consider, does lockd provide share reservations for NLM?
Yes. I don't know if anyone's tested them in recent memory! But it
might be interesting to write a few simple tests for them and hook them
up to this on the server side. (I don't know if they'd be worth
implementing on the client side?)
--b.
next prev parent reply other threads:[~2013-03-11 20:31 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-28 15:25 [PATCH v3 0/7] Add O_DENY* support for VFS and CIFS/NFS Pavel Shilovsky
2013-02-28 15:25 ` [PATCH v3 1/7] fcntl: Introduce new O_DENY* open flags Pavel Shilovsky
2013-02-28 15:25 ` [PATCH v3 5/7] CIFS: Translate SHARING_VIOLATION to -ETXTBSY error code for SMB2 Pavel Shilovsky
[not found] ` <1362065133-9490-6-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 18:35 ` Jeff Layton
[not found] ` <20130311143507.737f2ab0-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-11 18:59 ` Pavel Shilovsky
2013-02-28 15:25 ` [PATCH v3 6/7] NFSv4: Add O_DENY* open flags support Pavel Shilovsky
[not found] ` <1362065133-9490-7-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 18:54 ` Jeff Layton
[not found] ` <20130311145434.707f5ed1-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-12 12:35 ` Jeff Layton
[not found] ` <20130312083517.770a17f6-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2013-04-04 10:30 ` Pavel Shilovsky
[not found] ` <CAKywueRSTipeO8V-oNrM=jM8WUo7Dd0ahj_Xcw8f8ViE3NGEOQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-04-04 13:02 ` Jeff Layton
[not found] ` <20130404090232.30457b32-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-04-04 17:45 ` Pavel Shilovsky
[not found] ` <1362065133-9490-1-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-02-28 15:25 ` [PATCH v3 2/7] vfs: Add O_DENYREAD/WRITE flags support for open syscall Pavel Shilovsky
[not found] ` <1362065133-9490-3-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 18:46 ` Jeff Layton
[not found] ` <20130311144609.2ba86964-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-11 18:57 ` Pavel Shilovsky
[not found] ` <CAKywueTEXOH3s0z2X7e=QugJaQAZ6JPoaYmYPnFLHMOTC7_y4w-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-03-11 19:10 ` Jeff Layton
2013-02-28 15:25 ` [PATCH v3 3/7] CIFS: Add O_DENY* open flags support Pavel Shilovsky
[not found] ` <1362065133-9490-4-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 18:50 ` Jeff Layton
2013-02-28 15:25 ` [PATCH v3 4/7] CIFS: Use NT_CREATE_ANDX command for forcemand mounts Pavel Shilovsky
2013-03-11 18:52 ` Jeff Layton
2013-02-28 15:25 ` [PATCH v3 7/7] NFSD: Pass share reservations flags to VFS Pavel Shilovsky
[not found] ` <1362065133-9490-8-git-send-email-piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org>
2013-03-11 19:05 ` Jeff Layton
[not found] ` <20130311150540.119abd63-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-11 19:36 ` J. Bruce Fields
[not found] ` <20130311193638.GB642-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2013-03-11 20:08 ` Jeff Layton
[not found] ` <20130311160844.7dedf15a-4QP7MXygkU+dMjc06nkz3ljfA9RmPOcC@public.gmane.org>
2013-03-11 20:11 ` J. Bruce Fields
2013-03-11 20:25 ` Frank S Filz
[not found] ` <OF1D20435B.D7D7B48E-ON87257B2B.006FB8C9-88257B2B.00702F2E-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2013-03-11 20:31 ` J. Bruce Fields [this message]
2013-03-11 20:37 ` Frank S Filz
2013-02-28 21:53 ` [PATCH v3 0/7] Add O_DENY* support for VFS and CIFS/NFS Andy Lutomirski
2013-03-01 6:44 ` Pavel Shilovsky
2013-03-01 8:17 ` David Laight
[not found] ` <512FD1D5.3010106-3s7WtUTddSA@public.gmane.org>
2013-03-04 21:19 ` J. Bruce Fields
[not found] ` <20130304211923.GI20389-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2013-03-04 22:49 ` Simo
[not found] ` <5135250A.30604-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
2013-03-05 18:13 ` J. Bruce Fields
[not found] ` <20130305181306.GA15816-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2013-03-05 19:07 ` Simo
[not found] ` <51364285.4040406-eUNUBHrolfbYtjvyW6yDsg@public.gmane.org>
2013-03-11 13:59 ` Pavel Shilovsky
2013-03-11 18:18 ` Andy Lutomirski
[not found] ` <CALCETrXvyXqx+R2wSROEOb+qrSBpPeCGT_9Z6N+QJOU=1aikPw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-03-11 18:21 ` J. Bruce Fields
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=20130311203110.GF642@fieldses.org \
--to=bfields-uc3wqj2krung9huczpvpmw@public.gmane.org \
--cc=ffilz-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
--cc=jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=linux-cifs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-nfs-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-nfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=piastry-7qunaywFIewox3rIn2DAYQ@public.gmane.org \
--cc=wine-devel-5vRYHf7vrtgdnm+yROfE0A@public.gmane.org \
/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;
as well as URLs for NNTP newsgroup(s).