All of lore.kernel.org
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
To: Pavel Emelyanov <xemul-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
Cc: Jeff Layton <jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org>,
	Alexander Viro
	<viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org>,
	linux-fsdevel
	<linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Linux Kernel Mailing List
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH] locks: Ability to test for flock presence on fd
Date: Tue, 9 Sep 2014 12:18:21 -0400	[thread overview]
Message-ID: <20140909161820.GH1776@fieldses.org> (raw)
In-Reply-To: <54061562.4080306-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>

On Tue, Sep 02, 2014 at 11:07:14PM +0400, Pavel Emelyanov wrote:
> > Would it make sense to return the lock type held instead, so you could
> > do one flock(fd, LOCK_TEST) instead of flock(fd, LOCK_TEST|LOCK_SH) and
> > flock(fd, LOCK_TEST|LOCK_EX) ?
> 
> Well, in our case we parse /proc/locks anyway to see what
> files at least to test for being locked. But what you propose
> looks even better. I'll look what can be done here.

Actually I think I prefer your version.  It seems cleaner to define
LOCK_TEST as returning the same result as you'd get if you actually
tried the lock, just without applying the lock.  It avoids having a
different return-value convention for this one command.  It might avoid
some ambiguity in cases where the flock might be denied for reasons
other than a conflicting flock (e.g. on NFS where flocks and fcntl locks
conflict).  It's closer to what GETLK does in the fcntl case.

--b.

WARNING: multiple messages have this Message-ID (diff)
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Pavel Emelyanov <xemul@parallels.com>
Cc: Jeff Layton <jlayton@poochiereds.net>,
	Alexander Viro <viro@zeniv.linux.org.uk>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-api@vger.kernel.org
Subject: Re: [PATCH] locks: Ability to test for flock presence on fd
Date: Tue, 9 Sep 2014 12:18:21 -0400	[thread overview]
Message-ID: <20140909161820.GH1776@fieldses.org> (raw)
In-Reply-To: <54061562.4080306@parallels.com>

On Tue, Sep 02, 2014 at 11:07:14PM +0400, Pavel Emelyanov wrote:
> > Would it make sense to return the lock type held instead, so you could
> > do one flock(fd, LOCK_TEST) instead of flock(fd, LOCK_TEST|LOCK_SH) and
> > flock(fd, LOCK_TEST|LOCK_EX) ?
> 
> Well, in our case we parse /proc/locks anyway to see what
> files at least to test for being locked. But what you propose
> looks even better. I'll look what can be done here.

Actually I think I prefer your version.  It seems cleaner to define
LOCK_TEST as returning the same result as you'd get if you actually
tried the lock, just without applying the lock.  It avoids having a
different return-value convention for this one command.  It might avoid
some ambiguity in cases where the flock might be denied for reasons
other than a conflicting flock (e.g. on NFS where flocks and fcntl locks
conflict).  It's closer to what GETLK does in the fcntl case.

--b.

  parent reply	other threads:[~2014-09-09 16:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-02 17:17 [PATCH] locks: Ability to test for flock presence on fd Pavel Emelyanov
2014-09-02 17:17 ` Pavel Emelyanov
2014-09-02 17:17 ` Pavel Emelyanov
2014-09-02 18:44 ` J. Bruce Fields
2014-09-02 19:07   ` Pavel Emelyanov
2014-09-02 19:07     ` Pavel Emelyanov
     [not found]     ` <54061562.4080306-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-09-02 19:43       ` J. Bruce Fields
2014-09-02 19:43         ` J. Bruce Fields
     [not found]         ` <20140902194300.GE31793-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2014-09-02 19:53           ` Jeff Layton
2014-09-02 19:53             ` Jeff Layton
2014-09-03 14:38             ` Pavel Emelyanov
2014-09-03 14:38               ` Pavel Emelyanov
     [not found]               ` <540727E0.6030005-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-09-03 15:44                 ` J. Bruce Fields
2014-09-03 15:44                   ` J. Bruce Fields
     [not found]                   ` <20140903154434.GC22731-uC3wQj2KruNg9hUCZPvPmw@public.gmane.org>
2014-09-03 15:47                     ` Pavel Emelyanov
2014-09-03 15:47                       ` Pavel Emelyanov
2014-09-03 15:47                       ` Pavel Emelyanov
2014-09-03 15:55               ` Jeff Layton
2014-09-03 15:55                 ` Jeff Layton
     [not found]                 ` <20140903115504.63a7ae6f-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2014-09-03 16:00                   ` Pavel Emelyanov
2014-09-03 16:00                     ` Pavel Emelyanov
2014-09-03 16:00                     ` Pavel Emelyanov
     [not found]                     ` <54073B02.2060707-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2014-09-03 16:03                       ` Jeff Layton
2014-09-03 16:03                         ` Jeff Layton
2014-09-03 16:03                         ` Jeff Layton
     [not found]                         ` <20140903120321.604f9039-9yPaYZwiELC+kQycOl6kW4xkIHaj4LzF@public.gmane.org>
2014-09-03 16:57                           ` Andy Lutomirski
2014-09-03 16:57                             ` Andy Lutomirski
2014-09-09 16:18       ` J. Bruce Fields [this message]
2014-09-09 16:18         ` J. Bruce Fields
2014-09-10 13:32         ` Jeff Layton

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=20140909161820.GH1776@fieldses.org \
    --to=bfields-uc3wqj2krung9huczpvpmw@public.gmane.org \
    --cc=jlayton-vpEMnDpepFuMZCB2o+C8xQ@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org \
    --cc=xemul-bzQdu9zFT3WakBO8gow8eQ@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 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.