[Gluster-devel] Re: Current FUSE requirements to support flock()
David Sickmiller
david at careerliaison.com
Sun Jan 18 07:46:18 UTC 2009
To follow up on my earlier post, this is what I found regarding the
kernel FUSE's support for flock() and also MySQL:
* 2.6.18.8 - flock() doesn't work, MySQL doesn't work
* 2.6.27.4 - flock() works, MySQL doesn't work
* 2.6.28 - flock() works, MySQL doesn't work
I performed these tests with the 2.7.4-1.el5.rf version of the FUSE
userspace tools, in case that matters.
I'm guessing the MySQL issue is the one resolved with a custom patch
last year:
http://www.mail-archive.com/gluster-devel@nongnu.org/msg02947.html
Is there much hope of getting the MySQL FUSE patch into the main
kernel? Is the only necessary change the one to dev.c?
Thanks,
David
David Sickmiller wrote:
> Hi,
>
> The short version of my question is "What is the minimum kernel FUSE
> version needed for flock() support?" If that question is unclear or a
> sign that I don't know I'm doing, the long version is below.
>
> I'm new to GlusterFS, and I'm interested in using 1.4 to setup a
> mirrored filesystem on a couple Xen virtual servers. Among other
> things, I want to store PHP session files on here, which are locked
> using flock(), so I need to pay attention to whether my installation
> of FUSE supports this. Complicating this, my Xen hosting provider
> recommends using their pre-compiled kernels that have FUSE built-in.
> Currently 2.6.18.8, 2.6.27.4, and 2.6.28 are available (for 64-bit).
> While not impossible, it's difficult to add custom modules or use
> custom kernels.
>
> I know the Technical FAQ says "Custom FUSE release (2.7.3) doesn't
> support flock() calls." I'm not sure I understand what "custom FUSE"
> is... is this what you call it when you build the kernel module from
> the Sourceforge source instead of the kernel source? I can see that,
> prior to Dec 08, the Install_GlusterFS_from_Source wiki page said
> things like "Any new kernel (>2.6.25), please use custom fuse only"
> and "For kernel version greater than or equal to 2.6.25, the fuse
> kernel module won't compile." These two sentences don't make sense to
> me. The latest version of that page says nothing about the FUSE version.
>
> I looked at fuse-2.7.3glfs10.diff, and there are some obvious
> flock-related changes that are not present in the 2.6.18 kernel
> driver. However, the 2.6.27 kernel FUSE driver seems to include some
> of this flock-related code, so I'm hopeful about it working with no
> additional patching. I'm plugging forward and will eventually be able
> to do a simple test of my own, but I'm not prepared to do a thorough
> test of FUSE compatibility, so I would much appreciate a knowledgeable
> opinion about how to get flock() support with the kernel FUSE... or
> any general warnings about the road I'm going down.
>
> Thank you,
> David
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://supercolony.gluster.org/pipermail/gluster-devel/attachments/20090118/98021be1/attachment-0003.html>
More information about the Gluster-devel
mailing list