diff --git a/ChangeLog b/ChangeLog index 05484d9..bb5e916 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,6 +5,15 @@ # Distributed under the GPL v2 # $Id$ + 13 Oct 2012; Robin H. Johnson arch/alpha/modules_load, + arch/arm/modules_load, arch/ia64/modules_load, arch/mips/modules_load, + arch/parisc/modules_load, arch/parisc64/modules_load, arch/ppc/modules_load, + arch/ppc64/modules_load, arch/sparc/modules_load, arch/sparc64/modules_load, + arch/um/modules_load, arch/x86/modules_load, arch/x86_64/modules_load, + defaults/initrd.scripts, defaults/linuxrc, defaults/modules_load, + gen_configkernel.sh, gen_initramfs.sh: + Bug #286187: Complete multipath support. + 13 Oct 2012; Robin H. Johnson defaults/initrd.defaults, defaults/initrd.scripts, defaults/linuxrc, doc/genkernel.8.txt: Bug #351873: More livecd control, and initramfs livecd argument diff --git a/arch/alpha/modules_load b/arch/alpha/modules_load index 39199d3..5ff3c0a 100644 --- a/arch/alpha/modules_load +++ b/arch/alpha/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/arm/modules_load b/arch/arm/modules_load index 6c09869..509b59d 100644 --- a/arch/arm/modules_load +++ b/arch/arm/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/ia64/modules_load b/arch/ia64/modules_load index 58d60c8..bf5f143 100644 --- a/arch/ia64/modules_load +++ b/arch/ia64/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/mips/modules_load b/arch/mips/modules_load index 39199d3..5ff3c0a 100644 --- a/arch/mips/modules_load +++ b/arch/mips/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/parisc/modules_load b/arch/parisc/modules_load index 39199d3..5ff3c0a 100644 --- a/arch/parisc/modules_load +++ b/arch/parisc/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/parisc64/modules_load b/arch/parisc64/modules_load index 58d60c8..bf5f143 100644 --- a/arch/parisc64/modules_load +++ b/arch/parisc64/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/ppc/modules_load b/arch/ppc/modules_load index 39199d3..5ff3c0a 100644 --- a/arch/ppc/modules_load +++ b/arch/ppc/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/ppc64/modules_load b/arch/ppc64/modules_load index 58d60c8..bf5f143 100644 --- a/arch/ppc64/modules_load +++ b/arch/ppc64/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/sparc/modules_load b/arch/sparc/modules_load index 39199d3..5ff3c0a 100644 --- a/arch/sparc/modules_load +++ b/arch/sparc/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/sparc64/modules_load b/arch/sparc64/modules_load index 58d60c8..bf5f143 100644 --- a/arch/sparc64/modules_load +++ b/arch/sparc64/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/um/modules_load b/arch/um/modules_load index 8a67d90..db48f1a 100644 --- a/arch/um/modules_load +++ b/arch/um/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/x86/modules_load b/arch/x86/modules_load index 5ea5cc0..5bf348c 100644 --- a/arch/x86/modules_load +++ b/arch/x86/modules_load @@ -6,6 +6,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror dm-crypt" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/arch/x86_64/modules_load b/arch/x86_64/modules_load index f8e45d3..1cfc4f4 100644 --- a/arch/x86_64/modules_load +++ b/arch/x86_64/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror dm-crypt" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-persistent-data libcrc32c dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts index 227fc99..53e1f97 100755 --- a/defaults/initrd.scripts +++ b/defaults/initrd.scripts @@ -616,6 +616,16 @@ startVolumes() { fi fi + if [ "${USE_MULTIPATH_NORMAL}" = '1' ] + then + good_msg "Scanning for multipath devices" + /sbin/multipath -v 0 + sleep 2 + good_msg "Activating multipath devices" + /sbin/dmsetup ls --target multipath --exec "/sbin/kpartx -a -v" + #for MULTIPATH_VOLUMES in /dev/mapper/*; do kpartx -a $MULTIPATH_VOLUMES; done + fi + if [ "${USE_DMRAID_NORMAL}" = '1' ] then if [ -e '/sbin/dmraid' ] diff --git a/defaults/linuxrc b/defaults/linuxrc index 54a57c6..48446ba 100755 --- a/defaults/linuxrc +++ b/defaults/linuxrc @@ -101,6 +101,10 @@ do DMRAID_OPTS=${x#*=} USE_DMRAID_NORMAL=1 ;; + domultipath) + good_msg "Booting with multipath activated." + USE_MULTIPATH_NORMAL=1 + ;; dozfs*) USE_ZFS=1 diff --git a/defaults/modules_load b/defaults/modules_load index 19521df..2643c0f 100644 --- a/defaults/modules_load +++ b/defaults/modules_load @@ -5,6 +5,7 @@ MODULES_ATARAID="ataraid pdcraid hptraid" MODULES_DMRAID="dm-mod dm-mirror" MODULES_LVM="dm-mod dm-snapshot dm-mirror dm-bbr dm-bufio dm-crypt dm-delay dm-flakey dm-log dm-log-userspace dm-multipath dm-queue-length dm-raid dm-region-hash dm-round-robin dm-service-time dm-thin-pool dm-zero" MODULES_MDADM="dm-mod dm-snapshot dm-mirror dm-bbr dm-raid dm-crypt raid0 raid1 raid456 raid5 raid6 raid10 linear multipath" +MODULES_MULTIPATH="dm-mod dm-multipath dm-round-robin dm-rdac dm-queue-length dm-service-time" # Hardware (IDE/SCSI/SATA) MODULES_PATA="pata_mpiix pata_pdc2027x pata_radisys pata_sil680 pata_rz1000 pata_efar pata_cmd64x pata_hpt366 pata_hpt37x pata_hpt3x3 pata_hpt3x2n pata_optidma pata_it821x pata_artop pata_oldpiix pata_cypress pata_platform pata_serverworks pata_legacy pata_ns87410 pata_ns87415 pata_pcmcia pata_isapnp pata_it8213 pata_ali pata_amd pata_opti pata_atiixp pata_triflex pata_pdc202xx_old pata_sc1200 pata_qdi pata_netcell pata_sis pata_hpt3x2n pata_marvell pata_jmicron pata_via pata_cs5520 pata_cs5530 pata_cs5535 pata_sl82c105 libata" diff --git a/doc/genkernel.8.txt b/doc/genkernel.8.txt index 6376e28..0377828 100644 --- a/doc/genkernel.8.txt +++ b/doc/genkernel.8.txt @@ -457,6 +457,9 @@ which the ramdisk scripts would recognize. Scan for bootable ZFS pools on bootup. Optionally force import if necessary. +*domultipath*:: + Activate Multipath on bootup + *doscsi*:: Activate SCSI devices on bootup, necessary when SCSI support is compiled as modules and you're using SCSI or SATA devices. diff --git a/gen_configkernel.sh b/gen_configkernel.sh index 6271ca0..b546db1 100755 --- a/gen_configkernel.sh +++ b/gen_configkernel.sh @@ -117,6 +117,14 @@ config_kernel() { sed -i ${KERNEL_OUTPUTDIR}/.config -e 's/#\? \?CONFIG_DM_MIRROR is.*/CONFIG_DM_MIRROR=m/g' fi + # Multipath + if isTrue ${CMD_MULTIPATH} + then + sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_BLK_DEV_DM is.*/CONFIG_BLK_DEV_DM=m/g' + sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_DM_MULTIPATH is.*/CONFIG_DM_MULTIPATH=m/g' + sed -i ${KERNEL_DIR}/.config -e 's/#\? \?CONFIG_DM_MULTIPATH_RDAC is.*/CONFIG_DM_MULTIPATH_RDAC=m/g' + fi + # Make sure dmraid modules are on if --dmraid if isTrue ${CMD_DMRAID} then diff --git a/gen_initramfs.sh b/gen_initramfs.sh index 55b9dd9..64e00e8 100755 --- a/gen_initramfs.sh +++ b/gen_initramfs.sh @@ -226,7 +226,10 @@ append_multipath(){ mkdir -p "${TEMP}"/initramfs-multipath-temp/{bin,etc,sbin,lib}/ # Copy files - copy_binaries "${TEMP}/initramfs-multipath-temp" /sbin/{multipath,kpartx,mpath_prio_*,devmap_name,dmsetup} /lib64/udev/scsi_id /bin/mountpoint + copy_binaries "${TEMP}/initramfs-multipath-temp" \ + /bin/mountpoint \ + /sbin/{multipath,kpartx,mpath_prio_*,devmap_name,dmsetup} \ + /{lib,lib64}/{udev/scsi_id,multipath/*so} if [ -x /sbin/multipath ] then