<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
</head>
<body>
<div>
<div>
<div style="font-family:Calibri,sans-serif; font-size:11pt">Looks ok to me<br>
<br>
Best,<br>
Maxim Nestratov</div>
</div>
<div dir="ltr">
<hr>
<span style="font-family:Calibri,sans-serif; font-size:11pt; font-weight:bold">От:
</span><span style="font-family:Calibri,sans-serif; font-size:11pt"><a href="mailto:dguryanov@parallels.com">Dmitry Guryanov</a></span><br>
<span style="font-family:Calibri,sans-serif; font-size:11pt; font-weight:bold">Отправлено:
</span><span style="font-family:Calibri,sans-serif; font-size:11pt">‎10.‎12.‎2014 17:30</span><br>
<span style="font-family:Calibri,sans-serif; font-size:11pt; font-weight:bold">Кому:
</span><span style="font-family:Calibri,sans-serif; font-size:11pt"><a href="mailto:libvir-list@redhat.com">libvir-list@redhat.com</a></span><br>
<span style="font-family:Calibri,sans-serif; font-size:11pt; font-weight:bold">Копия:
</span><span style="font-family:Calibri,sans-serif; font-size:11pt"><a href="mailto:mipt-aburluka@parallels.com">Alexander Burluka</a>;
<a href="mailto:mnestratov@parallels.com">Maxim Nestratov</a>; <a href="mailto:dguryanov@parallels.com">
Dmitry Guryanov</a></span><br>
<span style="font-family:Calibri,sans-serif; font-size:11pt; font-weight:bold">Тема:
</span><span style="font-family:Calibri,sans-serif; font-size:11pt">[PATCH 3/3] parallels: use disk name to set disk index</span><br>
<br>
</div>
</div>
<font size="2"><span style="font-size:10pt;">
<div class="PlainText">Use guest disk name to determine disk position on<br>
bus, because Openstack/nova don't set virDomainDeviceInfo.<br>
<br>
Signed-off-by: Dmitry Guryanov <dguryanov@parallels.com><br>
---<br>
 src/parallels/parallels_sdk.c | 10 +++++++++-<br>
 1 file changed, 9 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c<br>
index e2a1e6c..c85e6d9 100644<br>
--- a/src/parallels/parallels_sdk.c<br>
+++ b/src/parallels/parallels_sdk.c<br>
@@ -2467,6 +2467,7 @@ static int prlsdkAddDisk(PRL_HANDLE sdkdom, virDomainDiskDefPtr disk)<br>
     int ret = -1;<br>
     PRL_VM_DEV_EMULATION_TYPE emutype;<br>
     PRL_MASS_STORAGE_INTERFACE_TYPE sdkbus;<br>
+    int idx;<br>
 <br>
     if (prlsdkCheckDiskUnsupportedParams(disk) < 0)<br>
         return -1;<br>
@@ -2535,7 +2536,14 @@ static int prlsdkAddDisk(PRL_HANDLE sdkdom, virDomainDiskDefPtr disk)<br>
     pret = PrlVmDev_SetIfaceType(sdkdisk, sdkbus);<br>
     prlsdkCheckRetGoto(pret, cleanup);<br>
 <br>
-    pret = PrlVmDev_SetStackIndex(sdkdisk, disk->info.addr.drive.target);<br>
+    idx = virDiskNameToIndex(disk->dst);<br>
+    if (idx < 0) {<br>
+        virReportError(VIR_ERR_INTERNAL_ERROR,<br>
+                       _("unsupported disk type '%s'"), disk->dst);<br>
+        goto cleanup;<br>
+    }<br>
+<br>
+    pret = PrlVmDev_SetStackIndex(sdkdisk, idx);<br>
     prlsdkCheckRetGoto(pret, cleanup);<br>
 <br>
     switch (disk->cachemode) {<br>
-- <br>
1.9.3<br>
<br>
</div>
</span></font>
</body>
</html>