summaryrefslogtreecommitdiffstats
path: root/coroutine-gthread.c
diff options
context:
space:
mode:
authorPeter Krempa <pkrempa@redhat.com>2014-05-09 12:08:10 +0200
committerStefan Hajnoczi <stefanha@redhat.com>2014-05-09 20:57:32 +0200
commit4557117d9eed8cadc360aec23b42fc39a7011864 (patch)
treec21b90ffb98a5a79c16c0d64d531b52db8ea8b21 /coroutine-gthread.c
parent02ce232c5051854bf49e6d2816c65e00f6d7e036 (diff)
downloadhqemu-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
OpenPOWER on IntegriCloud