[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 18/23] blockdev: Fix blockdev-add not to crea
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v3 18/23] blockdev: Fix blockdev-add not to create IDE drive (0, 0) |
Date: |
Mon, 29 Sep 2014 16:04:44 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Kevin Wolf <address@hidden> writes:
> Am 16.09.2014 um 20:12 hat Markus Armbruster geschrieben:
>> 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 <address@hidden>
>
> I think I would change the subject line to describe that blockdev-add
> devices don't get a DriveInfo any more. The IF_IDE = 0 bug is real, but
> probably not the most important part of this patch.
>
> As you already mentioned, you need to squash in some parts of patch 19
> for this to be correct (the changed if conditions in do_drive_del and
> blockdev_mark_auto_del). You may still leave patch 19 for the removal
> of enable_auto_del if you like, or squash in the whole patch.
I'll see how the reworked pair of patches turns out, then think about
the subject line.
[Qemu-devel] [PATCH v3 16/23] pc87312: Drop unused members of PC87312State, Markus Armbruster, 2014/09/16
[Qemu-devel] [PATCH v3 21/23] blockdev: Convert qmp_eject(), qmp_change_blockdev() to BlockBackend, Markus Armbruster, 2014/09/16
[Qemu-devel] [PATCH v3 22/23] block: Lift device model API into BlockBackend, Markus Armbruster, 2014/09/16