AACRAIDSRC=aacraid-linux-src-${AACRAIDVER}.tgz
AACRAIDDIR=aacraid
+HPSAVER=3.4.6
+HPSADIR=hpsa-${HPSAVER}
+HPSASRC=${HPSADIR}-170.tar.bz2
+
MEGARAID_DIR=megaraid_sas-06.703.11.00
MEGARAID_SRC=${MEGARAID_DIR}-src.tar.gz
cmp fwlist.tmp fwlist-2.6.32-20-pve
mv fwlist.tmp $@
-data: .compile_mark ${KERNEL_CFG} aoe.ko e1000e.ko igb.ko ixgbe.ko bnx2.ko cnic.ko bnx2x.ko iscsi_trgt.ko aacraid.ko megaraid_sas.ko rr272x_1x.ko arcmsr.ko openvswitch.ko ${SPL_MODULES} ${ZFS_MODULES}
+data: .compile_mark ${KERNEL_CFG} aoe.ko e1000e.ko igb.ko ixgbe.ko bnx2.ko cnic.ko bnx2x.ko iscsi_trgt.ko aacraid.ko megaraid_sas.ko rr272x_1x.ko arcmsr.ko openvswitch.ko hpsa.ko ${SPL_MODULES} ${ZFS_MODULES}
rm -rf data tmp; mkdir -p tmp/lib/modules/${KVNAME}
mkdir tmp/boot
install -m 644 ${KERNEL_CFG} tmp/boot/config-${KVNAME}
install -m 644 bnx2x.ko tmp/lib/modules/${KVNAME}/kernel/drivers/net/bnx2x/
# install aacraid drivers
install -m 644 aacraid.ko tmp/lib/modules/${KVNAME}/kernel/drivers/scsi/aacraid/
+ # install hpsa driver
+ install -m 644 hpsa.ko tmp/lib/modules/${KVNAME}/kernel/drivers/scsi/
# install megaraid_sas driver
install -m 644 megaraid_sas.ko tmp/lib/modules/${KVNAME}/kernel/drivers/scsi/megaraid/
# install Highpoint 2710 RAID driver
make -C ${TOP}/${KERNEL_SRC} M=${TOP}/${AACRAIDDIR} modules
cp ${AACRAIDDIR}/aacraid.ko .
+hpsa.ko hpsa: .compile_mark ${HPSASRC}
+ rm -rf ${HPSADIR}
+ tar xf ${HPSASRC}
+ cd ${HPSADIR}; patch -p1 <../hpsa-config-fix.patch
+ mkdir -p /lib/modules/${KVNAME}
+ ln -sf ${TOP}/${KERNEL_SRC} /lib/modules/${KVNAME}/build
+ make -C ${TOP}/${KERNEL_SRC} M=${TOP}/${HPSADIR}/drivers/scsi modules
+ cp ${HPSADIR}/drivers/scsi/hpsa.ko hpsa.ko
+
aoe.ko aoe: .compile_mark ${AOESRC}
# aoe driver updates
rm -rf ${AOEDIR} aoe.ko
.PHONY: clean
clean:
- rm -rf *~ .compile_mark ${KERNEL_CFG} ${KERNEL_SRC} tmp data proxmox-ve/data *.deb ${AOEDIR} aoe.ko ${headers_tmp} fwdata fwlist.tmp *.ko ${IXGBEDIR} ${E1000EDIR} e1000e.ko ${IGBDIR} igb.ko fwlist-${KVNAME} iscsi_trgt.ko ${ISCSITARGETDIR} ${BNX2DIR} bnx2.ko cnic.ko bnx2x.ko aacraid.ko ${AACRAIDDIR} megaraid_sas.ko ${MEGARAID_DIR} rr272x_1x.ko ${RR272XDIR} ${ARECADIR}.ko ${ARECADIR} ${OVSDIR} openvswitch.ko ${ZFSDIR} ${SPLDIR} ${SPL_MODULES} ${ZFS_MODULES}
+ rm -rf *~ .compile_mark ${KERNEL_CFG} ${KERNEL_SRC} tmp data proxmox-ve/data *.deb ${AOEDIR} aoe.ko ${headers_tmp} fwdata fwlist.tmp *.ko ${IXGBEDIR} ${E1000EDIR} e1000e.ko ${IGBDIR} igb.ko fwlist-${KVNAME} iscsi_trgt.ko ${ISCSITARGETDIR} ${BNX2DIR} bnx2.ko cnic.ko bnx2x.ko aacraid.ko ${AACRAIDDIR} megaraid_sas.ko ${MEGARAID_DIR} rr272x_1x.ko ${RR272XDIR} ${ARECADIR}.ko ${ARECADIR} ${OVSDIR} openvswitch.ko ${ZFSDIR} ${SPLDIR} ${SPL_MODULES} ${ZFS_MODULES} hpsa.ko ${HPSADIR}
--- /dev/null
+diff -ur a/drivers/scsi/hpsa_kernel_compat.h b/drivers/scsi/hpsa_kernel_compat.h
+--- a/drivers/scsi/hpsa_kernel_compat.h 2015-01-13 17:54:31.000000000 +0100
++++ b/drivers/scsi/hpsa_kernel_compat.h 2015-01-13 18:00:01.000000000 +0100
+@@ -49,7 +49,7 @@
+ /* #define SLES11sp2plus */
+ /* #define RHEL5 */
+ /* #define RHEL5u2 */
+-/* #define RHEL6 */
++#define RHEL6
+ /* #define RHEL7 */
+ /* Default is kernel.org */
+
+@@ -124,7 +124,7 @@
+
+ #ifdef RHEL6 /************ RHEL 6 ************/
+ #define KFEATURE_HAS_WAIT_FOR_COMPLETION_IO_TIMEOUT 0
+-#define KFEATURE_HAS_WAIT_FOR_COMPLETION_IO 0
++#define KFEATURE_HAS_WAIT_FOR_COMPLETION_IO 1
+ #define KFEATURE_HAS_2011_03_INTERRUPT_HANDLER 1
+ #define KFEATURE_CHANGE_QDEPTH_HAS_REASON 1
+ #define KFEATURE_HAS_2011_03_STYLE_DEVICE_ATTR 1
+@@ -684,7 +684,7 @@
+ * the thread that is doing the swapping i/o needs to allocate.
+ */
+ #define WQ_MEM_RECLAIM (0)
+-#define alloc_workqueue(name, flags, max_active) __create_workqueue(name, flags, max_active, 0)
++#define alloc_workqueue(name, flags, max_active) __create_workqueue(name, flags, max_active, 0, NULL)
+ #endif
+
+ #if !KFEATURE_HAS_ATOMIC_DEC_IF_POSITIVE