[Gluster-users] Exclusive file open in gluster 3.3.0
Anand Avati
anand.avati at gmail.com
Wed Jul 11 20:32:19 UTC 2012
O_EXCL should work fine on FUSE+GlusterFS.
Avati
On Wed, Jul 11, 2012 at 1:16 PM, Stephen Pierce <spierce at verifyle.com>wrote:
> Short question: Does gluster and the FUSE client support the O_EXCL flag
> to open()?****
>
> ** **
>
> Long question:****
>
> So I have several hosts, all using the FUSE client. I mount the same
> gluster filesystem using the FUSE client on each host. Then, two processes
> (on separate hosts), try to open() the same file with O_CREAT|O_EXCL. Does
> the FUSE client and gluster guarantee that only one will be successful (ie:
> no race condition exists)? Or do I need to implement the suggested
> work-around for NFS in the man page for open()?****
>
> ** **
>
> Next question: Is anyone actually relying on O_EXCL? :-)****
>
> ** **
>
> Steve****
>
> ** **
>
> Open() manpage:****
>
> ** **
>
> O_EXCL Ensure that this call creates the file: if this flag is
> specified in conjunction with****
>
> O_CREAT, and pathname already exists, then open() will
> fail. The behavior of O_EXCL is****
>
> undefined if O_CREAT is not specified.****
>
> ** **
>
> When these two flags are specified, symbolic links are not
> followed: if pathname is a****
>
> symbolic link, then open() fails regardless of where the
> symbolic link points to.****
>
> ** **
>
> O_EXCL is only supported on NFS when using NFSv3 or
> later on kernel 2.6 or later. In****
>
> environments where NFS O_EXCL support is not provided,
> programs that rely on it for per-****
>
> forming locking tasks will contain a race condition.
> Portable programs that want to per-****
>
> form atomic file locking using a lockfile, and need to avoid
> reliance on NFS support for****
>
> O_EXCL, can create a unique file on the same file system
> (e.g., incorporating hostname****
>
> and PID), and use link(2) to make a link to the lockfile.
> If link(2) returns 0, the lock****
>
> is successful. Otherwise, use stat(2) on the unique file
> to check if its link count has****
>
> increased to 2, in which case the lock is also successful.**
> **
>
> ** **
>
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> http://gluster.org/cgi-bin/mailman/listinfo/gluster-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-users/attachments/20120711/957b11b4/attachment.html>
More information about the Gluster-users
mailing list