Commit f34e73cd69bdbdb9b1d56b288c5e14d6fff58165 (virtio-blk: report non-zero status when failing SG_IO requests) exposed the function to non-Linux guests. Move all Linux-only variable declarations into an #ifdef in the variable declaration block.
Signed-off-by: Andreas Färber <andreas.faer...@web.de> Cc: Paolo Bonzini <pbonz...@redhat.com> --- hw/virtio-blk.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hw/virtio-blk.c b/hw/virtio-blk.c index f9e1896..a1b64cb 100644 --- a/hw/virtio-blk.c +++ b/hw/virtio-blk.c @@ -147,9 +147,12 @@ static VirtIOBlockReq *virtio_blk_get_request(VirtIOBlock *s) static void virtio_blk_handle_scsi(VirtIOBlockReq *req) { - int ret; int status = VIRTIO_BLK_S_OK; +#ifdef __linux__ + struct sg_io_hdr hdr; + int ret; int i; +#endif /* * We require at least one output segment each for the virtio_blk_outhdr @@ -184,7 +187,6 @@ static void virtio_blk_handle_scsi(VirtIOBlockReq *req) } #ifdef __linux__ - struct sg_io_hdr hdr; memset(&hdr, 0, sizeof(struct sg_io_hdr)); hdr.interface_id = 'S'; hdr.cmd_len = req->elem.out_sg[1].iov_len; -- 1.7.5.3