Bug 474579 - Xen domain cannot be rebooted after restarting xend if it is configured with a mixture of tap and vbd disks
Xen domain cannot be rebooted after restarting xend if it is configured with ...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: xen (Show other bugs)
5.4
All Linux
low Severity medium
: rc
: ---
Assigned To: Jiri Denemark
Virtualization Bugs
:
Depends On: 468971
Blocks:
  Show dependency treegraph
 
Reported: 2008-12-04 10:27 EST by Jiri Denemark
Modified: 2009-12-14 16:21 EST (History)
1 user (show)

See Also:
Fixed In Version: xen-3.0.3-85.el5
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-09-02 06:09:01 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to fix this bug (2.51 KB, patch)
2008-12-09 09:33 EST, Jiri Denemark
no flags Details | Diff

  None (edit)
Description Jiri Denemark 2008-12-04 10:27:22 EST
Description of problem:

Disk reordering fixed by BZ #462727 also happens when a domain is being reconstructed from xenstore after restarting xend.

Version-Release number of selected component (if applicable):

xen-3.0.3-77.el5

How reproducible:

always (requires BZ #468971 to be fixed, otherwise the domain cannot be restarted anyway)

Steps to Reproduce:

1. install a test domain with disk configuration similar to the following one:
disk = [ "tap:aio:/var/lib/xen/images/test.img,xvda,w",'phy:/dev/sdb,xvdb,w']

2. xm create test
3. service xend restart
4. xm reboot test

Actual results:

Traceback (most recent call last):
  File "/usr/bin/pygrub", line 651, in ?
    fs = fsimage.open(file, get_fs_offset(file))
IOError: [Errno 95] Operation not supported
Exception in thread Thread-7:
Traceback (most recent call last):
  File "/usr/lib64/python2.4/threading.py", line 442, in __bootstrap
    self.run()
  File "/usr/lib64/python2.4/threading.py", line 422, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1095, in maybeRestart
    {"destroy"        : self.destroy,
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1881, in restart
    self.configure_bootloader()
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 2007, in configure_bootloader
    self.info['image'])
  File "/usr/lib64/python2.4/site-packages/xen/xend/XendBootloader.py", line 85, in bootloader
    raise VmError, msg
VmError: Boot loader didn't return any data!


Expected results:

Successful reboot

Additional info:
Comment 2 Jiri Denemark 2008-12-09 09:33:45 EST
Created attachment 326317 [details]
Patch to fix this bug

The attached patch fixes this bug by making the disks() function in XendDomainInfo::sxpr() more general and moving it to XendDomainInfo::getDiskConfigurations(), which is than called not only by XendDomainInfo::sxpr() but also by XendDomainInfo::augmentInfo().

As upstream is also affected but it differs in the original fix for 462727 (by introducing bootable flag instead of fixing device reordering), I created a different patch for upstream which has recently been committed into xen-unstable staging tree as c/s 18885.
Comment 3 Jiri Denemark 2009-02-23 06:08:15 EST
A test package which fixes this issue (and several others as well) has been
made available at:

http://people.redhat.com/jdenemar/xen/

Could the reporter try it out and report if it fixes the problem or not?

Thank you for your cooperation.
Comment 4 Jiri Denemark 2009-02-23 06:27:30 EST
Cool stuff, it really works. Great job...

(Oh man, why did I ask myself? :-))
Comment 5 Jiri Denemark 2009-05-11 09:40:35 EDT
Fix built into xen-3.0.3-85.el5
Comment 9 errata-xmlrpc 2009-09-02 06:09:01 EDT
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/RHBA-2009-1328.html

Note You need to log in before you can comment on or make changes to this bug.