Bug 505081

Summary: [RHEL4.8 Xen]: Xenbus warnings in a FV guest on shutdown
Product: Red Hat Enterprise Linux 4 Reporter: Chris Lalancette <clalance>
Component: kernel-xenAssignee: Radim Krčmář <rkrcmar>
Status: CLOSED ERRATA QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: medium Docs Contact:
Priority: low    
Version: 4.8CC: leiwang, xen-maint
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 501474 Environment:
Last Closed: 2011-02-16 16:06:18 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 501474    
Bug Blocks: 458302    
Attachments:
Description Flags
hide xenbus warnings on hvm guest shutdown none

Description Chris Lalancette 2009-06-10 15:38:53 UTC
+++ This bug was initially created as a clone of Bug #501474 +++

Description of problem:
When running a 2.6.18-148.el5 kernel in a Xen fully virtualized guest, on shutdown I see these messages on the console:

xenbus_dev_shutdown: device/vbd/5632: Initialised != Connected, skipping
xenbus_dev_shutdown: device/vbd/768: Closed != Connected, skipping

These messages are new; prior to the -133 kernel, these messages didn't appear.  In fact, these messages starting appearing after we removed the anaconda hack from RHEL-5 with this git tree commit: eb0e4567548b8ff1777b0bfd1f546c82fe8d0f73.  Backing that out gets rid of the messages, but of course isn't a real solution.  We'll have to look at it more closely to try to figure out what is going on and come up with a better solution.

--- Additional comment from clalance on 2009-06-10 09:32:48 EDT ---

After rooting around in the xenbus frontend state machine, this is yet another problem because of us presenting two different "paths" to the storage.

In the case of the 768 device, that is our root harddrive.  When udev starts up on this 5.4 kernel, it auto-loads the blkfront driver, since there is a device that corresponds to this.  However, when it tries to use the device, it finds it is already in use (because the root drive is being driven by the IDE driver), fails, and sets the xenbus state to "XenbusStateClosed".  On shutdown, the generic device model runs through all of the busses, and calls the ->shutdown() method on each of them.  When it hits the xen bus, it calls xenbus_dev_shutdown(), and then the state of 768 is already "Closed", so it prints the error message.

The 5632 device is similar.  In that case, it's the CDROM device, but it has no backend plugged in, so it never transitions out of the Initialised state.  Again, during shutdown, xenbus_dev_shutdown() notices this, and prints out the error message.

The thing is, neither of these cases is "wrong".  For the 768 device, it should be set to Closed, since another driver is already driving the storage.  And in the case of the 5632 device, it should still be in Initialising, since the frontend never connected up to it.  Therefore, my recommendation here would be that we just remove the printk(); it doesn't seem like it is really serving much of a use anyway, and I don't think we'll be hiding bugs by getting rid of it.  Don, what do you think?

Chris Lalancette

Comment 1 Chris Lalancette 2009-06-10 15:40:28 UTC
This manifests itself slightly differently on RHEL-4, because the "blkfront" driver doesn't get auto-probed.  However, if you manually do "modprobe blkfront", then shutdown, you'll see the same problem.  My recommended solution for RHEL-4 is the same as for RHEL-5; namely, just get rid of the printk.

Chris Lalancette

Comment 3 Radim Krčmář 2010-09-13 14:49:46 UTC
Created attachment 446954 [details]
hide xenbus warnings on hvm guest shutdown

Recommended solution backported from bug 501474.

Comment 4 Vivek Goyal 2010-10-14 14:40:20 UTC
Committed in 89.43.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/

Comment 6 Lei Wang 2010-12-20 08:16:43 UTC
Test steps:
1. create rhel4 HVM guest with file backend disk and cdrom
2. make sure xen_vbd module loaded
3. shutdown the guest
4. check the output of console

host:
x86 and x86_64
xen-3.0.3-120.el5
kernel-xen-2.6.18-237.el5

Reproduce with:
guest: kernel-2.6.9-89.EL
when shutdown the guest, got the following output:
...
xenbus_dev_shutdown: device/vbd/5632: Closed != Connected, skipping
xenbus_dev_shutdown: device/vbd/768: Closed != Connected, skipping
...

Verified with:
guest: kernel-2.6.9-93.EL
with same steps, no output like this.

According to the above result, move to VERIFIED.

Comment 7 errata-xmlrpc 2011-02-16 16:06:18 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2011-0263.html