Description of problem: glfs_init() returns -1 with errno set to 0 in the following cases: - when transport=unix is specified, - when wrong (non-existing) volume name is specified - when invalid volfile server is specified glfs_init() could return 1 for failure cases (when volume is not yet started). Document this failure case in glfs.h Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
Case 3: glfs_init() returns 0 with errno 0 for transport=rdma. This is unexpected I suppose w/o proper rdma support.
Would this be resolved in GlusterFS-3.4 ? This has ugly effects on QEMU-GlusterFS, any invalid argument specified will lead to QEMU crash due to this bug.
Non-existing volume ------------------- [root@bharata qemu]# gluster volume info test1 Volume test1 does not exist [root@bharata qemu]# qemu-system-x86_64 --enable-kvm -nographic -smp 4 -m 2048 -drive file=gluster://bharata/test1/F17,if=virtio qemu-system-x86_64: -drive file=gluster://bharata/test1/F17,if=virtio: Gluster connection failed for server=bharata port=0 volume=test1 image=F17 transport=tcp Segmentation fault (core dumped) Invalid server -------------- [root@bharata qemu]# qemu-system-x86_64 --enable-kvm -nographic -smp 4 -m 2048 -drive file=gluster://bharata-xxxx/test1/F17,if=virtio qemu-system-x86_64: -drive file=gluster://bharata-xxxx/test1/F17,if=virtio: Gluster connection failed for server=bharata-xxxx port=0 volume=test1 image=F17 transport=tcp Segmentation fault (core dumped)
REVIEW: http://review.gluster.org/5704 (api: Set errno before invoking glfs_init_done()) posted (#1) for review on master by Vijay Bellur (vbellur)
COMMIT: http://review.gluster.org/5704 committed in master by Anand Avati (avati) ------ commit cd2537541540074a5db452a49f9be220e3d76d32 Author: Vijay Bellur <vbellur> Date: Sun Aug 25 20:51:20 2013 +0530 api: Set errno before invoking glfs_init_done() Change-Id: I3f4d3cfaf7078e126881111eb840d854b0b6466d BUG: 860212 Signed-off-by: Vijay Bellur <vbellur> Reviewed-on: http://review.gluster.org/5704 Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Anand Avati <avati>
The segmentation faults seen by QEMU is now fixed with the above commit.
REVIEW: http://review.gluster.org/5711 (api: Set errno before invoking glfs_init_done()) posted (#1) for review on release-3.4 by Vijay Bellur (vbellur)
COMMIT: http://review.gluster.org/5711 committed in release-3.4 by Vijay Bellur (vbellur) ------ commit 1ad4d0457da4366028affffddb6fa1d3725ef22e Author: Vijay Bellur <vbellur> Date: Sun Aug 25 20:51:20 2013 +0530 api: Set errno before invoking glfs_init_done() Change-Id: I3f4d3cfaf7078e126881111eb840d854b0b6466d BUG: 860212 Signed-off-by: Vijay Bellur <vbellur> Reviewed-on: http://review.gluster.org/5711 Reviewed-by: Raghavendra Bhat <raghavendra> Tested-by: Gluster Build System <jenkins.com>
Moving to verified as per c6.
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.4.3, please reopen this bug report. glusterfs-3.4.3 has been announced on the Gluster Developers mailinglist [1], packages for several distributions should already be or become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. The fix for this bug likely to be included in all future GlusterFS releases i.e. release > 3.4.3. In the same line the recent release i.e. glusterfs-3.5.0 [3] likely to have the fix. You can verify this by reading the comments in this bug report and checking for comments mentioning "committed in release-3.5". [1] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/5978 [2] http://news.gmane.org/gmane.comp.file-systems.gluster.user [3] http://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6137