Merge commit 'refs/top-bases/linux-zpios' into linux-zpios
This commit is contained in:
commit
eb7888a1eb
|
@ -49,6 +49,7 @@ CMDDIR=${CMDDIR}
|
|||
MODDIR=${MODDIR}
|
||||
SCRIPTDIR=${SCRIPTDIR}
|
||||
ETCDIR=\${TOPDIR}/etc
|
||||
DEVDIR=\${TOPDIR}/dev
|
||||
ZPOOLDIR=\${TOPDIR}/scripts/zpool-config
|
||||
ZPIOSDIR=\${TOPDIR}/scripts/zpios-test
|
||||
ZPIOSPROFILEDIR=\${TOPDIR}/scripts/zpios-profile
|
||||
|
@ -67,6 +68,7 @@ ZPOOL_CREATE_SH=\${SCRIPTDIR}/zpool-create.sh
|
|||
ZPIOS_SH=\${SCRIPTDIR}/zpios.sh
|
||||
ZPIOS_SURVEY_SH=\${SCRIPTDIR}/zpios-survey.sh
|
||||
|
||||
INTREE=1
|
||||
LDMOD=/sbin/insmod
|
||||
|
||||
KERNEL_MODULES=( \\
|
||||
|
|
|
@ -1,26 +0,0 @@
|
|||
#
|
||||
# Custom by-path mapping for large JBOD configurations
|
||||
#
|
||||
# Example Config:
|
||||
# Single promise JBOD for RHEL6
|
||||
#
|
||||
|
||||
# Channel A: PCI Bus 7, Enclosure 0x500304800027367f
|
||||
a1 pci-0000:07:00.0-sas-0x500304800027367f-0
|
||||
a2 pci-0000:07:00.0-sas-0x500304800027367f-1
|
||||
a3 pci-0000:07:00.0-sas-0x500304800027367f-2
|
||||
a4 pci-0000:07:00.0-sas-0x500304800027367f-3
|
||||
a5 pci-0000:07:00.0-sas-0x500304800027367f-4
|
||||
a6 pci-0000:07:00.0-sas-0x500304800027367f-5
|
||||
a7 pci-0000:07:00.0-sas-0x500304800027367f-6
|
||||
a8 pci-0000:07:00.0-sas-0x500304800027367f-7
|
||||
|
||||
# Channel B: PCI Bus 7, Enclosure 0x500304800027367f
|
||||
b1 pci-0000:07:00.0-sas-0x500304800027367f-8
|
||||
b2 pci-0000:07:00.0-sas-0x500304800027367f-9
|
||||
b3 pci-0000:07:00.0-sas-0x500304800027367f-10
|
||||
b4 pci-0000:07:00.0-sas-0x500304800027367f-11
|
||||
b5 pci-0000:07:00.0-sas-0x500304800027367f-12
|
||||
b6 pci-0000:07:00.0-sas-0x500304800027367f-13
|
||||
b7 pci-0000:07:00.0-sas-0x500304800027367f-14
|
||||
b8 pci-0000:07:00.0-sas-0x500304800027367f-15
|
|
@ -0,0 +1,30 @@
|
|||
#
|
||||
# Custom by-path mapping for large JBOD configurations
|
||||
#
|
||||
# Example Config:
|
||||
# Single Supermicro JBOD for RHEL6
|
||||
#
|
||||
|
||||
# Channel A: PCI Bus 7, Enclosure 0x500304800027367f
|
||||
a1 pci-0000:07:00.0-sas-0x500304800027367f-0
|
||||
a2 pci-0000:07:00.0-sas-0x500304800027367f-1
|
||||
a3 pci-0000:07:00.0-sas-0x500304800027367f-2
|
||||
a4 pci-0000:07:00.0-sas-0x500304800027367f-3
|
||||
|
||||
# Channel B: PCI Bus 7, Enclosure 0x500304800027367f
|
||||
b1 pci-0000:07:00.0-sas-0x500304800027367f-4
|
||||
b2 pci-0000:07:00.0-sas-0x500304800027367f-5
|
||||
b3 pci-0000:07:00.0-sas-0x500304800027367f-6
|
||||
b4 pci-0000:07:00.0-sas-0x500304800027367f-7
|
||||
|
||||
# Channel C: PCI Bus 7, Enclosure 0x500304800027367f
|
||||
c1 pci-0000:07:00.0-sas-0x500304800027367f-8
|
||||
c2 pci-0000:07:00.0-sas-0x500304800027367f-9
|
||||
c3 pci-0000:07:00.0-sas-0x500304800027367f-10
|
||||
c4 pci-0000:07:00.0-sas-0x500304800027367f-11
|
||||
|
||||
# Channel D: PCI Bus 7, Enclosure 0x500304800027367f
|
||||
d1 pci-0000:07:00.0-sas-0x500304800027367f-12
|
||||
d2 pci-0000:07:00.0-sas-0x500304800027367f-13
|
||||
d3 pci-0000:07:00.0-sas-0x500304800027367f-14
|
||||
d4 pci-0000:07:00.0-sas-0x500304800027367f-15
|
|
@ -21,13 +21,13 @@ FORCE=
|
|||
FORCE_FLAG=
|
||||
DUMP_LOG=
|
||||
ERROR=
|
||||
UPATH="/dev/disk/zpool"
|
||||
RAID0S=()
|
||||
RAID10S=()
|
||||
RAIDZS=()
|
||||
RAIDZ2S=()
|
||||
|
||||
ETCDIR=${ETCDIR:-/etc}
|
||||
DEVDIR=${DEVDIR:-/dev/disk/zpool}
|
||||
ZPOOLDIR=${ZPOOLDIR:-/usr/libexec/zfs/zpool-config}
|
||||
ZPIOSDIR=${ZPIOSDIR:-/usr/libexec/zfs/zpios-test}
|
||||
ZPIOSPROFILEDIR=${ZPIOSPROFILEDIR:-/usr/libexec/zfs/zpios-profile}
|
||||
|
@ -53,6 +53,7 @@ INFOMOD=${INFOMOD:-/sbin/modinfo}
|
|||
LOSETUP=${LOSETUP:-/sbin/losetup}
|
||||
SYSCTL=${SYSCTL:-/sbin/sysctl}
|
||||
UDEVADM=${UDEVADM:-/sbin/udevadm}
|
||||
AWK=${AWK:-/bin/awk}
|
||||
|
||||
die() {
|
||||
echo -e "${PROG}: $1" >&2
|
||||
|
@ -168,7 +169,7 @@ unload_module() {
|
|||
|
||||
unload_modules() {
|
||||
local MODULES_REVERSE=( $(echo ${MODULES[@]} |
|
||||
awk '{for (i=NF;i>=1;i--) printf $i" "} END{print ""}') )
|
||||
${AWK} '{for (i=NF;i>=1;i--) printf $i" "} END{print ""}') )
|
||||
|
||||
for MOD in ${MODULES_REVERSE[*]}; do
|
||||
local NAME=`basename ${MOD} .ko`
|
||||
|
@ -214,38 +215,53 @@ unused_loop_device() {
|
|||
#
|
||||
udev_setup() {
|
||||
local SRC_PATH=$1
|
||||
local SRC_RULES=${ETCDIR}/udev/rules.d/99-zpool.rules
|
||||
local DST_RULES=/etc/udev/rules.d/99-zpool.rules
|
||||
local DST_ZPOOL_ID=/usr/bin/zpool_id
|
||||
local DST_FILE=`basename ${SRC_PATH} | cut -f1-2 -d'.'`
|
||||
local DST_PATH=/etc/zfs/${DST_FILE}
|
||||
|
||||
# XXX: Copy files from source tree to installed system.
|
||||
# This should be avoided if at all possible, however at
|
||||
# the moment I see no clean way to add a udev rules file
|
||||
# which is not in the default udevd search paths. On
|
||||
# top of the the rules file we add will need to find
|
||||
# the zpool_id support utility and the zdef.conf file.
|
||||
|
||||
cp -f ${SRC_PATH} ${DST_PATH}
|
||||
|
||||
if [ ! -f ${DST_ZPOOL_ID} ]; then
|
||||
cp ${ZPOOL_ID} ${DST_ZPOOL_ID}
|
||||
chmod 755 ${DST_ZPOOL_ID}
|
||||
fi
|
||||
|
||||
if [ ! -f ${DST_RULES} ]; then
|
||||
cp ${SRC_RULES} ${DST_RULES}
|
||||
chmod 644 ${DST_RULES}
|
||||
fi
|
||||
|
||||
|
||||
if [ -f ${UDEVADM} ]; then
|
||||
${UDEVADM} trigger
|
||||
${UDEVADM} settle
|
||||
# When running in tree manually contruct symlinks in tree to
|
||||
# the proper devices. Symlinks are installed for all entires
|
||||
# in the config file regardless of if that device actually
|
||||
# exists. When installed as a package udev can be relied on for
|
||||
# this and it will only create links for devices which exist.
|
||||
if [ ${INTREE} ]; then
|
||||
PWD=`pwd`
|
||||
mkdir -p ${DEVDIR}/
|
||||
cd ${DEVDIR}/
|
||||
${AWK} '!/^#/ && /./ { system( \
|
||||
"ln -f -s /dev/disk/by-path/"$2" "$1";" \
|
||||
"ln -f -s /dev/disk/by-path/"$2"-part1 "$1"p1;" \
|
||||
"ln -f -s /dev/disk/by-path/"$2"-part9 "$1"p9;" \
|
||||
) }' $SRC_PATH
|
||||
cd ${PWD}
|
||||
else
|
||||
/sbin/udevtrigger
|
||||
/sbin/udevsettle
|
||||
DST_FILE=`basename ${SRC_PATH} | cut -f1-2 -d'.'`
|
||||
DST_PATH=/etc/zfs/${DST_FILE}
|
||||
|
||||
if [ -e ${DST_PATH} ]; then
|
||||
die "Error: Config ${DST_PATH} already exists"
|
||||
fi
|
||||
|
||||
cp ${SRC_PATH} ${DST_PATH}
|
||||
|
||||
if [ -f ${UDEVADM} ]; then
|
||||
${UDEVADM} trigger
|
||||
${UDEVADM} settle
|
||||
else
|
||||
/sbin/udevtrigger
|
||||
/sbin/udevsettle
|
||||
fi
|
||||
fi
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
udev_cleanup() {
|
||||
local SRC_PATH=$1
|
||||
|
||||
if [ ${INTREE} ]; then
|
||||
PWD=`pwd`
|
||||
cd ${DEVDIR}/
|
||||
${AWK} '!/^#/ && /./ { system( \
|
||||
"rm -f "$1" "$1"p1 "$1"p9") }' $SRC_PATH
|
||||
cd ${PWD}
|
||||
fi
|
||||
|
||||
return 0
|
||||
|
@ -267,7 +283,7 @@ udev_raid0_setup() {
|
|||
for RANK in `seq 1 ${RANKS}`; do
|
||||
for CHANNEL in `seq 1 ${CHANNELS}`; do
|
||||
DISK=`udev_cr2d ${CHANNEL} ${RANK}`
|
||||
RAID0S[${IDX}]="${UPATH}/${DISK}"
|
||||
RAID0S[${IDX}]="${DEVDIR}/${DISK}"
|
||||
let IDX=IDX+1
|
||||
done
|
||||
done
|
||||
|
@ -286,7 +302,7 @@ udev_raid10_setup() {
|
|||
let CHANNEL2=CHANNEL1+1
|
||||
DISK1=`udev_cr2d ${CHANNEL1} ${RANK}`
|
||||
DISK2=`udev_cr2d ${CHANNEL2} ${RANK}`
|
||||
GROUP="${UPATH}/${DISK1} ${UPATH}/${DISK2}"
|
||||
GROUP="${DEVDIR}/${DISK1} ${DEVDIR}/${DISK2}"
|
||||
RAID10S[${IDX}]="mirror ${GROUP}"
|
||||
let IDX=IDX+1
|
||||
done
|
||||
|
@ -305,7 +321,7 @@ udev_raidz_setup() {
|
|||
|
||||
for CHANNEL in `seq 1 ${CHANNELS}`; do
|
||||
DISK=`udev_cr2d ${CHANNEL} ${RANK}`
|
||||
RAIDZ[${CHANNEL}]="${UPATH}/${DISK}"
|
||||
RAIDZ[${CHANNEL}]="${DEVDIR}/${DISK}"
|
||||
done
|
||||
|
||||
RAIDZS[${RANK}]="${RAIDZ[*]}"
|
||||
|
@ -324,7 +340,7 @@ udev_raidz2_setup() {
|
|||
|
||||
for CHANNEL in `seq 1 ${CHANNELS}`; do
|
||||
DISK=`udev_cr2d ${CHANNEL} ${RANK}`
|
||||
RAIDZ2[${CHANNEL}]="${UPATH}/${DISK}"
|
||||
RAIDZ2[${CHANNEL}]="${DEVDIR}/${DISK}"
|
||||
done
|
||||
|
||||
RAIDZ2S[${RANK}]="${RAIDZ2[*]}"
|
||||
|
|
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.dragon.example
|
||||
}
|
||||
|
|
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.dragon.example
|
||||
}
|
||||
|
|
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.dragon.example
|
||||
}
|
||||
|
|
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.dragon.example
|
||||
}
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Flash (White Box) Raid-0 Configuration (1x16)
|
||||
# Supermicro (White Box) Raid-0 Configuration (1x16)
|
||||
#
|
||||
|
||||
RANKS=8
|
||||
CHANNELS=2
|
||||
RANKS=4
|
||||
CHANNELS=4
|
||||
|
||||
zpool_create() {
|
||||
udev_setup ${ETCDIR}/zfs/zdev.conf.promise.example
|
||||
udev_setup ${ETCDIR}/zfs/zdev.conf.supermicro.example
|
||||
udev_raid0_setup ${RANKS} ${CHANNELS}
|
||||
|
||||
msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID0S[*]}
|
||||
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.supermicro.example
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Flash (White Box) Raid-10 Configuration (10x2(1+1))
|
||||
# Supermicro (White Box) Raid-10 Configuration (8x2(1+1))
|
||||
#
|
||||
|
||||
RANKS=8
|
||||
CHANNELS=2
|
||||
RANKS=4
|
||||
CHANNELS=4
|
||||
|
||||
zpool_create() {
|
||||
udev_setup ${ETCDIR}/zfs/zdev.conf.promise.example
|
||||
udev_setup ${ETCDIR}/zfs/zdev.conf.supermicro.example
|
||||
udev_raid10_setup ${RANKS} ${CHANNELS}
|
||||
|
||||
msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAID10S[*]}
|
||||
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.supermicro.example
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Flash (White Box) Raid-Z Configuration (2x8(7+1))
|
||||
# Supermicro (White Box) Raid-Z Configuration (4x4(3+1))
|
||||
#
|
||||
|
||||
RANKS=8
|
||||
CHANNELS=2
|
||||
RANKS=4
|
||||
CHANNELS=4
|
||||
|
||||
zpool_create() {
|
||||
udev_setup ${ETCDIR}/zfs/zdev.conf.promise.example
|
||||
udev_setup ${ETCDIR}/zfs/zdev.conf.supermicro.example
|
||||
udev_raidz_setup ${RANKS} ${CHANNELS}
|
||||
|
||||
msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZS[*]}
|
||||
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.supermicro.example
|
||||
}
|
|
@ -1,13 +1,13 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Flash (White Box) Raid-Z2 Configuration (2x8(6+2))
|
||||
# Supermicro (White Box) Raid-Z2 Configuration (4x4(2+2))
|
||||
#
|
||||
|
||||
RANKS=8
|
||||
CHANNELS=2
|
||||
RANKS=4
|
||||
CHANNELS=4
|
||||
|
||||
zpool_create() {
|
||||
udev_setup ${ETCDIR}/zfs/zdev.conf.promise.example
|
||||
udev_setup ${ETCDIR}/zfs/zdev.conf.supermicro.example
|
||||
udev_raidz2_setup ${RANKS} ${CHANNELS}
|
||||
|
||||
msg ${ZPOOL} create ${FORCE_FLAG} ${ZPOOL_NAME} ${RAIDZ2S[*]}
|
||||
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.supermicro.example
|
||||
}
|
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.x4550.example
|
||||
}
|
||||
|
|
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.x4550.example
|
||||
}
|
||||
|
|
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.x4550.example
|
||||
}
|
||||
|
|
|
@ -17,4 +17,5 @@ zpool_create() {
|
|||
zpool_destroy() {
|
||||
msg ${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
${ZPOOL} destroy ${ZPOOL_NAME}
|
||||
udev_cleanup ${ETCDIR}/zfs/zdev.conf.x4550.example
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue