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

Re: [Xen-devel] ignoring xenbus state transitions during shutdown

To: David Lively <dlively@xxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] ignoring xenbus state transitions during shutdown
From: Keir Fraser <keir@xxxxxxxxxxxxx>
Date: Mon, 25 Jun 2007 21:39:56 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Mon, 25 Jun 2007 13:37:58 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <46802562.9010604@xxxxxxxxxxxxxxx>
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
Thread-index: Ace3aP1yO7ZEeCNcEdyHeQAX8io7RQ==
Thread-topic: [Xen-devel] ignoring xenbus state transitions during shutdown
User-agent: Microsoft-Entourage/11.3.3.061214
Only need #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16). If the shutdown
hooks aren't defined then we won't be causing xenbus state transitions when
we shut down, kexec or not.

 -- Keir

On 25/6/07 21:28, "David Lively" <dlively@xxxxxxxxxxxxxxx> wrote:

> Ok --  the .shutdown callbacks are there for Linux kernels >= 2.6.16.
> So I think I want to protect this (ignore transitions) code with:
> #if defined(CONFIG_KEXEC) || LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,16)
> 
> (That is, ignore state transitions if kexec is enabled or if we're
> defining the shutdown callbacks.)
> 
> Right?  (Or should I instead test only for CONFIG_KEXEC there and leave
> the shutdown callbacks NULL unless KEXEC is enabled??  Either way works
> for the cases I care about.)
> 
> Dave
> 
> Keir Fraser wrote:
>> Unless you care about domU kexec, you can pretty safely remove that
>> system_state() check, so long as you remove the .shutdown callback hooks (in
>> the same file) too.
>> 
>>  -- Keir
>> 
>> On 25/6/07 19:41, "David Lively" <dlively@xxxxxxxxxxxxxxx> wrote:
>> 
>>   
>>> Hi Folks -
>>>   In otherend_changed() in xenbus_probe.c, the driver is trying to
>>> ignore xenbus state transitions while the guest OS is shutting down.  It
>>> currently does this by looking for system_state > SYSTEM_RUNNING.  But
>>> system_state is not exported by some kernels that use it (e.g., SLES9
>>> running in a HVM guest), so the xenbus driver can't be loaded.
>>>   The comments indicate we're trying to avoid a failure that occurs when
>>> there is no rootfs.  I haven't yet seen this failure (after removing the
>>> code my shutdowns with PV drivers seemed to work fine, though I haven't
>>> pushed hard yet), but I suspect I shouldn't be ignoring it.  I was
>>> thinking it might be better to test for the screw condition (no rootfs)
>>> directly, perhaps something like try vfs_stat("/", &stat) and see
>>> whether it fails (??).  (These state transitions are relatively rare, so
>>> it doesn't need to be a particularly cheap test.)
>>>   Any other suggestions?  I've heard of the old global 'system_running',
>>> but that's not used SLES9, at least.
>>> 
>>> Thanks in Advance,
>>> Dave
>>> 
>>> 
>>> _______________________________________________
>>> Xen-devel mailing list
>>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>>> http://lists.xensource.com/xen-devel
>>>     
>> 
>>   
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>