Kevin Wolf <kw...@redhat.com> 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 <arm...@redhat.com>
>
> 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.

Reply via email to