Hello!<br /><br />We want to use mod_glusterfs, but it has bugs. We use
glusterfs on our production servers (version  glusterfs-1.4.0pre5 ). Our web
server is lighttpd 1.5 rev. 1992.&nbsp;<br /><br />We decided to test
mod_glusterfs, but we discovered that it killed lighty (SEGFAULT). With valgrind
I discovered that the problem is near line 1453 of mod_glusterfs.c. I looked it
and I decided to change the code:<br /><br />FROM:<br
/>URIHANDLER_FUNC(mod_glusterfs_response_done) {<br />&nbsp;       plugin_data
*p = p_d;<br />&nbsp;       UNUSED (srv);<br />&nbsp;       mod_glusterfs_ctx_t
*ctx = con-&gt;plugin_ctx[p-&gt;id];<br /><br />&nbsp;      
con-&gt;plugin_ctx[p-&gt;id] = NULL;<br />&nbsp;       if (ctx) {<br />&nbsp;   
       if (ctx-&gt;glusterfs_path) {<br />&nbsp;                   free
(ctx-&gt;glusterfs_path);<br />&nbsp;           }<br />&nbsp;       }<br /><br
/>&nbsp;       free (ctx);<br />&nbsp;       return HANDLER_GO_ON;<br />}<br
/><br />TO:<br />URIHANDLER_FUNC(mod_glusterfs_response_done) {<br />&nbsp;     
 plugin_data *p = p_d;<br />&nbsp;       UNUSED (srv);<br />&nbsp;      
mod_glusterfs_ctx_t *ctx = con-&gt;plugin_ctx[p-&gt;id];<br /><br />&nbsp;      
if (ctx) {<br />&nbsp;           if (ctx-&gt;buf) {<br />&nbsp;              
free (ctx-&gt;buf);<br />&nbsp;               ctx-&gt;buf = NULL;<br />&nbsp;   
       }<br />&nbsp;           if (ctx-&gt;glusterfs_path) {<br />//            
       free (ctx-&gt;glusterfs_path);<br />&nbsp;                   buffer_free
(ctx-&gt;glusterfs_path);<br />&nbsp;                   ctx-&gt;glusterfs_path =
NULL;<br />&nbsp;           }<br />&nbsp;       }<br />&nbsp;      
con-&gt;plugin_ctx[p-&gt;id] = NULL;<br />&nbsp;       free (ctx);<br /><br
/>&nbsp;       return HANDLER_GO_ON;<br />}<br /><br />Now It works, but when I
stop downloading proces lighty kills itself (server.c.847: (trace) [note]
graceful shutdown started by UID=0, PID=0). Now I don`t know what to do.<br
/><br />I updated glusterfs to the latest version, but when I started lighty, it
showed:<br /><br />## lighttpd error glusterfs version 2.0.1 and above<br
/>Starting web server: lighttpd2009-07-08 12:54:55: (plugin.c.266) dlopen()
failed for: /usr/lib/lighttpd/mod_glusterfs.so
/usr/lib/lighttpd/mod_glusterfs.so: undefined symbol: glusterfs_lookup_async<br
/>2009-07-08 12:54:55: (server.c.1185) loading plugins finally failed<br /><br
/>It looks like this method doesn`t exist any more.<br /><br />I will be very
thankful if you fix these bugs and people can use mod_glusterfs freely. I hope
that you send me some information about the problems I described above.<br /><br
/><br />Other bug:<br /># compile error - SEGFAULT<br />mod_glusterfs.c:830:26:
warning: ISO C99 requires rest arguments to be used<br />mod_glusterfs.c: In
function &lsquo;http_response_parse_range&rsquo;:<br />mod_glusterfs.c:830:
error: expected expression before &lsquo;)&rsquo; token<br
/>mod_glusterfs.c:830: warning: too many arguments for format<br
/>mod_glusterfs.c:830: error: expected expression before &lsquo;,&rsquo;
token<br />make[4]: *** [mod_glusterfs_la-mod_glusterfs.lo] Error 1<br /><br />#
fix<br />SEGFAULT("got HANDLER_ERROR from a plugin: %s", "glusterfs");<br /><br
/>
-- <br /> Стефан Динев<br /> mail.bG<br /> BG-1517 Sofia, P.O. Box 17<br />
Phone: +359 [2] 9451006<br />