summary refs log tree commit diff stats
path: root/scripts/simpletrace.py
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 /scripts/simpletrace.py
parent02ce232c5051854bf49e6d2816c65e00f6d7e036 (diff)
downloadfocaccia-qemu-4557117d9eed8cadc360aec23b42fc39a7011864.tar.gz
focaccia-qemu-4557117d9eed8cadc360aec23b42fc39a7011864.zip
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 'scripts/simpletrace.py')
0 files changed, 0 insertions, 0 deletions