From: "Frank Filz" <ffilzlnx@mindspring.com>
To: <Volker.Lendecke@SerNet.DE>
Cc: "'Jeff Layton'" <jlayton@redhat.com>,
"'Scott Lovenberg'" <scott.lovenberg@gmail.com>,
"'Jeremy Allison'" <jra@samba.org>,
"'Andreas Dilger'" <adilger@dilger.ca>,
<linux-fsdevel@vger.kernel.org>,
"'Ganesha NFS List'" <nfs-ganesha-devel@lists.sourceforge.net>,
<samba-technical@lists.samba.org>,
"'Linux Kernel Mailing List'" <linux-kernel@vger.kernel.org>
Subject: RE: [RFC PATCH 0/5] locks: implement "filp-private" (aka UNPOSIX) locks
Date: Mon, 14 Oct 2013 08:23:03 -0700 [thread overview]
Message-ID: <02a901cec8f1$47ce0280$d76a0780$@mindspring.com> (raw)
In-Reply-To: <E1VVcWF-00HTkJ-B9@intern.SerNet.DE>
> http://www.samba.org/samba/news/articles/low_point/tale_two_stds_os2
> > > .html
> > >
> > > See the section entitled "First Implementation Past the Post".
> >
> > Interesting that Jeremy actually suggested the implementation should
> > have had an arbitrary lock owner as part of the flock structure:
> >
> > "This is an example of a POSIX interface not being future-proofed
> > against modern techniques such as threading. A simple amendment to the
> > original primitive allowing a user-defined "locking context" (like a
> > process id) to be entered in the struct flock structure used to define
> > the lock would have fixed this problem, along with extra flags
> > allowing the number of locks per context to be recorded if needed."
> >
> > But I'm happy with the lock context per kernel struct file as a
> > solution, especially since that will allow locks to be sensibly passed
> > to a forked process.
> >
> > Another next step would be an asynchronous blocking lock...
>
> Yes, please :-)
What model would be useful to you (and for what project)? One thing I could
think of is since we have a file descriptor for each lock owner/file pair,
we could do something like select on those descriptors, got to think about
how that would actually work though... The vfs lock layer does inherently
support a kernel call back when a blocked lock can be unblocked, so we just
need to figure out the best way to hook that up to user space in a way that
doesn't require a thread per blocked lock.
Frank
next prev parent reply other threads:[~2013-10-14 15:23 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-11 12:25 [RFC PATCH 0/5] locks: implement "filp-private" (aka UNPOSIX) locks Jeff Layton
2013-10-11 12:25 ` Jeff Layton
2013-10-11 12:25 ` [RFC PATCH 1/5] locks: consolidate checks for compatible filp->f_mode values in setlk handlers Jeff Layton
2013-10-11 12:25 ` [RFC PATCH 2/5] locks: add definitions for F_RDLCKP and F_WRLCKP Jeff Layton
2013-10-11 12:25 ` Jeff Layton
2013-10-11 12:25 ` [RFC PATCH 3/5] locks: skip FL_FILP_PRIVATE locks on close unless we're closing the correct filp Jeff Layton
2013-10-11 12:25 ` [RFC PATCH 4/5] locks: handle merging of locks when FL_FILP_PRIVATE is set Jeff Layton
2013-10-11 12:25 ` [RFC PATCH 5/5] locks: show private lock types in /proc/locks Jeff Layton
2013-10-11 13:35 ` [RFC PATCH 0/5] locks: implement "filp-private" (aka UNPOSIX) locks Jeff Layton
2013-10-11 13:35 ` Jeff Layton
2013-10-11 15:20 ` Frank Filz
2013-10-11 15:50 ` Jeff Layton
2013-10-11 15:50 ` Jeff Layton
2013-10-11 17:07 ` Frank Filz
2013-10-11 18:42 ` Jeff Layton
2013-10-11 18:42 ` Jeff Layton
2013-10-11 18:53 ` Frank Filz
2013-10-12 9:10 ` Volker Lendecke
2013-10-12 9:10 ` Volker Lendecke
2013-10-11 20:07 ` J. Bruce Fields
2013-10-11 20:07 ` J. Bruce Fields
2013-10-11 21:36 ` Andreas Dilger
2013-10-11 21:36 ` Andreas Dilger
2013-10-11 23:21 ` Jeff Layton
2013-10-11 23:21 ` Jeff Layton
2013-10-11 23:49 ` Jeremy Allison
2013-10-12 0:18 ` Scott Lovenberg
2013-10-12 0:18 ` Scott Lovenberg
2013-10-12 0:42 ` Jeff Layton
2013-10-12 0:42 ` Jeff Layton
2013-10-12 18:12 ` Frank Filz
2013-10-14 7:24 ` Volker Lendecke
2013-10-14 15:23 ` Frank Filz [this message]
2013-10-15 8:56 ` Volker Lendecke
2013-10-15 8:56 ` Volker Lendecke
2013-10-12 20:56 ` Scott Lovenberg
2013-10-12 9:20 ` Stefan (metze) Metzmacher
2013-10-12 11:47 ` Jeff Layton
2013-10-12 18:10 ` [Nfs-ganesha-devel] " Frank Filz
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='02a901cec8f1$47ce0280$d76a0780$@mindspring.com' \
--to=ffilzlnx@mindspring.com \
--cc=Volker.Lendecke@SerNet.DE \
--cc=adilger@dilger.ca \
--cc=jlayton@redhat.com \
--cc=jra@samba.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nfs-ganesha-devel@lists.sourceforge.net \
--cc=samba-technical@lists.samba.org \
--cc=scott.lovenberg@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.