diff options
author | Peter Krempa <pkrempa@redhat.com> | 2014-05-09 12:08:10 +0200 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2014-05-09 20:57:32 +0200 |
commit | 4557117d9eed8cadc360aec23b42fc39a7011864 (patch) | |
tree | c21b90ffb98a5a79c16c0d64d531b52db8ea8b21 /coroutine-gthread.c | |
parent | 02ce232c5051854bf49e6d2816c65e00f6d7e036 (diff) | |
download | hqemu-4557117d9eed8cadc360aec23b42fc39a7011864.zip hqemu-4557117d9eed8cadc360aec23b42fc39a7011864.tar.gz |
gluster: Correctly propagate errors when volume isn't accessible
The docs for glfs_init suggest that the function sets errno on every
failure. In fact it doesn't. As other functions such as
qemu_gluster_open() in the gluster block code report their errors based
on this fact we need to make sure that errno is set on each failure.
This fixes a crash of qemu-img/qemu when a gluster brick isn't
accessible from given host while the server serving the volume
description is.
Thread 1 (Thread 0x7ffff7fba740 (LWP 203880)):
#0 0x00007ffff77673f8 in glfs_lseek () from /usr/lib64/libgfapi.so.0
#1 0x0000555555574a68 in qemu_gluster_getlength ()
#2 0x0000555555565742 in refresh_total_sectors ()
#3 0x000055555556914f in bdrv_open_common ()
#4 0x000055555556e8e8 in bdrv_open ()
#5 0x000055555556f02f in bdrv_open_image ()
#6 0x000055555556e5f6 in bdrv_open ()
#7 0x00005555555c5775 in bdrv_new_open ()
#8 0x00005555555c5b91 in img_info ()
#9 0x00007ffff62c9c05 in __libc_start_main () from /lib64/libc.so.6
#10 0x00005555555648ad in _start ()
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'coroutine-gthread.c')
0 files changed, 0 insertions, 0 deletions