[Gluster-users] Thread-safety of glfs_init

Tiziano Müller tiziano.mueller at stepping-stone.ch
Fri Jul 4 07:27:26 UTC 2014

Hi there

I am currently trying to benchmark and test glusterfs resp. the gfapi and use
fio for that. I would especially like a way to reproduce [1] and [2] properly.

When using processes, the tests work, but the OS will then cleanup threads and
memory, so reproducing [2] is not possible.

When starting fio with --thread (and --stonewall) as described in [3] I get the
following error:

Starting 8 threads
[2014-07-04 05:28:46.997537] E [mem-pool.c:349:mem_get0]
(-->/usr/lib64/libgfapi.so.0(glfs_init+0x9) [0x7fa68b521369]
(-->/usr/lib64/libgfapi.so.0(glfs_init_common+0x93) [0x7fa68b521223]
(-->/usr/lib64/libglusterfs.so.0(get_new_dict_full+0x25) [0x7fa689d9cbe5])))
0-mem-pool: invalid argument
glfs_init failed. Is glusterd running on brick?

Please also note that one must use latest fio HEAD since there was another bug I
fixed causing fio to segfault if opening a file using gfapi was unsuccessful.

The above tests are with glusterfs-3.4.5-beta1.

Any ideas? Is gfapi and accessing the same volume via different threads in
particular considered to be safe? (see glusterfs.c in [4] on how fio does it)


[1] https://bugs.launchpad.net/qemu/+bug/1333651
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1093594
[3] http://wiki.stoney-cloud.org/index.php/GlusterFS_Benchmark
[4] http://git.kernel.dk/?p=fio.git;a=tree;f=engines;hb=HEAD

stepping stone GmbH
Neufeldstrasse 9
CH-3012 Bern

Telefon: +41 31 332 53 63

More information about the Gluster-users mailing list