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/
Home Products Support Community News


[Xen-devel] problem about changing state to XenbusStateClosed resulting

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] problem about changing state to XenbusStateClosed resulting in vbd entry removed from xenstore
From: Max Zhen <Max.Zhen@xxxxxxx>
Date: Fri, 19 May 2006 00:26:32 +0800
Delivery-date: Thu, 18 May 2006 09:27:06 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; SunOS i86pc; zh-CN; rv:1.7) Gecko/20050516

I encountered a problem while porting Solaris as a guest OS on Xen.

The problem I found is that when frontend vbd driver get unloaded, it
will close the vbd interface by changing the state to XenbusStateClosed.
This appears to cause the dom0 hotplug scripts to remove the vbd entry 
from xenstore for the domU guest, preventing the vbd from being re-attached.

So, my questions are:

+ This doesn't seem correct since vbd's are created and destroyed from 
Dom0 as part of domain creation 'xm create' or explicitly by executing
'xm block-attach'. Therefore, it would seem that devices should be
removed either when a domU terminates or the device is explicitly
removed from dom0 by 'xm block-detach'.

+ Is there any other way to flush all the I/O to the disk?
Currently, the only way to flush the I/Os is to change the frontend
state to XenbusStateClosed.
Since changing the state to XenbusStateClosed is a dangerous thing to do
(cause all the vbd interface information to be removed), I cannot just
flush the I/O, while keep the frontend and backend connected.
Could there be any new state or command to do that?


Xen-devel mailing list