[Gluster-devel] Problems with flock functionality with fuse-2.7.0-gls3 and tls 450
harrisl at lhjonline.com
Fri Aug 10 20:11:59 UTC 2007
There is a typo in my email it should read
$ ruby ./testlock.rb /mnt/glusterfs/test/testfile 60
When another instance was started:
$ ruby ./testlock.rb /mnt/glusterfs/test/testfile
opening /mnt/glusterfs/test/testfile and locking
./testlock.rb:6:in `initialize': No such file or directory - /mnt/glusterfs/test/testfile (Errno::ENOENT)
from ./testlock.rb:6:in `open'
from ./testlock.rb:6:in `open_locked'
The script attempts to open a file in "w" mode and get a LOCK_EX on it before writing. Therefore it either creates or recreates the file. The second instance should block until the LOCK_UN is requested by the first instance. It instead reports ENOENT. Rerunning the second instance once the first instance releases the lock succeeds with another LOCK_EX being granted. BTW, you must be running fuse-2.7.0-gls3 and recompile glusterfs with the libfuse.so from that for this the work because flock support was just added by the Gluster team. Stock fuse does not support flock yet.
----- Original Message -----
From: "Kevan Benson" <kbenson at a-1networks.com>
To: gluster-devel at nongnu.org
Cc: "Harris Landgarten" <harrisl at lhjonline.com>
Sent: Friday, August 10, 2007 2:30:37 PM (GMT-0500) America/New_York
Subject: Re: [Gluster-devel] Problems with flock functionality with fuse-2.7.0-gls3 and tls 450
On Thursday 09 August 2007 19:13, Harris Landgarten wrote:
> $ ruby ./testlock.rb /mnt/glusterfs/testfile 60
> When another instance was started:
> $ ruby ./testlock.rb /mnt/glusterfs/test/testfile
> opening /mnt/glusterfs/test/testfile and locking
> ./testlock.rb:6:in `initialize': No such file or directory -
> /mnt/glusterfs/test/testfile (Errno::ENOENT) from ./testlock.rb:6:in `open'
> from ./testlock.rb:6:in `open_locked'
> from ./testlock.rb:24
> Glusterfs is reporting the LOCK_EX file as ENOENT when another LOCK_EX is
> requested instead of blocking.
Actually, I think you had a typo in the path. Instance 1 was
on /mnt/glusterfs/testfile and instance 2 was
on /mnt/glusterfs/test/testfile, which if it didn't exuist would result in
the error "No such file or directory" which you got.
- Kevan Benson
- A-1 Networks
More information about the Gluster-devel