<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:14px">mig->nbd is </span><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.727272033691406px;white-space:nowrap">initialized by </span><font color="#000000" face="arial, sans-serif"><span style="font-size:12.666666984558105px;white-space:nowrap">qemuMigrationCookieXMLParse(called by qemuMigrationEatCookie),with a condition that</span></font><div><font color="#000000" face="arial, sans-serif"><span style="font-size:12.666666984558105px;white-space:nowrap">the nbd infomation contained in </span></font><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap">Cookie string. I found in debug info that </span><font color="#000000" face="arial, sans-serif"><span style="font-size:12.666666984558105px;white-space:nowrap">qemuMigrationStartNBDServer had been called in </span></font></div><div><span style="font-size:12.666666984558105px;white-space:nowrap;color:rgb(0,0,0);font-family:arial,sans-serif">qemuMigrationPrepareAny(</span><span style="font-family:arial,sans-serif;font-size:14px">mig->nbd not null</span><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap">), but at in </span><font color="#000000" face="arial, sans-serif"><span style="font-size:12.666666984558105px;white-space:nowrap">qemuMigrationFinish qemuMigrationStopNBDServer can not really</span></font></div><div style><font color="#000000" face="arial, sans-serif"><span style="font-size:12.666666984558105px;white-space:nowrap">stop nbd server bucause </span></font><span style="font-family:arial,sans-serif;font-size:14px">mig->nbd is not </span><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap">initialized(that is because cookie string does not contain nbd information ).</span></div><div style><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap"><br></span></div><div style><font color="#000000" face="arial, sans-serif"><span style="font-size:12.666666984558105px;white-space:nowrap">so ,there are two solutions:</span></font></div><div style><font color="#000000" face="arial, sans-serif"><span style="font-size:12.666666984558105px;white-space:nowrap">1 </span></font><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap">qemuMigrationStopNBDServer</span><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap">  ignore </span><span style="font-family:arial,sans-serif;font-size:14px">mig->nbd null ptr</span></div><div style><span style="font-family:arial,sans-serif;font-size:14px">2 add cookie info for nbd same</span><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap"> stage (that is lost in which stage i am not sure~ )</span></div><div style><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap"><br></span></div><div style><font color="#000000" face="arial, sans-serif"><span style="font-size:12.666666984558105px;white-space:nowrap">I choose an easy way solution 1 with least code changing, maybe is not google way :)</span></font></div><div><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap"><br></span></div><div style><span style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12.666666984558105px;white-space:nowrap">cookie log is like this:</span></div><div style><div>2014-10-30 08:38:14.106+0000: 15078: debug : <font color="#ff0000">qemuMigrationRun</font>:3254 : driver=0x7f936413cd40, vm=0x7f934400b850, cookiein=<qemu-migration></div><div>  <name>3cd4c349-e058-4a1a-8b3d-cc988efd11e2</name></div><div>  <uuid>3cd4c349-e058-4a1a-8b3d-cc988efd11e2</uuid></div><div>  <hostname>50e54929-059c-ffff-ffff-ffffffffffff_10.180.39.36</hostname></div><div>  <hostuuid>50e54929-059c-ffff-ffff-ffffffffffff</hostuuid></div><div> <font color="#ff0000"> <nbd port='49153'/></font></div><div></qemu-migration></div><div><br></div><div><div>2014-10-30 08:39:12.527+0000: 15076: debug : virObjectRef:296 : OBJECT_REF: obj=0x7f9364138880</div><div>2014-10-30 08:39:12.527+0000: 15076: debug : <font color="#ff0000">qemuMigrationFinish</font>:4507 : driver=0x7f936413cd40, dconn=0x7f9358002720, vm=0x7f935c002da0, cookiein=<qemu-migration></div><div>  <name>3cd4c349-e058-4a1a-8b3d-cc988efd11e2</name></div><div>  <uuid>3cd4c349-e058-4a1a-8b3d-cc988efd11e2</uuid></div><div>  <hostname>50e54929-059c-ffff-ffff-ffffffffffff_10.180.39.36</hostname></div><div>  <hostuuid>50e54929-059c-ffff-ffff-ffffffffffff</hostuuid></div><div>  <feature name='persistent'/></div><div>  <domain type='kvm'></div><div>    <name>3cd4c349-e058-4a1a-8b3d-cc988efd11e2</name></div><div>    <uuid>3cd4c349-e058-4a1a-8b3d-cc988efd11e2</uuid></div><div>    <memory unit='KiB'>2097152</memory></div><div>    <currentMemory unit='KiB'>2097152</currentMemory></div><div>    <vcpu placement='static' cpuset='0-7'>2</vcpu></div><div>    <os></div><div>      <type arch='x86_64' machine='pc-i440fx-2.0'>hvm</type></div><div>      <boot dev='hd'/></div><div>    </os></div><div>    <features></div><div>      <acpi/></div><div>      <apic/></div><div>      <pae/></div><div>    </features></div><div>    <clock offset='localtime'/></div><div>    <on_poweroff>destroy</on_poweroff></div><div>    <on_reboot>restart</on_reboot></div><div>    <on_crash>restart</on_crash></div><div>    <devices></div><div>      <emulator>/usr/bin/qemu-system-x86_64</emulator></div><div>      <disk type='file' device='disk'></div><div>        <driver name='qemu' type='qcow2' cache='none'/></div><div>        <source file='/tvm/tvm/3cd4c349-e058-4a1a-8b3d-cc988efd11e2/tlinux1.2-tvm-64bit-2.2-20140716_incremental.qcow2'/></div><div>        <target dev='vda' bus='virtio'/></div><div>        <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/></div><div>      </disk></div><div>      <disk type='file' device='disk'></div><div>        <driver name='qemu' type='qcow2' cache='none'/></div><div>        <source file='/tvm/tvm/3cd4c349-e058-4a1a-8b3d-cc988efd11e2/EXT3_50G.qcow2_incremental.qcow2'/></div><div>        <target dev='vdb' bus='virtio'/></div><div>        <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/></div><div>      </disk></div><div>      <interface type='bridge'></div><div>        <mac address='54:52:00:02:b2:32'/></div><div>        <source bridge='br1'/></div><div>        <model type='virtio'/></div><div>        <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/></div><div>      </interface></div><div>      <serial type='pty'></div><div>        <target port='0'/></div><div>      </serial></div><div>      <console type='pty'></div><div>        <target type='serial' port='0'/></div><div>      </console></div><div>      <input type='mouse' bus='ps2'/></div><div>      <graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0'></div><div>        <listen type='address' address='0.0.0.0'/></div><div>      </graphics></div><div>      <video></div><div>        <model type='cirrus' vram='9216' heads='1'/></div><div>        <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/></div><div>      </video></div><div>      <memballoon model='virtio'></div><div>        <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/></div><div>      </memballoon></div><div>    </devices></div><div>  </domain></div><div><font color="#ff0000">  <nbd/></font></div><div></qemu-migration></div><div>, cookieinlen=2567, cookieout=0x7f93722eab08, cookieoutlen=0x7f93722eab14, flags=289, retcode=0</div></div></div><div><div class="gmail_extra"><br><div class="gmail_quote">2014-10-31 18:05 GMT+08:00 Ján Tomko <span dir="ltr"><<a href="mailto:jtomko@redhat.com" target="_blank">jtomko@redhat.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 10/31/2014 09:17 AM, weiwei li wrote:<br>
> qemuMigrationCookiePtr mig->nbd may be null when MigrationCookie<br>
> do not have nbd information ,but nbd port did allocated before and<br>
> must be released here, so ignore mig->nbd null ptr and just warn.<br>
<br>
</span>StartNBDServer is only run when mig->nbd is present, so if it's not there we<br>
didn't start the server or allocate the port. Are you sure this patch is<br>
necessary?<br>
<br>
Jan<br>
<br>
><br>
> Signed-off-by: Weiwei Li <<a href="mailto:nuonuoli@tencent.com">nuonuoli@tencent.com</a> <mailto:<a href="mailto:nuonuoli@tencent.com">nuonuoli@tencent.com</a>>><br>
<div class=""><div class="h5">> ---<br>
>  src/qemu/qemu_migration.c |    2 +-<br>
>  1 files changed, 1 insertions(+), 1 deletions(-)<br>
><br>
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c<br>
> index 0ad8054..134b041 100644<br>
> --- a/src/qemu/qemu_migration.c<br>
> +++ b/src/qemu/qemu_migration.c<br>
> @@ -1584,7 +1584,7 @@ qemuMigrationStopNBDServer(virQEMUDriverPtr driver,<br>
>      qemuDomainObjPrivatePtr priv = vm->privateData;<br>
><br>
>      if (!mig->nbd)<br>
> -        return;<br>
> +        VIR_WARN("mig->nbd is null");<br>
><br>
>      if (qemuDomainObjEnterMonitorAsync(driver, vm,<br>
>                                         QEMU_ASYNC_JOB_MIGRATION_IN) < 0)<br>
<br>
<br>
</div></div></blockquote></div><br></div></div></div>