From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47259) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XW3Jp-0002kj-E6 for qemu-devel@nongnu.org; Mon, 22 Sep 2014 09:06:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XW3Jj-00087h-3p for qemu-devel@nongnu.org; Mon, 22 Sep 2014 09:06:17 -0400 Received: from mx1.redhat.com ([209.132.183.28]:9201) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XW3Ji-00085z-Tq for qemu-devel@nongnu.org; Mon, 22 Sep 2014 09:06:11 -0400 Message-ID: <54201EB5.2040305@redhat.com> Date: Mon, 22 Sep 2014 15:05:57 +0200 From: Max Reitz MIME-Version: 1.0 References: <1410891148-28849-1-git-send-email-armbru@redhat.com> <1410891148-28849-19-git-send-email-armbru@redhat.com> In-Reply-To: <1410891148-28849-19-git-send-email-armbru@redhat.com> Content-Type: text/plain; charset=iso-8859-15; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v3 18/23] blockdev: Fix blockdev-add not to create IDE drive (0, 0) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Markus Armbruster , qemu-devel@nongnu.org Cc: kwolf@redhat.com, famz@redhat.com, benoit.canet@nodalink.com, stefanha@redhat.com On 16.09.2014 20:12, Markus Armbruster wrote: > blockdev_init() always creates a DriveInfo, but only drive_new() fills > it in. qmp_blockdev_add() leaves it blank. This results in a drive > with type = IF_IDE, bus = 0, unit = 0. Screwed up in commit ee13ed1c. > > Board initialization code looking for IDE drive (0,0) can pick up one > of these bogus drives. Not sure whether getting the QMP command > executed early enough is likely in practice, though. > > Fix by creating DriveInfo in drive_new(). Block backends created by > blockdev-add don't get one. > > A few places assume a block backend always has a DriveInfo. Fix them > up. > > Signed-off-by: Markus Armbruster > --- > block/block-backend.c | 4 +--- > blockdev.c | 10 ++-------- > hw/block/block.c | 16 ++++++++++------ > hw/ide/qdev.c | 2 +- > hw/scsi/scsi-disk.c | 2 +- > 5 files changed, 15 insertions(+), 19 deletions(-) Reviewed-by: Max Reitz