Bug 119407 - Cannot use disk image in XenU domain
Summary: Cannot use disk image in XenU domain
Status: VERIFIED FIXED
: 144010 (view as bug list)
Alias: None
Product: SUSE LINUX 10.0
Classification: openSUSE
Component: Xen (show other bugs)
Version: RC 4
Hardware: Other All
: P5 - None : Major
Target Milestone: ---
Assignee: Gerd Hoffmann
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-29 11:01 UTC by Ladislav Slezák
Modified: 2006-06-15 19:05 UTC (History)
3 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ladislav Slezák 2005-09-29 11:01:27 UTC
If I use complete disk image in domainU (configured as
disk = [ 'file:/var/lib/xen/images/domain3/hda,ioemu:hda,w' ])
I get this error message during boot of the domain:

...
Xen virtual console successfully installed as tty1
Event-channel device installed.
Neither TPM-BE Domain nor INIT domain!
xen_blk: Initialising virtual block device driver
xen_blk: Timeout connecting to device!
xen_net: Initialising virtual ethernet driver.
xen_net: Using grant tables.
xen_tpm_fr: Initialising the vTPM driver.
...

The imge file exists and has non-zero size:
# ls -l /var/lib/xen/images/domain3/hda
-rw-r--r--  1 root root 1073741825 Sep 22 11:01 /var/lib/xen/images/domain3/hda

As a result the virtual machine has no disk. This bug makes Xen yast module
completely useless because it uses a disk image for VM installation.
Comment 1 Kurt Garloff 2005-10-05 18:21:18 UTC
The ioemu is for machines with VT (Vanderpool = HW support for virtualization 
in intel CPUs). Please drop "ioemu:" fromthe config and try again. 
 
Comment 2 Kurt Garloff 2005-10-06 01:27:09 UTC
Please test. 
Comment 3 Ladislav Slezák 2005-10-06 06:35:09 UTC
Without "ioemu" option the domain stops at detecting the disk, it prints:

Xen virtual console successfully installed as tty1
Event-channel device installed.
Neither TPM-BE Domain nor INIT domain!
xen_blk: Initialising virtual block device driver
Registering block device major 3
 hda:

and then it hangs.
Comment 4 Gerd Hoffmann 2005-10-06 14:03:47 UTC
Seems to be fixed in current xen unstable tree.
Comment 5 Martin Sommer 2005-11-16 10:40:09 UTC
since Xen is called technical preview in 10.0 -> not a blocker bug
Comment 6 Kurt Garloff 2005-12-05 13:31:34 UTC
Hmm, looks like problems with hotplug. Should be fixed in latest xen update
packages that should go out this week.
Comment 7 Kurt Garloff 2005-12-20 20:54:08 UTC
Can you please verify it works now?
Comment 9 Ladislav Slezák 2006-01-06 09:29:36 UTC
I reported the same problem for Xen 2.0 in SL9.3, it was fixed. May be that the patch can be reused?
Comment 10 Gerd Hoffmann 2006-01-09 16:56:17 UTC
What kernel/tools version is this?  I don't have the "xen_blk: Initialising virtual block device driver" line in my log here.

I'm running SL 10.0 with all you updates (=> xen-3.0_7608, kernel-xen-2.6.13-15.7), whole disk virtual block devices work ok for me, no matter whenever I name them xvd, hd or sd ...
Comment 11 Ladislav Slezák 2006-01-25 11:45:26 UTC
*** Bug 144010 has been marked as a duplicate of this bug. ***
Comment 12 Ladislav Slezák 2006-01-25 12:29:31 UTC
Still happens in Beta1 (xen-3.0_8513-1, kernel-xen-2.6.15_git12-6, i386-32bit), see the output in bug #144010 for more information.
Comment 13 Gerd Hoffmann 2006-01-27 16:11:42 UTC
Installed Beta2 today, I see it as well, investigating ...
Comment 14 Gerd Hoffmann 2006-01-27 17:00:24 UTC
Seems to be a problem in our kernel, the blkfront driver doesn't enter the "connected" state for some reason.  Doesn't happen with a kernel built fresh from the "merge tree".

Jan, any chance you have seen this before?
Comment 15 Ross Maxfield 2006-01-28 02:56:06 UTC
I've been looking into this for a bit as I have two machines (a Dell and and AMD running i386 or x86_64) that at 'hda:' hangs 9 out of 10 times.  I believe I've found the problem. The blkfront driver calles xlvbd_add() before setting info->connected = BLKIF_STATE_CONNECTED and informing xenbus with xenbus_switch_state().  Calling xlvdb_add() results in an IO request from efi_partition() before returning.  The IO request fails in blkif_queue_request()  because info->connected is not set.  read_chache_page(), which originated the IO request, waits for the request to complete before returning, which never happens, thus the xlvdb_add() never returns to allow the driver to set info->connected.  HUNG!
 
Moving  

info->connected = BLKIF_STATE_CONNECTED;
(void)xenbus_switch_state(info->xbdev, NULL, XenbusStateConnected);

before xlvdb_add() lets me bring up domu everytime.

Comment 16 Gerd Hoffmann 2006-01-30 09:22:11 UTC
Thanks Ross, fix committed to CVS.
Next kernel-of-the-day and beta3 should work ok.
Comment 17 James Fehlig 2006-02-02 21:47:10 UTC
Looks good in beta3.  I opened (duplicate) bug #144010 but reluctant (perhaps foolishly) to close this one since I am not the reporter.