+Mon Nov 13 17:18:00 CET 2006 Daniel Veillard <veillard@redhat.com>
+
+ * src/xend_internal.c src/xml.c: fix for shareable drive support
+ rhbz#214908
+
Fri Nov 10 17:53:41 EDT 2006 Daniel Berrange <berrange@redhat.com>
* src/xml.c: Fix memory leak, by freeing xmlParserContextPtr object
xend has already done this ? */
if ((mode != NULL) && (!strcmp(mode, "r")))
virBufferVSprintf(&buf, " <readonly/>\n");
+ else if ((mode != NULL) && (!strcmp(mode, "w!")))
+ virBufferVSprintf(&buf, " <shareable/>\n");
virBufferAdd(&buf, " </disk>\n", 12);
bad_parse:
xmlChar *drvName = NULL;
xmlChar *drvType = NULL;
int ro = 0;
+ int shareable = 0;
int typ = 0;
int cdrom = 0;
drvType = xmlGetProp(cur, BAD_CAST "type");
} else if (xmlStrEqual(cur->name, BAD_CAST "readonly")) {
ro = 1;
+ } else if (xmlStrEqual(cur->name, BAD_CAST "shareable")) {
+ shareable = 1;
}
}
cur = cur->next;
virBufferVSprintf(buf, "(uname 'phy:/dev/%s')", source);
}
}
- if (ro == 0)
- virBufferVSprintf(buf, "(mode 'w')");
- else if (ro == 1)
+ if (ro == 1)
virBufferVSprintf(buf, "(mode 'r')");
+ else if (shareable == 1)
+ virBufferVSprintf(buf, "(mode 'w!')");
+ else
+ virBufferVSprintf(buf, "(mode 'w')");
virBufferAdd(buf, ")", 1);
virBufferAdd(buf, ")", 1);