Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2
xen
ioemu-blktap-zero-size.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ioemu-blktap-zero-size.patch of Package xen
From cb982fd919a52ff86f01025d0f92225bc7b2a956 Mon Sep 17 00:00:00 2001 From: Kevin Wolf <kwolf@suse.de> Date: Tue, 10 Mar 2009 16:44:31 +0100 Subject: [PATCH 5/6] ioemu: Fail on too small blktap disks The blktap infrastructure doesn't seems to be able to cope with images that are smaller than a sector, it produced hangs for me. Such an image isn't really useful anyway, so just fail gracefully. Signed-off-by: Kevin Wolf <kwolf@suse.de> --- hw/xen_blktap.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c =================================================================== --- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c +++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -268,6 +268,12 @@ static int open_disk(struct td_state *s, s->size = bs->total_sectors; s->sector_size = 512; + if (s->size == 0) { + fprintf(stderr, "Error: Disk image %s is too small\n", + path); + return -ENOMEM; + } + s->info = ((s->flags & TD_RDONLY) ? VDISK_READONLY : 0); return 0; Index: xen-4.1.2-testing/tools/python/xen/xend/server/DevController.py =================================================================== --- xen-4.1.2-testing.orig/tools/python/xen/xend/server/DevController.py +++ xen-4.1.2-testing/tools/python/xen/xend/server/DevController.py @@ -155,7 +155,7 @@ class DevController: (devid, self.deviceClass)) elif status == Error: - self.destroyDevice(devid, False) + self.destroyDevice(devid, True) if err is None: raise VmError("Device %s (%s) could not be connected. " "Backend device not found." %
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor