** Attachment added: "The test script from the bug description"
   
https://bugs.launchpad.net/qemu/+bug/1603693/+attachment/4702121/+files/test-mptsas1068.sh

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1603693

Title:
  Disks in mptsas1068 scsi controller not seen by linux

Status in QEMU:
  New

Bug description:
  When using the mptsas1068 scsi controller, linux detects the
  controller itself but not the drives attached to it. Freebsd works.
  Using a different controller with linux works. VMware with linux
  works.

  qemu 2.6.50 (v2.6.0-1925-g6b92bbf)
  seabios rel-1.9.0-139-gae3f78f (master branch, required for mptsas1068 
support)

  Test script, loosely based off what libvirt runs and the libvirt tests
  that Paolo Bonzini wrote [1]

  #####################
  iso=archlinux-2016.07.01-dual.iso
  #iso=FreeBSD-10.3-RELEASE-amd64-bootonly.iso
  device=mptsas1068
  #device=lsi

  img=empty.img
  qemu-img create -f qcow2 $img 1G

  /usr/bin/qemu-system-x86_64 \
  -enable-kvm \
  -m 1024 \
  -boot menu=on \
  -device $device,id=scsi0,bus=pci.0,addr=0x9 \
  -drive file=$img,format=qcow2,if=none,id=drive-scsi0-0-0-0 \
  -device 
scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2
 \
  -drive file=$iso,format=raw,if=none,id=drive-ide0-0-1,readonly=on \
  -device ide-cd,bus=ide.0,unit=1,drive=drive-ide0-0-1,id=ide0-0-1,bootindex=1
  #####################

  The ISOs can be downloaded from [2] and [3].

  After booting linux, do "lsblk". /dev/sda should exist.

  After booting freebsd, do "geom disk list". A da0 / "QEMU QEMU
  HARDDISK" should be mentioned.

  With device=mptsas1068 this fails in linux.

  With device=lsi line it works in both.

  With VMWare and a linux VM (opensuse 10.1, kernel 2.6.18) which only
  loads modules for mptsas1068, this works.

  I also reproduced this with the debian 8.5 netinstall image, but it
  insists in making you pick a driver from a list of modules when it
  fails to mount it, instead of dropping to a shell.

  Arch linux dmesg output snippet (full output attached as arch-linux-
  dmesg.txt):

  #####################
  root@archiso ~ # dmesg | grep -i -e mpt -e scsi -e ioc0
  [    0.000000] Linux version 4.6.3-1-ARCH (builduser@tobias) (gcc version 
6.1.1 20160602 (GCC) ) #1 SMP PREEMPT Fri Jun 24 21:19:13 CEST 2016
  [    0.000000]   Normal   empty
  [    0.000000] Preemptible hierarchical RCU implementation.
  [    1.879616] Block layer SCSI generic (bsg) driver version 0.4 loaded 
(major 249)
  [    1.951581] SCSI subsystem initialized
  [    1.957113] Fusion MPT base driver 3.04.20
  [    1.957618] Fusion MPT SAS Host driver 3.04.20
  [    2.281773] scsi host0: ata_piix
  [    2.285372] scsi host1: ata_piix
  [    2.305803] mptbase: ioc0: Initiating bringup
  [    2.363555] ioc0: LSISAS1068 A0: Capabilities={Initiator}
  [    2.444390] scsi 0:0:1:0: CD-ROM            QEMU     QEMU DVD-ROM     2.5+ 
PQ: 0 ANSI: 5
  [    2.500572] scsi host2: ioc0: LSISAS1068 A0, FwRev=01329200h, Ports=8, 
MaxQ=128, IRQ=11
  [    2.507024] sr 0:0:1:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray
  [    2.507274] sr 0:0:1:0: Attached scsi CD-ROM sr0
  #####################

  The controller itself is detected, the disk isn't.

  An early version of this patch [4] said that it was only tested with
  FreeBSD:

  >Tested with FreeBSD for now.  The previous version (before the
  >configuration page rewrite) worked with RHEL and Windows guests as well.
  >
  >TODO: write qtest for (at least) config pages, test Linux and Windows.

  [1]: 
https://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=fc922eb2080a3fa7b24bc8a8b0aabfd394480143
  [2]: https://www.archlinux.org/download
  [3]: https://www.freebsd.org/where.html
  [4]: https://lists.nongnu.org/archive/html/qemu-devel/2015-10/msg06475.html

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1603693/+subscriptions

Reply via email to