VTd passthru of LSI2008 HBA not detecting disks in 3.8-10 Rockstor release

@whitey Yet more good findings I would say. There is the matter that the kernel on Rockstor didn’t change between 3.8-10 (working) and it’s .02 (not working for you) update but a whole lot of other stuff did via the CentOS updates and maybe the system was unable to present those disks with the driver in that state after the updates when before them it muddled through and did present them.

I definitely think you are onto something and it’s great to see those drives showing up. So this looks like some kind of regression that was aggravated by the 4.2.5-1 ml elrepo kernel in Rockstor that isn’t suffered by the 4.3.3 elrepo kernel, or the default CentOS kernel for that matter, which is great news. Of course we would need to install the 4.2.5-1 in the vanilla CentOS 7.2 to know but I’m fairly sure that there are plans to upgrade the default kernel in Rockstor anyway soon so this may all fall into place. Given that the btrfs-progs and kernel are best kept in step maybe the next thing to try is installing this newer elrepo kernel in an updated Rockstor 3.8-10.03 and see if it sorts things. But as I say the btrfs-progs are best kept in line with the kernel version however these have recently been updated in Rockstor so probably new enough for this test (non production for now).

yum list installed | grep btrfs
btrfs-progs.x86_64              4.3.1-0.rockstor               @Rockstor-Testing

I suspect we are waiting on elrepo releasing a 4.4 kernel, not sure. I think @suman is currently pretty deep into the rock-on docker stuff at the moment so the kernel upgrade may be taking a back seat.

To my knowledge (which is very limited I might add) Rockstor uses a completely unaltered elrepo kernel, there just isn’t the people power for us to role a custom one. Although @Dragon2611 in the forums has been compiling his own, and making it available for people to try.

Note that change the default kernel expected by Rockstor so that you don’t get the warning message etc see another post and it’s answer from @Dragon2611 again :-
http://forum.rockstor.com/t/override-kernel-autoboot/798

The difference re 32 & 64 bit is strange / interplay with motherboard pci drivers maybe. You could look at available module options eg:-

modinfo mpt2sas
filename:       /lib/modules/4.2.5-1.el7.elrepo.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
version:        20.100.00.00
license:        GPL
description:    LSI MPT Fusion SAS 2.0 Device Driver
author:         Avago Technologies <MPT-FusionLinux.pdl@avagotech.com>
srcversion:     F74E004728BCB0A8B19A944
alias:          pci:v00001000d0000007Esv*sd*bc*sc*i*
alias:          pci:v00001000d0000006Esv*sd*bc*sc*i*
alias:          pci:v00001000d00000087sv*sd*bc*sc*i*
alias:          pci:v00001000d00000086sv*sd*bc*sc*i*
alias:          pci:v00001000d00000085sv*sd*bc*sc*i*
alias:          pci:v00001000d00000084sv*sd*bc*sc*i*
alias:          pci:v00001000d00000083sv*sd*bc*sc*i*
alias:          pci:v00001000d00000082sv*sd*bc*sc*i*
alias:          pci:v00001000d00000081sv*sd*bc*sc*i*
alias:          pci:v00001000d00000080sv*sd*bc*sc*i*
alias:          pci:v00001000d00000065sv*sd*bc*sc*i*
alias:          pci:v00001000d00000064sv*sd*bc*sc*i*
alias:          pci:v00001000d00000077sv*sd*bc*sc*i*
alias:          pci:v00001000d00000076sv*sd*bc*sc*i*
alias:          pci:v00001000d00000074sv*sd*bc*sc*i*
alias:          pci:v00001000d00000072sv*sd*bc*sc*i*
alias:          pci:v00001000d00000070sv*sd*bc*sc*i*
depends:        scsi_transport_sas,raid_class
intree:         Y
vermagic:       4.2.5-1.el7.elrepo.x86_64 SMP mod_unload modversions 
parm:           logging_level: bits for enabling additional logging info (default=0)
parm:           max_sectors:max sectors, range 64 to 32767  default=32767 (ushort)
parm:           missing_delay: device missing delay , io missing delay (array of int)
parm:           max_lun: max lun, default=16895  (int)
parm:           diag_buffer_enable: post diag buffers (TRACE=1/SNAPSHOT=2/EXTENDED=4/default=0) (int)
parm:           prot_mask: host protection capabilities mask, def=7  (int)
parm:           max_queue_depth: max controller queue depth  (int)
parm:           max_sgl_entries: max sg entries  (int)
parm:           msix_disable: disable msix routed interrupts (default=0) (int)
parm:           max_msix_vectors: max msix vectors  (int)
parm:           mpt2sas_fwfault_debug: enable detection of firmware fault and halt firmware - (default=0)
parm:           disable_discovery: disable discovery  (int)