Proxmox 5 modinfo mpt3sas LSI 9207-8i

Discussion in 'RAID Controllers and Host Bus Adapters' started by jengdesign, Sep 7, 2017.

  1. jengdesign

    jengdesign New Member

    Joined:
    Aug 28, 2017
    Messages:
    4
    Likes Received:
    0
    I'm setting up a Ceph array using Proxmox.

    I have LSI 9207-8i installed.

    modinfo mpt3sas states version 14.101.00.00

    SAS 9207-8i Host Bus Adapter

    The driver versions listed say 20.00.04.00-1.

    Is there a way to update Proxmox to latest drivers? I'm relatively new to the Proxmox/Ceph scene, go easy on me.
     
    #1
  2. whitey

    whitey Moderator

    Joined:
    Jun 30, 2014
    Messages:
    2,735
    Likes Received:
    848
    That's a fairly current and solid release of the LSI 2008/2118 firmware, there is a later version .07 but if proxmox is happy with it I would say leave it be. Else there are a ton of guides around here covering in depth how to upgrade/flash LSI HBA's. If you run into trouble PM me as I have quite a bit of experience w/ this process and threads hanging around here. Been in a HBA lull since my LSI 9341-8i but I am sure I can dust off the notes/binaries.
     
    #2
    gigatexal likes this.
  3. nthu9280

    nthu9280 Well-Known Member

    Joined:
    Feb 3, 2016
    Messages:
    1,414
    Likes Received:
    351
    Shouldn't the driver for 92xx be mpt2sas?

    Sent from my Nexus 6 using Tapatalk
     
    #3
  4. whitey

    whitey Moderator

    Joined:
    Jun 30, 2014
    Messages:
    2,735
    Likes Received:
    848
    That's right, I glossed right over that, hoping it was a typo, think the LSI 9207 was 2118 though right? Essentialy the same thing :-D wink wink

    /yeah listen to @nthu9280, he knows his HBA's just as good or better than I these days/
     
    #4
  5. jengdesign

    jengdesign New Member

    Joined:
    Aug 28, 2017
    Messages:
    4
    Likes Received:
    0
    Sorry for the confusion. I'm looking for the driver, not the firmware.

    The firmware on my card is 20.00.02.00.

    The driver in Proxmox is version 14.101.00.00 see below.

    LSI has 20.00.04.00-1 listed on their site. I'm trying to figure out how to update it in Proxmox.

    Code:
    root@pve8:/usr/src# modinfo mpt2sas
    filename:       /lib/modules/4.10.17-2-pve/kernel/drivers/scsi/mpt3sas/mpt3sas.ko
    alias:          mpt2sas
    version:        14.101.00.00
    license:        GPL
    description:    LSI MPT Fusion SAS 3.0 Device Driver
    author:         Avago Technologies <MPT-FusionLinux.pdl@avagotech.com>
    srcversion:     C0FF8A0FB48EE026A4192E5
    alias:          pci:v00001000d000000ACsv*sd*bc*sc*i*
    alias:          pci:v00001000d000000ABsv*sd*bc*sc*i*
    alias:          pci:v00001000d000000AAsv*sd*bc*sc*i*
    alias:          pci:v00001000d000000AFsv*sd*bc*sc*i*
    alias:          pci:v00001000d000000AEsv*sd*bc*sc*i*
    alias:          pci:v00001000d000000ADsv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C3sv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C2sv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C1sv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C0sv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C8sv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C7sv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C6sv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C5sv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C4sv*sd*bc*sc*i*
    alias:          pci:v00001000d000000C9sv*sd*bc*sc*i*
    alias:          pci:v00001000d00000095sv*sd*bc*sc*i*
    alias:          pci:v00001000d00000094sv*sd*bc*sc*i*
    alias:          pci:v00001000d00000091sv*sd*bc*sc*i*
    alias:          pci:v00001000d00000090sv*sd*bc*sc*i*
    alias:          pci:v00001000d00000097sv*sd*bc*sc*i*
    alias:          pci:v00001000d00000096sv*sd*bc*sc*i*
    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.10.17-2-pve 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  (ullong)
    parm:           hbas_to_enumerate: 0 - enumerates both SAS 2.0 & SAS 3.0 generation HBAs
               1 - enumerates only SAS 2.0 generation HBAs
               2 - enumerates only SAS 3.0 generation HBAs (default=0) (ushort)
    parm:           diag_buffer_enable: post diag buffers (TRACE=1/SNAPSHOT=2/EXTENDED=4/default=0) (int)
    parm:           disable_discovery: disable discovery  (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:           smp_affinity_enable:SMP affinity feature enable/disbale Default: enable(1) (int)
    parm:           max_msix_vectors: max msix vectors (int)
    parm:           mpt3sas_fwfault_debug: enable detection of firmware fault and halt firmware - (default=0)
     
    #5
  6. jengdesign

    jengdesign New Member

    Joined:
    Aug 28, 2017
    Messages:
    4
    Likes Received:
    0
    I'm trying to "build" the driver from the source they provide within this link.

    https://docs.broadcom.com/docs/12349343

    Getting errors and recipe failures. I'm following the instructions they provide in the PDF. Still no luck.

    Any assistance in this would be welcome, since I figure it's probably easier than I'm making it.

    Code:
    root@pve12:/usr/src/mpt2sas/mpt3sas# bash compile.sh
    rm: cannot remove 'tags': No such file or directory
    compile.sh: line 50: ctags: command not found
    make: Entering directory '/usr/src/linux-headers-4.10.17-3-pve'
      LD      /usr/src/mpt2sas/mpt3sas/built-in.o
      CC [M]  /usr/src/mpt2sas/mpt3sas/mpt3sas_base.o
      CC [M]  /usr/src/mpt2sas/mpt3sas/mpt3sas_config.o
      CC [M]  /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.o
      CC [M]  /usr/src/mpt2sas/mpt3sas/mpt3sas_scsih.o
    In file included from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:70:0,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_config.c:56:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_compatibility.h:50:12: error: conflicting types for ‘scsi_internal_device_block’
     extern int scsi_internal_device_block(struct scsi_device *sdev);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from ./include/scsi/scsi_cmnd.h:10:0,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:60,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_config.c:56:
    ./include/scsi/scsi_device.h:478:5: note: previous declaration of ‘scsi_internal_device_block’ was here
     int scsi_internal_device_block(struct scsi_device *sdev, bool wait);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:70:0,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:66:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_compatibility.h:50:12: error: conflicting types for ‘scsi_internal_device_block’
     extern int scsi_internal_device_block(struct scsi_device *sdev);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from ./include/scsi/scsi_cmnd.h:10:0,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:60,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:66:
    ./include/scsi/scsi_device.h:478:5: note: previous declaration of ‘scsi_internal_device_block’ was here
     int scsi_internal_device_block(struct scsi_device *sdev, bool wait);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:70:0,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_scsih.c:61:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_compatibility.h:50:12: error: conflicting types for ‘scsi_internal_device_block’
     extern int scsi_internal_device_block(struct scsi_device *sdev);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from ./include/scsi/scsi_cmnd.h:10:0,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:60,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_scsih.c:61:
    ./include/scsi/scsi_device.h:478:5: note: previous declaration of ‘scsi_internal_device_block’ was here
     int scsi_internal_device_block(struct scsi_device *sdev, bool wait);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:70:0,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:51:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_compatibility.h:50:12: error: conflicting types for ‘scsi_internal_device_block’
     extern int scsi_internal_device_block(struct scsi_device *sdev);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~
    In file included from ./include/scsi/scsi_cmnd.h:10:0,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:60,
                     from /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:51:
    ./include/scsi/scsi_device.h:478:5: note: previous declaration of ‘scsi_internal_device_block’ was here
     int scsi_internal_device_block(struct scsi_device *sdev, bool wait);
         ^~~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c: In function ‘_base_display_event_data’:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:820:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
       if (event_data->DiscoveryStatus)
       ^~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:823:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
        printk("\n");
        ^~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:300:1: warning: data definition has no type or storage class
     CONFIGFS_ATTR_STRUCT(mpt3sas_driver);
     ^~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:300:1: error: type defaults to ‘int’ in declaration of ‘CONFIGFS_ATTR_STRUCT’ [-Werror=implicit-int]
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:300:1: warning: parameter names (without types) in function declaration
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:333:1: warning: data definition has no type or storage class
     CONFIGFS_ATTR_STRUCT(mpt3sas_hba);
     ^~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:333:1: error: type defaults to ‘int’ in declaration of ‘CONFIGFS_ATTR_STRUCT’ [-Werror=implicit-int]
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:333:1: warning: parameter names (without types) in function declaration
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:370:1: warning: data definition has no type or storage class
     CONFIGFS_ATTR_STRUCT(mpt3sas_device);
     ^~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:370:1: error: type defaults to ‘int’ in declaration of ‘CONFIGFS_ATTR_STRUCT’ [-Werror=implicit-int]
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:370:1: warning: parameter names (without types) in function declaration
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:373:8: error: variable ‘mpt3sas_device_attr_WWID’ has initializer but incomplete type
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:451:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR’
     MPT3SAS_DEVICE_ATTR(WWID, S_IRUGO | S_IWUSR, mpt3sas_device_WWID_read,
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:374:1: error: implicit declaration of function ‘__CONFIGFS_ATTR’ [-Werror=implicit-function-declaration]
     __CONFIGFS_ATTR(_name, _mode, _show, _store)
     ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:451:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR’
     MPT3SAS_DEVICE_ATTR(WWID, S_IRUGO | S_IWUSR, mpt3sas_device_WWID_read,
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:451:21: error: ‘WWID’ undeclared here (not in a function)
     MPT3SAS_DEVICE_ATTR(WWID, S_IRUGO | S_IWUSR, mpt3sas_device_WWID_read,
                         ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:374:17: note: in definition of macro ‘MPT3SAS_DEVICE_ATTR’
     __CONFIGFS_ATTR(_name, _mode, _show, _store)
                     ^~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:373:8: error: variable ‘mpt3sas_device_attr_slot’ has initializer but incomplete type
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:497:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR’
     MPT3SAS_DEVICE_ATTR(slot, S_IRUGO | S_IWUSR, mpt3sas_device_slot_read,
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:497:21: error: ‘slot’ undeclared here (not in a function)
     MPT3SAS_DEVICE_ATTR(slot, S_IRUGO | S_IWUSR, mpt3sas_device_slot_read,
                         ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:374:17: note: in definition of macro ‘MPT3SAS_DEVICE_ATTR’
     __CONFIGFS_ATTR(_name, _mode, _show, _store)
                     ^~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:373:8: error: variable ‘mpt3sas_device_attr_serial_number’ has initializer but incomplete type
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:548:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR’
     MPT3SAS_DEVICE_ATTR(serial_number, S_IRUGO | S_IWUSR, mpt3sas_device_serial_number_read,
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:548:21: error: ‘serial_number’ undeclared here (not in a function)
     MPT3SAS_DEVICE_ATTR(serial_number, S_IRUGO | S_IWUSR, mpt3sas_device_serial_number_read,
                         ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:374:17: note: in definition of macro ‘MPT3SAS_DEVICE_ATTR’
     __CONFIGFS_ATTR(_name, _mode, _show, _store)
                     ^~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:373:8: error: variable ‘mpt3sas_device_attr_vfid_mask’ has initializer but incomplete type
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1060:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR’
     MPT3SAS_DEVICE_ATTR(vfid_mask, S_IRUGO | S_IWUSR,
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1060:21: error: ‘vfid_mask’ undeclared here (not in a function)
     MPT3SAS_DEVICE_ATTR(vfid_mask, S_IRUGO | S_IWUSR,
                         ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:374:17: note: in definition of macro ‘MPT3SAS_DEVICE_ATTR’
     __CONFIGFS_ATTR(_name, _mode, _show, _store)
                     ^~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:377:8: error: variable ‘mpt3sas_device_attr_description’ has initializer but incomplete type
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1085:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR_RO’
     MPT3SAS_DEVICE_ATTR_RO(description, mpt3sas_device_description_read);
     ^~~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:378:1: error: implicit declaration of function ‘__CONFIGFS_ATTR_RO’ [-Werror=implicit-function-declaration]
     __CONFIGFS_ATTR_RO(_name, _show);
     ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1085:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR_RO’
     MPT3SAS_DEVICE_ATTR_RO(description, mpt3sas_device_description_read);
     ^~~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1085:24: error: ‘description’ undeclared here (not in a function)
     MPT3SAS_DEVICE_ATTR_RO(description, mpt3sas_device_description_read);
                            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:378:20: note: in definition of macro ‘MPT3SAS_DEVICE_ATTR_RO’
     __CONFIGFS_ATTR_RO(_name, _show);
                        ^~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1088:2: error: invalid use of undefined type ‘struct mpt3sas_device_attribute’
      &mpt3sas_device_attr_WWID.attr,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1089:2: error: invalid use of undefined type ‘struct mpt3sas_device_attribute’
      &mpt3sas_device_attr_slot.attr,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1090:2: error: invalid use of undefined type ‘struct mpt3sas_device_attribute’
      &mpt3sas_device_attr_serial_number.attr,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1091:2: error: invalid use of undefined type ‘struct mpt3sas_device_attribute’
      &mpt3sas_device_attr_vfid_mask.attr,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1092:2: error: invalid use of undefined type ‘struct mpt3sas_device_attribute’
      &mpt3sas_device_attr_description.attr,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1170:1: warning: data definition has no type or storage class
     CONFIGFS_ATTR_OPS(mpt3sas_device);
     ^~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1170:1: error: type defaults to ‘int’ in declaration of ‘CONFIGFS_ATTR_OPS’ [-Werror=implicit-int]
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1170:1: warning: parameter names (without types) in function declaration
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1172:2: error: unknown field ‘show_attribute’ specified in initializer
      .show_attribute = mpt3sas_device_attr_show,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1172:20: error: ‘mpt3sas_device_attr_show’ undeclared here (not in a function)
      .show_attribute = mpt3sas_device_attr_show,
                        ^~~~~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1172:20: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1172:20: note: (near initialization for ‘mpt3sas_device_item_ops.release’)
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1173:2: error: unknown field ‘store_attribute’ specified in initializer
      .store_attribute = mpt3sas_device_attr_store,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1173:21: error: ‘mpt3sas_device_attr_store’ undeclared here (not in a function)
      .store_attribute = mpt3sas_device_attr_store,
                         ^~~~~~~~~~~~~~~~~~~~~~~~~
    
     
    #6
  7. jengdesign

    jengdesign New Member

    Joined:
    Aug 28, 2017
    Messages:
    4
    Likes Received:
    0
    Rest of code from last post.... ^^

    Code:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1173:21: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1173:21: note: (near initialization for ‘mpt3sas_device_item_ops.allow_link’)
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:336:8: error: variable ‘mpt3sas_hba_attr_ioc_number’ has initializer but incomplete type
     struct mpt3sas_hba_attribute mpt3sas_hba_attr_##_name = \
            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1300:1: note: in expansion of macro ‘MPT3SAS_HBA_ATTR’
     MPT3SAS_HBA_ATTR(ioc_number, S_IRUGO | S_IWUSR, mpt3sas_hba_ioc_number_read,
     ^~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1300:18: error: ‘ioc_number’ undeclared here (not in a function)
     MPT3SAS_HBA_ATTR(ioc_number, S_IRUGO | S_IWUSR, mpt3sas_hba_ioc_number_read,
                      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:337:17: note: in definition of macro ‘MPT3SAS_HBA_ATTR’
     __CONFIGFS_ATTR(_name, _mode, _show, _store)
                     ^~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:336:8: error: variable ‘mpt3sas_hba_attr_mapping_mode’ has initializer but incomplete type
     struct mpt3sas_hba_attribute mpt3sas_hba_attr_##_name = \
            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1360:1: note: in expansion of macro ‘MPT3SAS_HBA_ATTR’
     MPT3SAS_HBA_ATTR(mapping_mode, S_IRUGO | S_IWUSR, mpt3sas_hba_mapping_mode_read,
     ^~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1360:18: error: ‘mapping_mode’ undeclared here (not in a function)
     MPT3SAS_HBA_ATTR(mapping_mode, S_IRUGO | S_IWUSR, mpt3sas_hba_mapping_mode_read,
                      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:337:17: note: in definition of macro ‘MPT3SAS_HBA_ATTR’
     __CONFIGFS_ATTR(_name, _mode, _show, _store)
                     ^~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:340:8: error: variable ‘mpt3sas_hba_attr_description’ has initializer but incomplete type
     struct mpt3sas_hba_attribute mpt3sas_hba_attr_##_name = \
            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1380:1: note: in expansion of macro ‘MPT3SAS_HBA_ATTR_RO’
     MPT3SAS_HBA_ATTR_RO(description, mpt3sas_hba_description_read);
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1383:2: error: invalid use of undefined type ‘struct mpt3sas_hba_attribute’
      &mpt3sas_hba_attr_ioc_number.attr,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1383:2: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1383:2: note: (near initialization for ‘mpt3sas_hba_attrs[0]’)
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1384:2: error: invalid use of undefined type ‘struct mpt3sas_hba_attribute’
      &mpt3sas_hba_attr_mapping_mode.attr,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1384:2: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1384:2: note: (near initialization for ‘mpt3sas_hba_attrs[1]’)
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1385:2: error: invalid use of undefined type ‘struct mpt3sas_hba_attribute’
      &mpt3sas_hba_attr_description.attr,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1385:2: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1385:2: note: (near initialization for ‘mpt3sas_hba_attrs[2]’)
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1422:1: warning: data definition has no type or storage class
     CONFIGFS_ATTR_OPS(mpt3sas_hba);
     ^~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1422:1: error: type defaults to ‘int’ in declaration of ‘CONFIGFS_ATTR_OPS’ [-Werror=implicit-int]
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1422:1: warning: parameter names (without types) in function declaration
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1424:2: error: unknown field ‘show_attribute’ specified in initializer
      .show_attribute = mpt3sas_hba_attr_show,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1424:20: error: ‘mpt3sas_hba_attr_show’ undeclared here (not in a function)
      .show_attribute = mpt3sas_hba_attr_show,
                        ^~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1424:20: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1424:20: note: (near initialization for ‘mpt3sas_hba_item_ops.release’)
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1425:2: error: unknown field ‘store_attribute’ specified in initializer
      .store_attribute = mpt3sas_hba_attr_store,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1425:21: error: ‘mpt3sas_hba_attr_store’ undeclared here (not in a function)
      .store_attribute = mpt3sas_hba_attr_store,
                         ^~~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1425:21: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1425:21: note: (near initialization for ‘mpt3sas_hba_item_ops.allow_link’)
    scripts/Makefile.build:294: recipe for target '/usr/src/mpt2sas/mpt3sas/mpt3sas_config.o' failed
    make[1]: *** [/usr/src/mpt2sas/mpt3sas/mpt3sas_config.o] Error 1
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:307:8: error: variable ‘mpt3sas_driver_attr_description’ has initializer but incomplete type
     struct mpt3sas_driver_attribute mpt3sas_driver_attr_##_name = \
            ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1484:1: note: in expansion of macro ‘MPT3SAS_DRIVER_ATTR_RO’
     MPT3SAS_DRIVER_ATTR_RO(description, mpt3sas_driver_description_read);
     ^~~~~~~~~~~~~~~~~~~~~~
    make[1]: *** Waiting for unfinished jobs....
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1487:2: error: invalid use of undefined type ‘struct mpt3sas_driver_attribute’
      &mpt3sas_driver_attr_description.attr,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1487:2: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1487:2: note: (near initialization for ‘mpt3sas_driver_attrs[0]’)
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1503:1: warning: data definition has no type or storage class
     CONFIGFS_ATTR_OPS(mpt3sas_driver);
     ^~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1503:1: error: type defaults to ‘int’ in declaration of ‘CONFIGFS_ATTR_OPS’ [-Werror=implicit-int]
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1503:1: warning: parameter names (without types) in function declaration
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1505:2: error: unknown field ‘show_attribute’ specified in initializer
      .show_attribute = mpt3sas_driver_attr_show,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1505:20: error: ‘mpt3sas_driver_attr_show’ undeclared here (not in a function)
      .show_attribute = mpt3sas_driver_attr_show,
                        ^~~~~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1505:20: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1505:20: note: (near initialization for ‘mpt3sas_driver_item_ops.release’)
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1506:2: error: unknown field ‘store_attribute’ specified in initializer
      .store_attribute = mpt3sas_driver_attr_store,
      ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1506:21: error: ‘mpt3sas_driver_attr_store’ undeclared here (not in a function)
      .store_attribute = mpt3sas_driver_attr_store,
                         ^~~~~~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1506:21: error: initializer element is not constant
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1506:21: note: (near initialization for ‘mpt3sas_driver_item_ops.allow_link’)
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:373:33: error: storage size of ‘mpt3sas_device_attr_WWID’ isn’t known
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
                                     ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:451:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR’
     MPT3SAS_DEVICE_ATTR(WWID, S_IRUGO | S_IWUSR, mpt3sas_device_WWID_read,
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:373:33: error: storage size of ‘mpt3sas_device_attr_slot’ isn’t known
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
                                     ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:497:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR’
     MPT3SAS_DEVICE_ATTR(slot, S_IRUGO | S_IWUSR, mpt3sas_device_slot_read,
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:373:33: error: storage size of ‘mpt3sas_device_attr_serial_number’ isn’t known
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
                                     ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:548:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR’
     MPT3SAS_DEVICE_ATTR(serial_number, S_IRUGO | S_IWUSR, mpt3sas_device_serial_number_read,
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:373:33: error: storage size of ‘mpt3sas_device_attr_vfid_mask’ isn’t known
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
                                     ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1060:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR’
     MPT3SAS_DEVICE_ATTR(vfid_mask, S_IRUGO | S_IWUSR,
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:377:33: error: storage size of ‘mpt3sas_device_attr_description’ isn’t known
     struct mpt3sas_device_attribute mpt3sas_device_attr_##_name = \
                                     ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1085:1: note: in expansion of macro ‘MPT3SAS_DEVICE_ATTR_RO’
     MPT3SAS_DEVICE_ATTR_RO(description, mpt3sas_device_description_read);
     ^~~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:336:30: error: storage size of ‘mpt3sas_hba_attr_ioc_number’ isn’t known
     struct mpt3sas_hba_attribute mpt3sas_hba_attr_##_name = \
                                  ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1300:1: note: in expansion of macro ‘MPT3SAS_HBA_ATTR’
     MPT3SAS_HBA_ATTR(ioc_number, S_IRUGO | S_IWUSR, mpt3sas_hba_ioc_number_read,
     ^~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:336:30: error: storage size of ‘mpt3sas_hba_attr_mapping_mode’ isn’t known
     struct mpt3sas_hba_attribute mpt3sas_hba_attr_##_name = \
                                  ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1360:1: note: in expansion of macro ‘MPT3SAS_HBA_ATTR’
     MPT3SAS_HBA_ATTR(mapping_mode, S_IRUGO | S_IWUSR, mpt3sas_hba_mapping_mode_read,
     ^~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:340:30: error: storage size of ‘mpt3sas_hba_attr_description’ isn’t known
     struct mpt3sas_hba_attribute mpt3sas_hba_attr_##_name = \
                                  ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1380:1: note: in expansion of macro ‘MPT3SAS_HBA_ATTR_RO’
     MPT3SAS_HBA_ATTR_RO(description, mpt3sas_hba_description_read);
     ^~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:307:33: error: storage size of ‘mpt3sas_driver_attr_description’ isn’t known
     struct mpt3sas_driver_attribute mpt3sas_driver_attr_##_name = \
                                     ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.c:1484:1: note: in expansion of macro ‘MPT3SAS_DRIVER_ATTR_RO’
     MPT3SAS_DRIVER_ATTR_RO(description, mpt3sas_driver_description_read);
     ^~~~~~~~~~~~~~~~~~~~~~
    cc1: some warnings being treated as errors
    scripts/Makefile.build:294: recipe for target '/usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.o' failed
    make[1]: *** [/usr/src/mpt2sas/mpt3sas/mpt3sas_configfs.o] Error 1
    In file included from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:66:0:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c: In function ‘_base_allocate_memory_pools’:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:99:31: error: ‘SCSI_MAX_SG_SEGMENTS’ undeclared (first use in this function)
     #define MPT_MAX_PHYS_SEGMENTS SCSI_MAX_SG_SEGMENTS
                                   ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:4546:26: note: in expansion of macro ‘MPT_MAX_PHYS_SEGMENTS’
      else if (sg_tablesize > MPT_MAX_PHYS_SEGMENTS) {
                              ^~~~~~~~~~~~~~~~~~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.h:99:31: note: each undeclared identifier is reported only once for each function it appears in
     #define MPT_MAX_PHYS_SEGMENTS SCSI_MAX_SG_SEGMENTS
                                   ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:4546:26: note: in expansion of macro ‘MPT_MAX_PHYS_SEGMENTS’
      else if (sg_tablesize > MPT_MAX_PHYS_SEGMENTS) {
                              ^~~~~~~~~~~~~~~~~~~~~
    In file included from /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:47:0:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:4549:6: error: ‘SCSI_MAX_SG_CHAIN_SEGMENTS’ undeclared (first use in this function)
          SCSI_MAX_SG_CHAIN_SEGMENTS);
          ^
    ./include/linux/kernel.h:752:13: note: in definition of macro ‘__min’
      t2 min2 = (y);     \
                 ^
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:4548:18: note: in expansion of macro ‘min_t’
       sg_tablesize = min_t(unsigned short, sg_tablesize,
                      ^~~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:4719:3: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
       else
       ^~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:4721:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’
        goto out;
        ^~~~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c: In function ‘_base_reset_handler’:
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:6635:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
       if ((scsih_qcmd->status) & MPT3_CMD_PENDING)
       ^~
    /usr/src/mpt2sas/mpt3sas/mpt3sas_base.c:6637:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’
        mpt3sas_base_free_smid(ioc, scsih_qcmd->smid);
        ^~~~~~~~~~~~~~~~~~~~~~
    scripts/Makefile.build:294: recipe for target '/usr/src/mpt2sas/mpt3sas/mpt3sas_base.o' failed
    make[1]: *** [/usr/src/mpt2sas/mpt3sas/mpt3sas_base.o] Error 1
    scripts/Makefile.build:294: recipe for target '/usr/src/mpt2sas/mpt3sas/mpt3sas_scsih.o' failed
    make[1]: *** [/usr/src/mpt2sas/mpt3sas/mpt3sas_scsih.o] Error 1
    Makefile:1524: recipe for target '_module_/usr/src/mpt2sas/mpt3sas' failed
    make: *** [_module_/usr/src/mpt2sas/mpt3sas] Error 2
    make: Leaving directory '/usr/src/linux-headers-4.10.17-3-pve'
     
    #7
Similar Threads: Proxmox modinfo
Forum Title Date
RAID Controllers and Host Bus Adapters HP H220 Fine under Ubuntu 16.04 LTS, but causes corruption under Latest Proxmox? Sunday at 1:28 PM
RAID Controllers and Host Bus Adapters Choosing a new HBA for Proxmox in IBM x3650 M3 Jan 6, 2018

Share This Page