Есть встроенный RAID контроллер Adaptec 9410w на мат.плате X7DB3 и установленный CentOS 6.4.
Так вот проблема в определении этого рэйда (зеркало) в ОС (определяется как два отдельных винта, а с них создаётся виртуальный раздел из этих двух).
Прошерствив кучу сайтов нашёл, решение: компиляция драйвера из исходного кода и потом необходимо подсунуть его в ядро.
В архиве с этим драйвером есть мануал в котором расписаны шаги, но полностью разобраться не удалось из-за возникших ошибок...
Даю команду:
Код: Выделить всё
make -C /usr/src/linux M=`pwd`и вываливает кучу ошибок...
Spoiler
Код: Выделить всё
make: Entering directory `/usr/src/kernels/2.6.32-358.23.2.el6.x86_64'
CC [M] /tmp/adp94xx/adp94xx_osm.o
/tmp/adp94xx/adp94xx_osm.c:46:5: warning: "KDB_ENABLE" is not defined
In file included from /tmp/adp94xx/adp94xx_osm.c:49:
/tmp/adp94xx/adp94xx_osm.h:116:1: warning: "__packed" redefined
In file included from include/linux/compiler.h:43,
from include/linux/stddef.h:4,
from include/linux/posix_types.h:4,
from include/linux/types.h:14,
from include/linux/byteorder/little_endian.h:11,
from /usr/src/kernels/2.6.32-358.23.2.el6.x86_64/arch/x86/include/asm/byteorder.h:4,
from /tmp/adp94xx/adp94xx_osm.h:48,
from /tmp/adp94xx/adp94xx_osm.c:49:
include/linux/compiler-gcc.h:53:1: warning: this is the location of the previous definition
In file included from /tmp/adp94xx/adp94xx_osm.c:49:
/tmp/adp94xx/adp94xx_osm.h:737: error: field ‘adp_hd_driveid’ has incomplete type
/tmp/adp94xx/adp94xx_osm.h:758: error: field ‘adp_hd_driveid’ has incomplete type
In file included from /tmp/adp94xx/adp94xx_osm.c:53:
/tmp/adp94xx/adp94xx_inline.h:882:43: error: macro "INIT_WORK" passed 3 arguments, but takes just 2
In file included from /tmp/adp94xx/adp94xx_osm.c:53:
/tmp/adp94xx/adp94xx_inline.h: In function ‘asd_setup_dev_dpc_task’:
/tmp/adp94xx/adp94xx_inline.h:882: error: ‘INIT_WORK’ undeclared (first use in this function)
/tmp/adp94xx/adp94xx_inline.h:882: error: (Each undeclared identifier is reported only once
/tmp/adp94xx/adp94xx_inline.h:882: error: for each function it appears in.)
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_unmap_scb’:
/tmp/adp94xx/adp94xx_osm.c:413: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’
/tmp/adp94xx/adp94xx_osm.c:416: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’
/tmp/adp94xx/adp94xx_osm.c:417: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’
/tmp/adp94xx/adp94xx_osm.c:418: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’
/tmp/adp94xx/adp94xx_osm.c:419: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’
/tmp/adp94xx/adp94xx_osm.c:712:5: warning: "KDB_ENABLE" is not defined
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_detect’:
/tmp/adp94xx/adp94xx_osm.c:1007: error: implicit declaration of function ‘pci_module_init’
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_register_host’:
/tmp/adp94xx/adp94xx_osm.c:1124: error: implicit declaration of function ‘scsi_assign_lock’
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_flush_device_queue’:
/tmp/adp94xx/adp94xx_osm.c:1423: error: ‘struct scsi_cmnd’ has no member named ‘sc_magic’
/tmp/adp94xx/adp94xx_osm.c:1512: error: ‘struct scsi_cmnd’ has no member named ‘sc_magic’
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_scb_done’:
/tmp/adp94xx/adp94xx_osm.c:1673: error: ‘Scsi_Cmnd’ has no member named ‘resid’
/tmp/adp94xx/adp94xx_osm.c:1699: error: ‘Scsi_Cmnd’ has no member named ‘resid’
/tmp/adp94xx/adp94xx_osm.c:1725: error: ‘Scsi_Cmnd’ has no member named ‘resid’
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_setup_data’:
/tmp/adp94xx/adp94xx_osm.c:2118: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’
/tmp/adp94xx/adp94xx_osm.c:2122: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’
/tmp/adp94xx/adp94xx_osm.c:2124: error: ‘Scsi_Cmnd’ has no member named ‘use_sg’
/tmp/adp94xx/adp94xx_osm.c:2144: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’
/tmp/adp94xx/adp94xx_osm.c:2149: error: ‘Scsi_Cmnd’ has no member named ‘request_buffer’
/tmp/adp94xx/adp94xx_osm.c:2149: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’
/tmp/adp94xx/adp94xx_osm.c:2153: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’
/tmp/adp94xx/adp94xx_osm.c:2155: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_build_sas_scb’:
/tmp/adp94xx/adp94xx_osm.c:2236: error: ‘Scsi_Cmnd’ has no member named ‘request_bufflen’
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_discovery_thread’:
/tmp/adp94xx/adp94xx_osm.c:2314: error: ‘PF_FREEZE’ undeclared (first use in this function)
/tmp/adp94xx/adp94xx_osm.c:2325: warning: ignoring return value of ‘down_interruptible’, declared with attribute warn_unused_result
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_kill_discovery_thread’:
/tmp/adp94xx/adp94xx_osm.c:2382: warning: ignoring return value of ‘down_interruptible’, declared with attribute warn_unused_result
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_init_hw’:
/tmp/adp94xx/adp94xx_osm.c:4545: error: ‘SA_SHIRQ’ undeclared (first use in this function)
/tmp/adp94xx/adp94xx_osm.c:4546: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type
include/linux/interrupt.h:123: note: expected ‘irq_handler_t’ but argument is of type ‘enum irqreturn_t (*)(int, void *, struct pt_regs *)’
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_ehandler_thread’:
/tmp/adp94xx/adp94xx_osm.c:5363: error: ‘PF_FREEZE’ undeclared (first use in this function)
/tmp/adp94xx/adp94xx_osm.c:5373: warning: ignoring return value of ‘down_interruptible’, declared with attribute warn_unused_result
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_abort’:
/tmp/adp94xx/adp94xx_osm.c:5446: warning: unused variable ‘flags’
/tmp/adp94xx/adp94xx_osm.c: In function ‘asd_dump_target_info’:
/tmp/adp94xx/adp94xx_osm.c:5934: error: dereferencing pointer to incomplete type
/tmp/adp94xx/adp94xx_osm.c:5935: error: dereferencing pointer to incomplete type
/tmp/adp94xx/adp94xx_osm.c:5936: error: dereferencing pointer to incomplete type
make[1]: *** [/tmp/adp94xx/adp94xx_osm.o] Error 1
make: *** [_module_/tmp/adp94xx] Error 2
make: Leaving directory `/usr/src/kernels/2.6.32-358.23.2.el6.x86_64'