From: Christoph Hellwig <hch@infradead.org>
To: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Christoph Hellwig <hch@infradead.org>,
Arnd Bergmann <arnd@arndb.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
Bryan Schumaker <bjschuma@netapp.com>,
linux-nfs@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: nfsd changes for 2.6.37
Date: Wed, 27 Oct 2010 11:19:59 -0400 [thread overview]
Message-ID: <20101027151959.GA17370@infradead.org> (raw)
In-Reply-To: <20101027151645.GD6328@fieldses.org>
On Wed, Oct 27, 2010 at 11:16:46AM -0400, J. Bruce Fields wrote:
> On Wed, Oct 27, 2010 at 10:59:29AM -0400, Christoph Hellwig wrote:
> > On Wed, Oct 27, 2010 at 10:55:39AM -0400, J. Bruce Fields wrote:
> > > Hm, two problems:
> > > - We introduce the possibility of fcntl(fd, F_SETLEASE, F_UNLCK)
> > > failing with ENOMEM.
> >
> > splitt ->setlease into ->add_least and ->delete_lease. No need to pass
> > in a structure for the later. No need to return one either.
>
> Sounds fine to me.
>
> >
> > > - fasync_helper(.,.,1,.) sleeps. Argh.
> >
> > That's not new..
>
> So we could do
>
> unlock_flocks();
> error = fasync_helper(fd, filp, 1, &fl->fl_fasync);
> lock_flocks();
>
> and say, hey, we didn't introduce any new bug there. But....
>
> I don't know, maybe add a version of fasync_add_entry() that takes a
> preallocated fasync_struct??
Or just convert the lock to a sleeping mutex. Now that we have adaptive
spinning the horrible behaviour that Willy saw years ago might not be
that bad any more. That'll need some benchmarking, though.
next prev parent reply other threads:[~2010-10-27 15:20 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-26 16:45 nfsd changes for 2.6.37 J. Bruce Fields
2010-10-26 17:22 ` J. Bruce Fields
2010-10-26 17:39 ` Linus Torvalds
[not found] ` <AANLkTi=emsmLNFSV=j48d37JQxecQmNGZwY9OYdoKjeS-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-10-26 17:46 ` J. Bruce Fields
2010-10-26 20:18 ` Arnd Bergmann
2010-10-26 20:35 ` Bryan Schumaker
2010-10-26 20:55 ` Arnd Bergmann
2010-10-26 21:02 ` Linus Torvalds
2010-10-26 21:24 ` J. Bruce Fields
2010-10-26 21:37 ` Linus Torvalds
2010-10-26 21:44 ` J. Bruce Fields
2010-10-26 22:11 ` J. Bruce Fields
2010-10-26 22:41 ` J. Bruce Fields
2010-10-27 7:21 ` Arnd Bergmann
2010-10-27 8:39 ` Christoph Hellwig
2010-10-27 13:39 ` J. Bruce Fields
2010-10-27 13:46 ` Arnd Bergmann
2010-10-27 14:55 ` J. Bruce Fields
2010-10-27 14:59 ` Christoph Hellwig
2010-10-27 15:16 ` J. Bruce Fields
2010-10-27 15:19 ` Christoph Hellwig [this message]
2010-10-27 15:23 ` Arnd Bergmann
2010-10-27 15:28 ` J. Bruce Fields
2010-10-27 15:31 ` Christoph Hellwig
2010-10-27 16:12 ` Linus Torvalds
[not found] ` <AANLkTinTm-LwjfBfoFUyp5Dj8S2hexnHGQGpZiOWqyMY-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-10-27 16:46 ` J. Bruce Fields
2010-10-27 17:32 ` Linus Torvalds
2010-10-27 17:40 ` J. Bruce Fields
2010-10-27 18:20 ` Arnd Bergmann
2010-10-27 18:42 ` Linus Torvalds
2010-10-27 18:43 ` Linus Torvalds
2010-10-27 19:48 ` Arnd Bergmann
2010-10-27 20:01 ` J. Bruce Fields
2010-10-27 20:20 ` Arnd Bergmann
2010-10-27 20:24 ` J. Bruce Fields
2010-10-30 21:25 ` J. Bruce Fields
2010-10-30 21:31 ` [PATCH 1/4] locks: prevent ENOMEM on lease unlock J. Bruce Fields
2010-10-30 21:31 ` [PATCH 2/4] locks: fix leaks on setlease errors J. Bruce Fields
2010-10-31 11:10 ` Christoph Hellwig
2010-11-01 17:24 ` J. Bruce Fields
2010-11-01 17:41 ` Christoph Hellwig
2010-11-01 18:34 ` J. Bruce Fields
2010-10-30 21:31 ` [PATCH 3/4] locks: fix setlease methods to free passed-in lock J. Bruce Fields
2010-10-30 21:31 ` [PATCH 4/4] nfsd4: initialize delegation pointer to lease J. Bruce Fields
2010-10-31 2:04 ` Christoph Hellwig
2010-10-31 3:04 ` J. Bruce Fields
2010-10-30 21:40 ` nfsd changes for 2.6.37 Arnd Bergmann
2010-10-31 2:07 ` Christoph Hellwig
2010-10-31 3:05 ` J. Bruce Fields
2010-10-31 12:34 ` Christoph Hellwig
2010-10-31 12:35 ` [PATCH 1/2] locks: let the caller free file_lock on ->setlease failure Christoph Hellwig
2010-11-03 20:41 ` J. Bruce Fields
2010-11-04 1:40 ` J. Bruce Fields
2010-11-04 1:41 ` J. Bruce Fields
2010-11-06 19:03 ` Christoph Hellwig
2010-11-06 19:03 ` Christoph Hellwig
2010-11-08 16:10 ` J. Bruce Fields
2010-10-31 12:35 ` [PATCH 2/2] locks: remove fl_copy_lock lock_manager operation Christoph Hellwig
2010-11-01 15:02 ` nfsd changes for 2.6.37 J. Bruce Fields
2010-11-06 19:04 ` Christoph Hellwig
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=20101027151959.GA17370@infradead.org \
--to=hch@infradead.org \
--cc=arnd@arndb.de \
--cc=bfields@fieldses.org \
--cc=bjschuma@netapp.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=torvalds@linux-foundation.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).