[Gluster-devel] Is lock (fcntl) supported by multilple concurent client ?

Vikas Gorur vikas at zresearch.com
Thu Apr 5 06:18:08 UTC 2007


gpvcs at tiscali.fr wrote:
> In my configuration I noticed that locks are sticky. I dont
> know why but I found this behaviour:
> - first client open file, lock it (fcntl) and write to it
> and close it OK
> - second client open file, try to lock it and wait (fcntl
> SETLKW), obtain the lock, write to it and close it OK
> - first client open file, try to lock it and wait FOREVER
> (fcntl SETLW) KO!
> - second client open file, try to lock it and wait FOREVER
> (fcntl SETLW) KO!
>
> In fact it looks like that lock obtain by SETLKW are never
> released.
> On the other hand, locks obtain by GETLW/SETLK are released.
>  
> I know you are busy working on the lock code. Do you see any
> reason for this behaviour ?
>   
This was a bug in the locking code. The fix is in the tla repo now.

Also, POSIX locking support has been moved into a separate translator 
now (features/posix-locks). This will give us locking support over other 
storage backends as well (for example Amazon S3).

Typically you'd want to load it on the server side, just above the 
storage xlator.

volume locks
  type features/posix-locks
  subvolumes brick
end-volume

HTH,
Vikas





More information about the Gluster-devel mailing list