WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] hotplugStatusCallback 5 (device busy) error during local liv

To: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] hotplugStatusCallback 5 (device busy) error during local live migration
From: Chuck Anderson <chuck.anderson@xxxxxxxxxx>
Date: Wed, 29 Dec 2010 11:55:52 -0800
Delivery-date: Wed, 29 Dec 2010 11:57:54 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.22 (X11/20090608)
The following error shows up in xend.log while doing a local live migration of a 2.6.32 based PV guest running on a Xen 3.4.0 based system:
[2010-12-28 09:00:51 4826] DEBUG (DevController:144) Waiting for 51728.
[2010-12-28 09:00:51 4826] DEBUG (DevController:629) hotplugStatusCallback /local/domain/0/backend/vbd/5696/51728/hotplug-status.
[2010-12-28 09:00:51 4826] DEBUG (DevController:643) hotplugStatusCallback 5.
[2010-12-28 09:00:51 4826] ERROR (XendCheckpoint:347) Device 51728 (vbd) could not be connected.
This message shows up in the domU's dmesg:
vbd vbd-51728: 16 Device in use; refusing to close
vm.cfg has:
disk =  ['file:/OVS/seed_pool/OVM_EL5U5_X86_64_PVM_10GB/System.img,xvda,w','phy:/dev/sda1,xvdb,w']
The messages do not occur after changing "w" to "w+" (may have been "w!").  Is "w+" required for local migrations?  Is it masking an underlying bug?

waitForBackend() calls hotplugStatusCallback():
xen/source/tools/python/xen/xend/server/DevController.py waitForBackend() calls hotplugStatusCallback()
556             xswatch(statusPath, hotplugStatusCallback, ev, result)
557
558             ev.wait(DEVICE_CREATE_TIMEOUT)
xen/source/tools/python/xen/xend/server/DevController.py hotplugStatusCallback()

633     if status is not None:
634         if status == HOTPLUG_STATUS_ERROR:
635             result['status'] = Error
636         elif status == HOTPLUG_STATUS_BUSY:
637             result['status'] = Busy
638         else:
639             result['status'] = Connected
640     else:
641         return 1
This treats HOTPLUG_STATUS_BUSY as a one-time error.  It seems like it should return 1 (keep watching) on HOTPLUG_STATUS_BUSY, something like:
     if status is not None:
         if status == HOTPLUG_STATUS_ERROR:
             result['status'] = Error
         elif status == HOTPLUG_STATUS_BUSY:
-            result['status'] = Busy
+           return 1
         else:
             result['status'] = Connected
     else:
         return 1

We would time out if it it stays busy for DEVICE_CREATE_TIMEOUT.  Not sure if we would need to do an unwatch in that case.

Thanks,
Chuck
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] hotplugStatusCallback 5 (device busy) error during local live migration, Chuck Anderson <=