RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 994374 - boot up guest failed, hung in "booting from hard disk"
Summary: boot up guest failed, hung in "booting from hard disk"
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.5
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: Fam Zheng
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-08-07 07:03 UTC by mazhang
Modified: 2015-03-16 09:11 UTC (History)
16 users (show)

Fixed In Version: qemu-kvm-0.12.1.2-2.386.el6
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-11-21 07:07:29 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2013:1553 0 normal SHIPPED_LIVE Important: qemu-kvm security, bug fix, and enhancement update 2013-11-20 21:40:29 UTC

Comment 3 Laszlo Ersek 2013-08-07 09:57:02 UTC
I'm proposing

diff --git a/blockdev.c b/blockdev.c
index e4db09f..e99af4a 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -347,7 +347,7 @@ DriveInfo *drive_init(QemuOpts *opts, int default_to_scsi)
     const char *devaddr;
     DriveInfo *dinfo;
     int is_extboot = 0;
-    BlockIOLimit io_limits;
+    BlockIOLimit io_limits = { 0 };
     int snapshot = 0;
     bool copy_on_read;

Comment 5 Laszlo Ersek 2013-08-07 10:19:32 UTC
cc1: warnings being treated as errors
/builddir/build/BUILD/qemu-kvm-0.12.1.2/blockdev.c: In function 'drive_init':
/builddir/build/BUILD/qemu-kvm-0.12.1.2/blockdev.c:350: error: missing braces around initializer
/builddir/build/BUILD/qemu-kvm-0.12.1.2/blockdev.c:350: error: (near initialization for 'io_limits.bps')

I don't know how much more RETARDED our build configuration can get.

x = { 0 } is a PERFECTLY VALID AND UNIVERSAL initializer, for EVERYTHING.

Comment 6 Fam Zheng 2013-08-07 10:35:17 UTC
Laszlo,

I think this is as simple to have:

diff --git a/blockdev.c b/blockdev.c
index a4c6c37..3af695f 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -618,8 +618,10 @@ DriveInfo *drive_init(QemuOpts *opts, int default_to_scsi)

     bdrv_set_on_error(dinfo->bdrv, on_read_error, on_write_error);

+#if CONFIG_BLOCK_IO_THROTTLING
     /* disk I/O throttling */
     bdrv_set_io_limits(dinfo->bdrv, &io_limits);
+#endif

     switch(type) {
     case IF_IDE:

Comment 7 Laszlo Ersek 2013-08-07 10:53:40 UTC
Are you sure the BlockDriverState fields "io_limits" and "io_limits_enabled" will default to the same values as bdrv_set_io_limits() would set, for an all-zero io_limits?

The RHEV code would be better matched by

--- a/blockdev.c
+++ b/blockdev.c
@@ -506,6 +506,8 @@ DriveInfo *drive_init(QemuOpts *opts, int default_to_scsi)
                      "cannot be used at the same time");
         return NULL;
     }
+#else
+    memset(&io_limits, '\0', sizeof io_limits);
 #endif
 
     on_write_error = BLOCK_ERR_STOP_ENOSPC;

In any case, please feel free to take the bug (if we get confirmation that the bug is caused by RHEL-6 commit 6b1eb15c, anyway). I just wanted to give QE a quick Brew build so they can confirm.

Comment 9 Fam Zheng 2013-08-07 11:04:56 UTC
(In reply to Laszlo Ersek from comment #7)
> Are you sure the BlockDriverState fields "io_limits" and "io_limits_enabled"
> will default to the same values as bdrv_set_io_limits() would set, for an
> all-zero io_limits?
> 
> The RHEV code would be better matched by
> 
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -506,6 +506,8 @@ DriveInfo *drive_init(QemuOpts *opts, int
> default_to_scsi)
>                       "cannot be used at the same time");
>          return NULL;
>      }
> +#else
> +    memset(&io_limits, '\0', sizeof io_limits);
>  #endif
>  
>      on_write_error = BLOCK_ERR_STOP_ENOSPC;
> 
> In any case, please feel free to take the bug (if we get confirmation that
> the bug is caused by RHEL-6 commit 6b1eb15c, anyway). I just wanted to give
> QE a quick Brew build so they can confirm.

OK, thanks. I'm taking it.

mazhang, would you please test Laszlo's above build? If it works, I can post the patch to rhvirt-patches.

Comment 10 mazhang 2013-08-08 01:57:09 UTC
OK,I'll test it asap

Comment 11 mazhang 2013-08-08 02:09:54 UTC
Just do a quick test with comment 8 provide build, all interface of virtio-blk virtio-scsi ide works well, boot up guest successfully.

Comment 12 Fam Zheng 2013-08-08 02:47:29 UTC
(In reply to mazhang from comment #11)
> Just do a quick test with comment 8 provide build, all interface of
> virtio-blk virtio-scsi ide works well, boot up guest successfully.

Good, thanks for quick response.

Comment 19 mazhang 2013-08-21 09:42:20 UTC
1.Reproduce this bug on qemu-kvm-0.12.1.2-2.384.el6.x86_64.

steps please refer comment #c0.

Actual results:
guest hung in "Booting from Hard Disk... "

Expected results:
boot up guest


2.Verify this bug on qemu-kvm-0.12.1.2-2.394.el6.x86_64.

steps please refer comment #c0.

Actual results:
boot guest successfully, all kinds of disk interface works well.

Comment 21 errata-xmlrpc 2013-11-21 07:07:29 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-1553.html


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