Skip to content
  • Markus Armbruster's avatar
    blockdev: Fix regression in -drive if=scsi,index=N · 27d6bf40
    Markus Armbruster authored
    Before commit 622b520f, index=12 meant bus=1,unit=5.
    
    Since the commit, it means bus=0,unit=12.  The drive is created, but
    not the guest device.  That's because the controllers we use with
    if=scsi drives (lsi53c895a and esp) support only 7 units, and
    scsi_bus_legacy_handle_cmdline() ignores drives with unit numbers
    exceeding that limit.
    
    Changing the mapping of index to bus, unit is a regression.  Breaking
    -drive invocations that used to work just makes it worse.
    
    Revert the part of commit 622b520f
    
     that causes this, and clean up
    some.
    
    Note that the fix only affects if=scsi.  You can still put more than 7
    units on a SCSI bus with -device & friends.
    
    Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    27d6bf40