Re: [LTP/VFS] fcntl SETLEASE fails on ramfs/tmpfs

From: Mike Frysinger
Date: Tue Apr 29 2008 - 18:15:23 EST


On Tue, Apr 29, 2008 at 6:11 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> On Tue, Apr 29, 2008 at 06:01:47PM -0400, Mike Frysinger wrote:
> > On Tue, Apr 29, 2008 at 5:42 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> > > The one thing I suspect is *not* a really serious problem here is the
> > > reported LTP failure, since probably the only user of this is Samba,
> > > which probably doesn't do a lot of tmpfs exports, and in any case it can
> > > probably soldier on (if with degraded performance--how badly I don't
> > > know) without getting the write lease it wants.
> >
> > i'm not sure i follow. the reported problem is that file locking does
> > not work on tmpfs/ramfs storage. a not terribly uncommon scenario is
> > to use tmpfs on /tmp (or similar location) and have file locking not
> > work at all. so programs that use file locking or scripts that
> > leverage the flock utility from the util-linux package break.
>
> There are three different mechanisms that might be called "file locks":
>
> - fcntl() locks, aka "posix locks", "byte-range locks":
> documented in the "Advisory locking" section of fcntl(2).
> - flock() locks: documented in flock(2) This is what the shell
> utility from util-linux uses.
> - leases, documented in the "Leases" section of fcntl(2).
>
> For the former two, I agree with you, applications actually depend on
> them.
>
> The bug report, however, is for leases, which are much less widely used.
> (The only users I know of are Samba and, to a lesser extent, NFSv4
> (which doesn't currently use write leases due to all these problems).)

ah sorry, you're right of course ... while i investigated the issue
originally, i clearly forget the details ;)
-mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/