View Issue Details

IDProjectCategoryView StatusLast Update
0000951channel: elrepo/el8--elrepo--request-for-enhancement--public2019-12-08 05:35
ReporterMikeW Assigned Topperry  
PrioritynormalSeverityminorReproducibilityN/A
Status closedResolutionwon't fix 
Summary0000951: kmod-cciss driver for el8
DescriptionI have an HP DL380 G4 that is used for testing. I do not wish to dispose of the hardware if it can be made to work.
looking for a kmod-cciss driver for el8. if this is possible it would be appreciated. I have tried the entries of hpsa.hpsa_allow_any=1 hpsa.hpsa_simple_mode=1 did not work with either CentOS 7 or 8.

thank you
Additional Informationinformation on the controller:
 lspci -d 0e11:0046 -x -v
04:03.0 RAID bus controller: Compaq Computer Corporation Smart Array 64xx (rev 01)
        Subsystem: Compaq Computer Corporation Smart Array 6i
        Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 19
        Memory at fdff0000 (64-bit, non-prefetchable) [size=8K]
        I/O ports at 4000 [size=256]
        Memory at fdf80000 (64-bit, non-prefetchable) [size=256K]
        [virtual] Expansion ROM at fdf00000 [disabled] [size=256K]
        Capabilities: [d0] Power Management version 2
        Capabilities: [dc] PCI-X non-bridge device
        Capabilities: [f0] Vital Product Data
        Kernel driver in use: cciss
        Kernel modules: cciss
00: 11 0e 46 00 57 01 30 02 01 00 04 01 10 40 00 00
10: 04 00 ff fd 00 00 00 00 01 40 00 00 04 00 f8 fd
20: 00 00 00 00 00 00 00 00 00 00 00 00 11 0e 91 40
30: 00 00 00 00 d0 00 00 00 00 00 00 00 05 01 00 00
TagsNo tags attached.

Relationships

parent of 0000976 closedpperry kmod-cciss driver for el8/Centos8 not available 
has duplicate 0001009 closedtoracat Request for a linux dd image to use at install time for HP Proliant DL380 G5 using CentOS 8.1 

Activities

toracat

2019-10-02 15:54

administrator   ~0006555

As answered in http://lists.elrepo.org/pipermail/elrepo/2019-October/004884.html , the cciss driver was deprecated in the linux kernel. We can try building the driver from the latest source available, but there is no ETA.

pperry

2019-10-02 17:54

administrator   ~0006558

LOTS of errors trying to build from last LTS kernel-4.9 that featured cciss driver. I will try from 4.13 branch as the last release to feature the driver to see if that simplifies things.

