mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Michael Kerrisk" <mtk-lkml@gmx.net>
To: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: peterc@gelato.unsw.edu.au, linux-kernel@vger.kernel.org,
	sfr@canb.auug.org.au, matthew@wil.cx, michael.kerrisk@gmx.net
Subject: Re: fcntl(F GETLEASE) semantics??
Date: Thu, 11 Aug 2005 15:22:39 +0200 (MEST)	[thread overview]
Message-ID: <994.1123766559@www9.gmx.net> (raw)
In-Reply-To: <1123764552.8251.43.camel@lade.trondhjem.org>

Trond,

> Von: Trond Myklebust <trond.myklebust@fys.uio.no>
>
> to den 11.08.2005 Klokka 14:27 (+0200) skreiv Michael Kerrisk:
> > And I pointed out that the existing behaviour (which is 
> > still current in 2.6.13-rc4) is inconsistent:
> > 
> > http://marc.theaimsgroup.com/?l=linux-kernel&m=111511455406623&w=2
> > 
> >     Some further testing showed the following (both open() 
> >     and fcntl(F_SETLEASE) from same process):
> > 
> >      open()  |  lease requested
> >       flag   | F_RDLCK  | F_WRLCK
> >     ---------+----------+----------
> >     O_RDONLY | okay     |  okay
> >     O_WRONLY | EAGAIN   |  okay
> >     O_RDWR   | EAGAIN   |  okay
> > 
> > In other words, a process can open a file read-write, and
> > can't place a read lease, but can place a write lease!  
> > That does not seem to make any sense to me.
> 
> Then what do you think that leases are supposed to do, and why?

As noted already, I don't know much of CIFS and SAMBA.
But are you saying that it is sensible and consistent that
"a process can open a file read-write, and can't place a 
read lease, but can place a write lease"?  

> An exclusive (i.e. write) lease should mean that _nothing_ other than
> your process is accessing the file. A client may cache the file data,
> metadata and read/write locks because nobody else can change that
> information, and nobody else holds locks on the file. It may also cache
> file acl/access information, and hence cache new OPEN calls.
> 
> A shared (i.e. read) lease means that there are currently no processes
> that can change the data or metadata (including your own). 
                                        ^^^^^^^^^^^^^^^^^

This is precisely the point of the problem.  Stephen 
Rothwell, and Matthew Wilcox seem to be saying that
the last bit is not the case.  

Cheers,

Michael

-- 
GMX DSL = Maximale Leistung zum minimalen Preis!
2000 MB nur 2,99, Flatrate ab 4,99 Euro/Monat: http://www.gmx.net/de/go/dsl

  reply	other threads:[~2005-08-11 13:22 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-10 23:48 fcntl(F_GETLEASE) semantics?? Peter Chubb
2005-08-11  1:14 ` Trond Myklebust
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 [this message]
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=994.1123766559@www9.gmx.net \
    --to=mtk-lkml@gmx.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=michael.kerrisk@gmx.net \
    --cc=peterc@gelato.unsw.edu.au \
    --cc=sfr@canb.auug.org.au \
    --cc=trond.myklebust@fys.uio.no \
    /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®