[Gluster-devel] glusterfs on NetBSD: timeouts

Emmanuel Dreyfus manu at netbsd.org
Thu Aug 26 14:13:02 UTC 2010


I still have a few problems to sort out with my NetBSD port of glusterfs.
On of them is the strangs stalls I have doing normal operation.

I run glusterfsd -N --debug -L DEBUG on the server side and
glusterfs  -N --debug -L DEBUG /mnt on the client side. I can observe
the transactions going back and forth.

When copying a directory, exchanges often stall for a few seconds. If
I attach with gdb to check what the server is doing, I have this:

#0  0xbbada5a7 in _lwp_park () from /lib/libc.so.12
#1  0xbbbae8eb in pthread_cond_timedwait () from /usr/lib/libpthread.so.0
#2  0xbba96062 in posix_janitor_thread_proc (data=0xbb95b060) at posix.c:1404
#3  0xbbbb09df in pthread_create () from /usr/lib/libpthread.so.0
#4  0xbbafc670 in swapcontext () from /lib/libc.so.12

This is this block:
                if (list_empty (&priv->janitor_fds)) { 
                        time (&timeout.tv_sec);
                        timeout.tv_sec += priv->janitor_sleep_duration;
                        timeout.tv_nsec = 0;
                        pthread_cond_timedwait (&priv->janitor_cond,
                        goto unlock; 

gdb tells me that priv->janitor_sleep_duration is set to 600.

I assume I have a bug to track somewhere, but perhaps a person 
knowledgable with glusterfs could give me a good hint.

Emmanuel Dreyfus
manu at netbsd.org

More information about the Gluster-devel mailing list