mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Trond Myklebust <trond.myklebust@fys.uio.no>
To: Peter Chubb <peterc@gelato.unsw.edu.au>
Cc: linux-kernel@vger.kernel.org
Subject: Re: fcntl(F_GETLEASE) semantics??
Date: Wed, 10 Aug 2005 21:14:08 -0400	[thread overview]
Message-ID: <1123722848.8242.11.camel@lade.trondhjem.org> (raw)
In-Reply-To: <17146.37443.505736.147373@wombat.chubb.wattle.id.au>

to den 11.08.2005 Klokka 09:48 (+1000) skreiv Peter Chubb:
> Hi,
> 	The LTP test fcntl23 is failing.  It does, in essence, 
> 	fd = open(xxx, O_RDWR|O_CREAT, 0777);
> 	if (fcntl(fd, F_SETLEASE, F_RDLCK) == -1)
> 	   fail;
> 
> fcntl always returns EAGAIN here.  The manual page says that a read
> lease causes notification when `another process' opens the file for
> writing or truncates it.  The kernel implements `any process'
> (including the current one).
> 
> Which semantics are correct?  Personally I think that what the kernel
> implements is correct (you can't get a read lease unsless there are no
> writers _at_ _all_)

A read lease should mean that there are no writers at all.

If we were to allow the current process to open for write, then that
would still mean that nobody else can get a lease. In effect you have
been granted a lease with exclusive semantics (i.e. a write lease). You
might as well request that instead of pretending it is a read lease.

Cheers,
  Trond


  reply	other threads:[~2005-08-11  1:14 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-10 23:48 Peter Chubb
2005-08-11  1:14 ` Trond Myklebust [this message]
2005-08-11  1:29   ` Peter Chubb
2005-08-11  8:14     ` fcntl(F GETLEASE) semantics?? Michael Kerrisk
2005-08-11 11:51       ` Trond Myklebust
2005-08-11 12:27         ` Michael Kerrisk
2005-08-11 12:49           ` Trond Myklebust
2005-08-11 13:22             ` Michael Kerrisk
2005-08-11 14:06               ` Trond Myklebust
2005-08-11 14:12                 ` Trond Myklebust
2005-08-11 14:20                 ` J. Bruce Fields
2005-08-11 14:42                   ` Michael Kerrisk
2005-08-11 14:40                 ` Michael Kerrisk
2005-08-11 15:06                   ` Trond Myklebust
2005-08-11 15:25                     ` Trond Myklebust
2005-08-11 14:10               ` Stephen Rothwell
2005-08-11 18:41 ` fcntl(F_GETLEASE) semantics?? Heikki Orsila
2005-08-11 18:56   ` Trond Myklebust
2005-08-11 19:02     ` Heikki Orsila
2005-08-11 19:15       ` Trond Myklebust
2005-08-11 19:23         ` Heikki Orsila
2005-08-11 19:31           ` Trond Myklebust

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=1123722848.8242.11.camel@lade.trondhjem.org \
    --to=trond.myklebust@fys.uio.no \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterc@gelato.unsw.edu.au \
    /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

all inboxes | Powered by JetHome®