+ cd cciss-3.6.26
+ /usr/bin/make -C /usr/src/kernels/4.18.0-80.el8.x86_64 -j8 modules M=/home/phil/rpmbuild/BUILD/cciss-3.6.26
make: Entering directory '/usr/src/kernels/4.18.0-80.el8.x86_64'
  CC [M] /home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.o
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c: In function 'cciss_check_queues':
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:1804:3: error: implicit declaration of function 'blk_start_queue'; did you mean 'blk_start_plug'? [-Werror=implicit-function-declaration]
   blk_start_queue(h->gendisk[curr_queue]->queue);
   ^~~~~~~~~~~~~~~
   blk_start_plug
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c: In function 'cciss_softirq_done':
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:1856:8: error: 'struct request' has no member named 'cmd_type'
  if (rq->cmd_type == REQ_TYPE_BLOCK_PC)
        ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:1856:22: error: 'REQ_TYPE_BLOCK_PC' undeclared (first use in this function)
  if (rq->cmd_type == REQ_TYPE_BLOCK_PC)
                      ^~~~~~~~~~~~~~~~~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:1856:22: note: each undeclared identifier is reported only once for each function it appears in
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:1857:5: error: 'struct request' has no member named 'resid_len'
   rq->resid_len = c->err_info->ResidualCnt;
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:1859:29: error: 'struct request' has no member named 'errors'
  blk_end_request_all(rq, (rq->errors == 0) ? 0 : -EIO);
                             ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c: In function 'cciss_add_disk':
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:1944:16: error: implicit declaration of function 'blk_init_queue'; did you mean 'blk_put_queue'? [-Werror=implicit-function-declaration]
  disk->queue = blk_init_queue(do_cciss_request, &h->lock);
                ^~~~~~~~~~~~~~
                blk_put_queue
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:1944:14: warning: assignment to 'struct request_queue *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  disk->queue = blk_init_queue(do_cciss_request, &h->lock);
              ^
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:1963:2: error: implicit declaration of function 'blk_queue_softirq_done'; did you mean 'blk_queue_init_done'? [-Werror=implicit-function-declaration]
  blk_queue_softirq_done(disk->queue, cciss_softirq_done);
  ^~~~~~~~~~~~~~~~~~~~~~
  blk_queue_init_done
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c: In function 'evaluate_target_status':
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3078:13: error: 'struct request' has no member named 'cmd_type'
  if (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC)
             ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3078:27: error: 'REQ_TYPE_BLOCK_PC' undeclared (first use in this function)
  if (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC)
                           ^~~~~~~~~~~~~~~~~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3087:14: error: 'struct request' has no member named 'cmd_type'
   if (cmd->rq->cmd_type != REQ_TYPE_BLOCK_PC)
              ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3098:14: error: 'struct request' has no member named 'cmd_type'
      (cmd->rq->cmd_type != REQ_TYPE_BLOCK_PC))
              ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3102:25: error: 'struct request' has no member named 'cmd_type'
   *retry_cmd = !(cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC);
                         ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3107:13: error: 'struct request' has no member named 'cmd_type'
  if (cmd->rq->cmd_type != REQ_TYPE_BLOCK_PC) {
             ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3115:13: error: 'struct request' has no member named 'sense'
  if (cmd->rq->sense) {
             ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3116:14: error: 'struct request' has no member named 'sense_len'
   if (cmd->rq->sense_len > cmd->err_info->SenseLen)
              ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3117:11: error: 'struct request' has no member named 'sense_len'
    cmd->rq->sense_len = cmd->err_info->SenseLen;
           ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3118:17: error: 'struct request' has no member named 'sense'
   memcpy(cmd->rq->sense, cmd->err_info->SenseInfo,
                 ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3119:11: error: 'struct request' has no member named 'sense_len'
    cmd->rq->sense_len);
           ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3121:10: error: 'struct request' has no member named 'sense_len'
   cmd->rq->sense_len = 0;
          ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c: In function 'complete_command':
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3136:4: error: 'struct request' has no member named 'errors'
  rq->errors = 0;
    ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3139:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(0, 0, 0, DRIVER_TIMEOUT);
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3146:5: error: 'struct request' has no member named 'errors'
   rq->errors = evaluate_target_status(h, cmd, &retry_cmd);
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3149:14: error: 'struct request' has no member named 'cmd_type'
   if (cmd->rq->cmd_type == REQ_TYPE_FS) {
              ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3149:28: error: 'REQ_TYPE_FS' undeclared (first use in this function); did you mean 'DESCTYPE_S'?
   if (cmd->rq->cmd_type == REQ_TYPE_FS) {
                            ^~~~~~~~~~~
                            DESCTYPE_S
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3153:11: error: 'struct request' has no member named 'resid_len'
    cmd->rq->resid_len = cmd->err_info->ResidualCnt;
           ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3157:14: error: 'struct request' has no member named 'cmd_type'
   if (cmd->rq->cmd_type == REQ_TYPE_FS)
              ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3165:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3167:12: error: 'struct request' has no member named 'cmd_type'
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
            ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3167:26: error: 'REQ_TYPE_BLOCK_PC' undeclared (first use in this function)
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
                          ^~~~~~~~~~~~~~~~~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3173:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3175:12: error: 'struct request' has no member named 'cmd_type'
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
            ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3181:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3183:12: error: 'struct request' has no member named 'cmd_type'
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
            ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3189:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3191:12: error: 'struct request' has no member named 'cmd_type'
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
            ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3197:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3199:12: error: 'struct request' has no member named 'cmd_type'
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
            ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3205:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3207:12: error: 'struct request' has no member named 'cmd_type'
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
            ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3220:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3222:12: error: 'struct request' has no member named 'cmd_type'
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
            ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3227:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3229:12: error: 'struct request' has no member named 'cmd_type'
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
            ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3234:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3236:11: error: 'struct request' has no member named 'cmd_type'
    cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC ?
           ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3243:5: error: 'struct request' has no member named 'errors'
   rq->errors = make_status_bytes(SAM_STAT_GOOD,
     ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3245:12: error: 'struct request' has no member named 'cmd_type'
    (cmd->rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
            ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3257:2: error: implicit declaration of function 'blk_complete_request'; did you mean 'blk_update_request'? [-Werror=implicit-function-declaration]
  blk_complete_request(cmd->rq);
  ^~~~~~~~~~~~~~~~~~~~
  blk_update_request
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c: In function 'do_cciss_request':
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3310:9: error: implicit declaration of function 'blk_peek_request'; did you mean 'blk_get_request'? [-Werror=implicit-function-declaration]
  creq = blk_peek_request(q);
         ^~~~~~~~~~~~~~~~
         blk_get_request
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3310:7: warning: assignment to 'struct request *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
  creq = blk_peek_request(q);
       ^
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3320:2: error: implicit declaration of function 'blk_start_request'; did you mean 'blk_abort_request'? [-Werror=implicit-function-declaration]
  blk_start_request(creq);
  ^~~~~~~~~~~~~~~~~
  blk_abort_request
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3323:19: error: incompatible type for argument 1 of 'spin_unlock_irq'
  spin_unlock_irq(q->queue_lock);
                  ~^~~~~~~~~~~~
In file included from ./include/linux/seqlock.h:36,
                 from ./include/linux/time.h:6,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:10,
                 from /home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:23:
./include/linux/spinlock.h:358:57: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'spinlock_t' {aka 'struct spinlock'}
 static __always_inline void spin_unlock_irq(spinlock_t *lock)
                                             ~~~~~~~~~~~~^~~~
In file included from ./include/linux/kernel.h:10,
                 from ./include/linux/list.h:9,
                 from ./include/linux/module.h:9,
                 from /home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:23:
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3398:17: error: 'struct request' has no member named 'cmd_type'
  if (likely(creq->cmd_type == REQ_TYPE_FS)) {
                 ^~
./include/linux/compiler.h:76:40: note: in definition of macro 'likely'
 # define likely(x) __builtin_expect(!!(x), 1)
                                        ^
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3398:31: error: 'REQ_TYPE_FS' undeclared (first use in this function); did you mean 'DESCTYPE_S'?
  if (likely(creq->cmd_type == REQ_TYPE_FS)) {
                               ^~~~~~~~~~~
./include/linux/compiler.h:76:40: note: in definition of macro 'likely'
 # define likely(x) __builtin_expect(!!(x), 1)
                                        ^
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3428:17: error: 'struct request' has no member named 'cmd_type'
  } else if (creq->cmd_type == REQ_TYPE_BLOCK_PC) {
                 ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3428:31: error: 'REQ_TYPE_BLOCK_PC' undeclared (first use in this function)
  } else if (creq->cmd_type == REQ_TYPE_BLOCK_PC) {
                               ^~~~~~~~~~~~~~~~~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3429:29: error: 'struct request' has no member named 'cmd_len'; did you mean 'cmd_flags'?
   c->Request.CDBLen = creq->cmd_len;
                             ^~~~~~~
                             cmd_flags
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3430:32: error: 'struct request' has no member named 'cmd'; did you mean 'csd'?
   memcpy(c->Request.CDB, creq->cmd, BLK_MAX_CDB);
                                ^~~
                                csd
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3430:37: error: 'BLK_MAX_CDB' undeclared (first use in this function); did you mean 'BLKDEV_MAX_RQ'?
   memcpy(c->Request.CDB, creq->cmd, BLK_MAX_CDB);
                                     ^~~~~~~~~~~
                                     BLKDEV_MAX_RQ
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3433:8: error: 'struct request' has no member named 'cmd_type'
    creq->cmd_type);
        ^~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3437:17: error: incompatible type for argument 1 of 'spin_lock_irq'
  spin_lock_irq(q->queue_lock);
                ~^~~~~~~~~~~~
In file included from ./include/linux/seqlock.h:36,
                 from ./include/linux/time.h:6,
                 from ./include/linux/stat.h:19,
                 from ./include/linux/module.h:10,
                 from /home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:23:
./include/linux/spinlock.h:333:55: note: expected 'spinlock_t *' {aka 'struct spinlock *'} but argument is of type 'spinlock_t' {aka 'struct spinlock'}
 static __always_inline void spin_lock_irq(spinlock_t *lock)
                                           ~~~~~~~~~~~~^~~~
/home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.c:3446:2: error: implicit declaration of function 'blk_stop_queue'; did you mean 'blk_sync_queue'? [-Werror=implicit-function-declaration]
  blk_stop_queue(q);
  ^~~~~~~~~~~~~~
  blk_sync_queue
cc1: some warnings being treated as errors
make[1]: *** [scripts/Makefile.build:322: /home/phil/rpmbuild/BUILD/cciss-3.6.26/cciss.o] Error 1
make: *** [Makefile:1528: _module_/home/phil/rpmbuild/BUILD/cciss-3.6.26] Error 2
make: Leaving directory '/usr/src/kernels/4.18.0-80.el8.x86_64'
error: Bad exit status from /var/tmp/rpm-tmp.UbQSAJ (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.UbQSAJ (%build)

pperry

2019-12-08 05:35

administrator   ~0006735

Closing as won't fix

Issue History

Date Modified Username Field Change
2019-10-02 13:03 MikeW New Issue
2019-10-02 13:03 MikeW Status new => assigned
2019-10-02 13:03 MikeW Assigned To => stindall
2019-10-02 13:20 burakkucat Assigned To stindall => toracat
2019-10-02 13:20 burakkucat Reproducibility always => N/A
2019-10-02 13:20 burakkucat Category --elrepo--OTHER-- => --elrepo--request-for-enhancement--
2019-10-02 15:54 toracat Note Added: 0006555
2019-10-02 15:55 toracat Assigned To toracat => pperry
2019-10-02 17:54 pperry Note Added: 0006558
2019-12-08 05:35 pperry Note Added: 0006735
2019-12-08 05:35 pperry Status assigned => closed
2019-12-08 05:35 pperry Resolution open => won't fix
2019-12-19 00:18 pperry Relationship added parent of 0000976
2020-06-10 07:20 pperry Relationship added has duplicate 0001009