* [PATCH][ioemu] strip tap subtype prefix from image name
@ 2008-01-30 12:57 Pat Campbell
2008-01-30 13:07 ` Christoph Egger
0 siblings, 1 reply; 3+ messages in thread
From: Pat Campbell @ 2008-01-30 12:57 UTC (permalink / raw)
To: xen-devel@lists.xensource.com
[-- Attachment #1: Type: text/plain, Size: 500 bytes --]
Currently I am not able to mount or boot from an HVM CDROM when it is configured for 'tap:aio' instead of 'file'.
disk=[ 'tap:aio:/var/lib/xen/images/sles10-sp2-fv/disk0,hda,w', '
tap:aio:/home/iso/sles/SLES10.iso,hdc:cdrom,r', ]
With the attached patch I am able to boot from the CDROM and or mount it.
Patch changes xenstore.c:xenstore_process_event() to strip the tap subtype prefix from the image name.
Please apply to xen-unstable tip.
Signed-off-by: Pat Campbell <plc@novell.com>
[-- Attachment #2: xen-blktab-subtype-strip.patch --]
[-- Type: text/x-patch, Size: 1703 bytes --]
diff -r 1c826ea72a80 tools/ioemu/xenstore.c
--- a/tools/ioemu/xenstore.c Wed Jan 23 15:42:52 2008 +0000
+++ b/tools/ioemu/xenstore.c Wed Jan 30 05:36:18 2008 -0700
@@ -418,7 +418,7 @@ void xenstore_record_dm_state(char *stat
void xenstore_process_event(void *opaque)
{
- char **vec, *image = NULL;
+ char **vec, *bpath, *buf, *image = NULL;
unsigned int len, num, hd_index;
vec = xs_read_watch(xsh, &num);
@@ -440,8 +440,33 @@ void xenstore_process_event(void *opaque
goto out;
hd_index = vec[XS_WATCH_TOKEN][2] - 'a';
image = xs_read(xsh, XBT_NULL, vec[XS_WATCH_PATH], &len);
- if (image == NULL || !strcmp(image, bs_table[hd_index]->filename))
- goto out; /* gone or identical */
+ if (image == NULL)
+ goto out; /* gone */
+
+ /* Strip off blktap sub-type prefix */
+ bpath = strdup(vec[XS_WATCH_PATH]);
+ if (bpath) {
+ char * offset = strrchr(bpath, '/');
+ if (offset) {
+ *offset = '\0';
+ if (pasprintf(&buf, "%s/type", bpath) == 0) {
+ char * drv = xs_read(xsh, XBT_NULL, buf, &len);
+ if (drv != NULL) {
+ if (!strcmp(drv, "tap")) {
+ offset = strchr(image, ':');
+ if (offset)
+ memmove(image, offset+1, strlen(offset+1)+1 );
+ }
+ free(drv);
+ }
+ free(buf);
+ }
+ }
+ free(bpath);
+ }
+
+ if (!strcmp(image, bs_table[hd_index]->filename))
+ goto out; /* identical */
do_eject(0, vec[XS_WATCH_TOKEN]);
bs_table[hd_index]->filename[0] = 0;
[-- Attachment #3: Type: text/plain, Size: 138 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH][ioemu] strip tap subtype prefix from image name
2008-01-30 12:57 [PATCH][ioemu] strip tap subtype prefix from image name Pat Campbell
@ 2008-01-30 13:07 ` Christoph Egger
2008-01-30 13:16 ` Keir Fraser
0 siblings, 1 reply; 3+ messages in thread
From: Christoph Egger @ 2008-01-30 13:07 UTC (permalink / raw)
To: xen-devel; +Cc: Pat Campbell
On Wednesday 30 January 2008 13:57:24 Pat Campbell wrote:
> Currently I am not able to mount or boot from an HVM CDROM when it is
> configured for 'tap:aio' instead of 'file'.
>
> disk=[ 'tap:aio:/var/lib/xen/images/sles10-sp2-fv/disk0,hda,w', '
> tap:aio:/home/iso/sles/SLES10.iso,hdc:cdrom,r', ]
>
> With the attached patch I am able to boot from the CDROM and or mount it.
>
> Patch changes xenstore.c:xenstore_process_event() to strip the tap subtype
> prefix from the image name.
>
> Please apply to xen-unstable tip.
>
> Signed-off-by: Pat Campbell <plc@novell.com>
Please use a more readable coding style.
What you did is this:
if (a) {
if (b) {
if (c) {
/* do it */
} else {
/* Alternative C */
}
} else {
/* Alternative B */
}
} else {
/* Alternative A */
}
return;
I suggest you to use this style:
if (!a) {
/* Alternative A */
return;
}
if (!b) {
/* Alternative B */
return;
}
if (!c) {
/* Alternative C */
return;
}
/* do it */
return;
--
AMD Saxony, Dresden, Germany
Operating System Research Center
Legal Information:
AMD Saxony Limited Liability Company & Co. KG
Sitz (Geschäftsanschrift):
Wilschdorfer Landstr. 101, 01109 Dresden, Deutschland
Registergericht Dresden: HRA 4896
vertretungsberechtigter Komplementär:
AMD Saxony LLC (Sitz Wilmington, Delaware, USA)
Geschäftsführer der AMD Saxony LLC:
Dr. Hans-R. Deppe, Thomas McCoy
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH][ioemu] strip tap subtype prefix from image name
2008-01-30 13:07 ` Christoph Egger
@ 2008-01-30 13:16 ` Keir Fraser
0 siblings, 0 replies; 3+ messages in thread
From: Keir Fraser @ 2008-01-30 13:16 UTC (permalink / raw)
To: Christoph Egger, xen-devel; +Cc: Pat Campbell
On 30/1/08 13:07, "Christoph Egger" <Christoph.Egger@amd.com> wrote:
>> Please apply to xen-unstable tip.
>>
>> Signed-off-by: Pat Campbell <plc@novell.com>
>
> Please use a more readable coding style.
Seconded.
-- Keir
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2008-01-30 13:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-01-30 12:57 [PATCH][ioemu] strip tap subtype prefix from image name Pat Campbell
2008-01-30 13:07 ` Christoph Egger
2008-01-30 13:16 ` Keir Fraser
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.