+++ 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
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
Created attachment 446954 [details] hide xenbus warnings on hvm guest shutdown Recommended solution backported from bug 501474.
Committed in 89.43.EL . RPMS are available at http://people.redhat.com/vgoyal/rhel4/
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.
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