[Gluster-devel] post 3.1 xlator/io-threads instability on NetBSD (was: NULL frame->conn cause a crash)
Emmanuel Dreyfus
manu at netbsd.org
Fri Jul 8 15:06:48 UTC 2011
Anand Avati <anand.avati at gmail.com> wrote:
> I'm not sure how good/efficient the pthread implementation in NetBSD is.
> Also, do you know if there are any NetBSD specifics about using
> pthread_spinlock() APIs on it? Lot of the issues you have previously
> described can occur if there is a broken implementation of pthread
> spinlocks (which seems to get masked without io-threads)
Yes, all the crashes I reported were pthread related and were fixed by
the patch I posted yesterday. I repost it below for your convenience.
On the NetBSD specific issue, well, I would rather call that a
Linux-specificity that your code managed to run :-)
The only problem I have now is the "files exist but readdir do not see
them" thing I have posted about this morning, but this is not a crash
story.
--- xlators/performance/io-threads/src/io-threads.c.orig
+++ xlators/performance/io-threads/src/io-threads.c
@@ -2181,8 +2181,20 @@
"out of memory");
goto out;
}
+ if ((ret = pthread_cond_init(&conf->cond, NULL)) != 0) {
+ gf_log (this->name, GF_LOG_ERROR,
+ "pthread_cond_init failed (%d)", ret);
+ goto out;
+ }
+
+ if ((ret = pthread_mutex_init(&conf->mutex, NULL)) != 0) {
+ gf_log (this->name, GF_LOG_ERROR,
+ "pthread_mutex_init failed (%d)", ret);
+ goto out;
+ }
+
set_stack_size (conf);
thread_count = IOT_DEFAULT_THREADS;
--
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu at netbsd.org
More information about the Gluster-devel
mailing list