Skip to content

Instantly share code, notes, and snippets.

@WautersPh
Created April 18, 2013 11:30
Show Gist options
  • Save WautersPh/064de48f6d4e53a3f462 to your computer and use it in GitHub Desktop.
Save WautersPh/064de48f6d4e53a3f462 to your computer and use it in GitHub Desktop.
[Are SAN boot disks (with "mpath") supported by "rear" ?] "rear -D recover" log file
2013-04-18 13:21:48 Relax-and-Recover 1.14 / Git
2013-04-18 13:21:49 Command line options: /bin/rear -D recover
2013-04-18 13:21:49 Using log file: /var/log/rear/rear-uxit400c.log
2013-04-18 13:21:49 Including /etc/rear/os.conf
+ . /etc/rear/os.conf
++ OS_VENDOR=RedHatEnterpriseServer
++ OS_VERSION=5
++ ARCH=Linux-i386
++ OS=GNU/Linux
++ OS_VERSION=5
++ OS_VENDOR=RedHatEnterpriseServer
++ OS_VENDOR_VERSION=RedHatEnterpriseServer/5
++ OS_VENDOR_ARCH=RedHatEnterpriseServer/i386
+ test 1
+ set +x
2013-04-18 13:21:49 Including conf/Linux-i386.conf
+ . /usr/share/rear/conf/Linux-i386.conf
++ REQUIRED_PROGS=("${REQUIRED_PROGS[@]}" parted sfdisk)
++ PROGS=("${PROGS[@]}" grub partprobe lilo fdisk cfdisk)
+ test 1
+ set +x
2013-04-18 13:21:49 Including conf/GNU/Linux.conf
+ . /usr/share/rear/conf/GNU/Linux.conf
++ PROGS=(${PROGS[@]} rpc.statd rpcbind bash mknod blkid vol_id udev_volume_id portmap readlink rpcinfo grep cat tac tr reboot halt shutdown killall5 killall chroot tee awk ip ifconfig route ifenslave ifrename nameif klogd syslog-ng syslogd rsyslogd echo cp date wc cut rm rmdir test init telinit ethtool expand sed mount umount insmod modprobe lsmod true false mingetty rmmod hostname uname sleep logger ps ln dirname basename mkdir tty ping netstat free traceroute less vi pico nano rmmod df ls dmesg du tar gzip netcat top iptraf joe pico getent id ldd strace rsync tail head find md5sum mkfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev mkfs.jfs mkfs.xfs mkfs.reiserfs mkfs.vfat mkfs.btrfs mkreiserfs fsck fsck.ext2 fsck.ext3 fsck.ext4 fsck.ext4dev fsck.xfs fsck.reiserfs reiserfsck fsck.btrfs btrfsck tune2fs tune4fs xfs_admin xfs_db btrfs jfs_tune reiserfstune expr egrep grep fgrep df chmod chown stat mkswap swapon swapoff mknod touch scsi_id lsscsi logd initctl lspci usleep mktemp /bin/true strace which mkfifo seq openvt poweroff chacl getfacl setfacl attr getfattr setfattr mpath_wait strings xargs)
++ LIBS=(${LIBS[@]} /lib*/libnss_dns* /lib*/libnss_files* /lib/*/libnss_dns* /lib/*/libnss_files* /lib*/libgcc_s* /lib*/libresolv* /usr/lib*/rsyslog/*so /lib*/rsyslog/*so)
++ MODULES=(${MODULES[@]} vfat nls_iso8859_1 nls_utf8 nls_cp437 af_packet unix nfs lockd sunrpc cifs usbcore usb_storage usbhid sr_mod ide_cd cdrom uhci_hcd ehci_hcd ohci_hcd zlib zlib-inflate zlib-deflate libcrc32c crc32c crc32c-intel)
++ COPY_AS_IS=(${COPY_AS_IS[@]} /dev /etc/inputr[c] /etc/protocols /etc/services /etc/rpc /etc/termcap /*/terminfo /usr/share/terminfo /etc/netconfig /etc/mke2fs.conf /etc/*-release /lib*/firmware /etc/localtime /usr/lib*/syslog-ng /etc/magic /usr/share/misc/magic)
++ COPY_AS_IS_EXCLUDE=(${COPY_AS_IS_EXCLUDE[@]} dev/shm/\*)
++ KERNEL_CMDLINE=' selinux=0'
++ CLONE_USERS=("${CLONE_USERS[@]}" daemon rpc usbmuxd usbmux vcsa nobody)
++ CLONE_GROUPS=("${CLONE_GROUPS[@]}" tty usbmuxd usbmux fuse)
+ test 1
+ set +x
2013-04-18 13:21:49 Including /etc/rear/local.conf
+ . /etc/rear/local.conf
++ OUTPUT=ISO
++ BACKUP=NETFS
++ BACKUP_URL=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
++ AUTOEXCLUDE_MULTIPATH=
+ test 1
+ set +x
2013-04-18 13:21:49 Including /etc/rear/rescue.conf
+ . /etc/rear/rescue.conf
++ USE_DHCLIENT=
++ DHCLIENT_BIN=dhclient
++ DHCLIENT6_BIN=dhcp6c
++ NETFS_KEEP_OLD_BACKUP_COPY=
++ NETFS_PREFIX=uxit400c
+ test 1
+ set +x
2013-04-18 13:21:49 Using build area '/tmp/rear.UHlxviwaOpW4207'
mkdir: created directory `/tmp/rear.UHlxviwaOpW4207/rootfs'
mkdir: created directory `/tmp/rear.UHlxviwaOpW4207/tmp'
2013-04-18 13:21:49 Running recover workflow
2013-04-18 13:21:49 Running 'setup' stage
2013-04-18 13:21:49 Including setup/default/01_pre_recovery_script.sh
+ . /usr/share/rear/setup/default/01_pre_recovery_script.sh
++ test ''
+ test 1
+ set +x
2013-04-18 13:21:49 Finished running 'setup' stage in 0 seconds
2013-04-18 13:21:49 Running 'verify' stage
2013-04-18 13:21:49 Including verify/default/02_cciss_scsi_engage.sh
+ . /usr/share/rear/verify/default/02_cciss_scsi_engage.sh
++ grep -q '^cciss ' /proc/modules
++ for host in '/proc/driver/cciss/cciss?'
++ Log 'Engage SCSI on host /proc/driver/cciss/cciss0'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:49 Engage SCSI on host /proc/driver/cciss/cciss0'
2013-04-18 13:21:49 Engage SCSI on host /proc/driver/cciss/cciss0
++ echo engage scsi
++ sleep 2
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/default/02_translate_url.sh
+ . /usr/share/rear/verify/default/02_translate_url.sh
++ [[ -n '' ]]
++ [[ -n '' ]]
++ [[ -n '' ]]
++ [[ -n '' ]]
++ [[ -n '' ]]
++ [[ -n '' ]]
++ [[ -n '' ]]
++ [[ -n '' ]]
++ [[ -n '' ]]
++ [[ -n '' ]]
++ [[ -z '' ]]
++ [[ -z '' ]]
++ [[ -z '' ]]
++ OUTPUT_OPTIONS=
++ [[ -z '' ]]
++ [[ -z '' ]]
++ OUTPUT_URL=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
++ [[ -z '' ]]
++ [[ -z nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c ]]
++ [[ -z '' ]]
++ [[ -z nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c ]]
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/default/03_translate_tape.sh
+ . /usr/share/rear/verify/default/03_translate_tape.sh
++ [[ -n nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c ]]
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
++ backup_scheme=nfs
++ [[ nfs == @(tape|obdr) ]]
++ [[ -z nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c ]]
++ [[ -z nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c ]]
++ [[ -n '' ]]
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/NETFS/default/05_check_NETFS_requirements.sh
+ . /usr/share/rear/verify/NETFS/default/05_check_NETFS_requirements.sh
++ [[ -n nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c ]]
++ StopIfError 'You must specify either BACKUP_URL or BACKUP_MOUNTCMD and BACKUP_UMOUNTCMD !'
++ (( 0 != 0 ))
++ [[ -n nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c ]]
+++ url_host nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local host=ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ echo ks1.mux.isinfra.net
++ local host=ks1.mux.isinfra.net
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
++ local scheme=nfs
+++ url_path nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local path=ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ echo /nfsexports/rear/uxit400c
++ local path=/nfsexports/rear/uxit400c
++ [[ -n '' ]]
++ Log 'Skipping ping test'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 Skipping ping test'
2013-04-18 13:21:51 Skipping ping test
++ case $scheme in
++ case "$(basename $BACKUP_PROG)" in
+++ basename tar
++ :
++ PROGS=("${PROGS[@]}" ping showmount portmap rpcbind rpcinfo mount mount.$(url_scheme $BACKUP_URL) umount.$(url_scheme $BACKUP_URL) $(
test "$BACKUP_MOUNTCMD" && echo "${BACKUP_MOUNTCMD%% *}"
test "$BACKUP_UMOUNTCMD" && echo "${BACKUP_UMOUNTCMD%% *}"
) $BACKUP_PROG gzip bzip2 xz)
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
+++ test ''
+++ test ''
++ MODULES=("${MODULES[@]}" $(url_scheme $BACKUP_URL))
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/GNU/Linux/05_sane_recovery_check.sh
+ . /usr/share/rear/verify/GNU/Linux/05_sane_recovery_check.sh
++ '[' -s /etc/scripts/system-setup ']'
++ StopIfError 'This it not a Relax-and-Recover rescue system.'
++ (( 0 != 0 ))
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/NETFS/default/07_set_backup_archive.sh
+ . /usr/share/rear/verify/NETFS/default/07_set_backup_archive.sh
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
++ local scheme=nfs
++ case "$TAPE_DEVICE:$scheme" in
++ backuparchive=/tmp/rear.UHlxviwaOpW4207/outputfs/uxit400c/backup.tar.gz
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/NETFS/default/08_start_required_daemons.sh
+ . /usr/share/rear/verify/NETFS/default/08_start_required_daemons.sh
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
++ local scheme=nfs
++ case "$scheme" in
++ has_binary portmap
++ for bin in '$@'
++ type portmap
++ return 0
++ portmap
++ StopIfError 'Could not start port mapper [portmap] !'
++ (( 0 != 0 ))
++ max_portmap_checks=5
++ rpcinfo -p localhost
++ has_binary rpc.statd
++ for bin in '$@'
++ type rpc.statd
++ return 0
++ rpcinfo -p localhost
++ grep -q status
++ rpc.statd
++ StopIfError 'Could not start rpc.statd !'
++ (( 0 != 0 ))
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/NETFS/default/09_set_readonly_options.sh
+ . /usr/share/rear/verify/NETFS/default/09_set_readonly_options.sh
++ BACKUP_OPTIONS=ro
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/NETFS/default/10_mount_NETFS_path.sh
+ . /usr/share/rear/verify/NETFS/default/10_mount_NETFS_path.sh
++ mkdir -p -v /tmp/rear.UHlxviwaOpW4207/outputfs
mkdir: created directory `/tmp/rear.UHlxviwaOpW4207/outputfs'
++ StopIfError 'Could not mkdir '\''/tmp/rear.UHlxviwaOpW4207/outputfs'\'''
++ (( 0 != 0 ))
++ AddExitTask 'rmdir -v /tmp/rear.UHlxviwaOpW4207/outputfs >&2'
++ EXIT_TASKS=("$*" "${EXIT_TASKS[@]}")
++ Debug 'Added '\''rmdir -v /tmp/rear.UHlxviwaOpW4207/outputfs >&2'\'' as an exit task'
++ test ''
++ [[ -n '' ]]
++ mount_url nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c /tmp/rear.UHlxviwaOpW4207/outputfs ro
++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
++ local mountpoint=/tmp/rear.UHlxviwaOpW4207/outputfs
++ local options=ro
++ local mount_cmd
++ case $(url_scheme $url) in
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
+++ url_host nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local host=ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ echo ks1.mux.isinfra.net
+++ url_path nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local path=ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ echo /nfsexports/rear/uxit400c
++ mount_cmd='mount -v -t nfs -o ro ks1.mux.isinfra.net:/nfsexports/rear/uxit400c /tmp/rear.UHlxviwaOpW4207/outputfs'
++ Log 'Mounting with '\''mount -v -t nfs -o ro ks1.mux.isinfra.net:/nfsexports/rear/uxit400c /tmp/rear.UHlxviwaOpW4207/outputfs'\'''
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 Mounting with '\''mount -v -t nfs -o ro ks1.mux.isinfra.net:/nfsexports/rear/uxit400c /tmp/rear.UHlxviwaOpW4207/outputfs'\'''
2013-04-18 13:21:51 Mounting with 'mount -v -t nfs -o ro ks1.mux.isinfra.net:/nfsexports/rear/uxit400c /tmp/rear.UHlxviwaOpW4207/outputfs'
++ mount -v -t nfs -o ro ks1.mux.isinfra.net:/nfsexports/rear/uxit400c /tmp/rear.UHlxviwaOpW4207/outputfs
mount: trying 10.91.6.201 prog 100003 vers 3 prot tcp port 2049
mount: trying 10.91.6.201 prog 100005 vers 3 prot udp port 4002
++ StopIfError 'Mount command '\''mount -v -t nfs -o ro ks1.mux.isinfra.net:/nfsexports/rear/uxit400c /tmp/rear.UHlxviwaOpW4207/outputfs'\'' failed.'
++ (( 0 != 0 ))
++ AddExitTask 'umount -f -v '\''/tmp/rear.UHlxviwaOpW4207/outputfs'\'' >&2'
++ EXIT_TASKS=("$*" "${EXIT_TASKS[@]}")
++ Debug 'Added '\''umount -f -v '\''/tmp/rear.UHlxviwaOpW4207/outputfs'\'' >&2'\'' as an exit task'
++ test ''
++ return 0
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/GNU/Linux/23_storage_and_network_modules.sh
+ . /usr/share/rear/verify/GNU/Linux/23_storage_and_network_modules.sh
++ have_udev
++ local relpath=
++ shift
++ '[' -d /etc/udev/rules.d ']'
++ has_binary udevadm udevstart udevtrigger
++ for bin in '$@'
++ type udevadm
++ for bin in '$@'
++ type udevstart
++ for bin in '$@'
++ type udevtrigger
++ return 0
++ return 0
++ STORAGE_DRIVERS=($(
find /lib/modules/$KERNEL_VERSION/kernel/drivers/{block,firewire,ide,ata,md,message,scsi,usb/storage} -type f -name '*.ko*' -printf '%f\n' | sed -e 's/^\(.*\)\.ko.*/\1/'
# ^^^^- remove the .ko, faster one sed call than many basename calls or shell code
))
+++ find /lib/modules/2.6.18-308.el5/kernel/drivers/block /lib/modules/2.6.18-308.el5/kernel/drivers/firewire /lib/modules/2.6.18-308.el5/kernel/drivers/ide /lib/modules/2.6.18-308.el5/kernel/drivers/ata /lib/modules/2.6.18-308.el5/kernel/drivers/md /lib/modules/2.6.18-308.el5/kernel/drivers/message /lib/modules/2.6.18-308.el5/kernel/drivers/scsi /lib/modules/2.6.18-308.el5/kernel/drivers/usb/storage -type f -name '*.ko*' -printf '%f\n'
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
++ NETWORK_DRIVERS=($(
find /lib/modules/$KERNEL_VERSION/kernel/drivers/net -type f -name '*.ko*' -printf '%f\n' | sed -e 's/^\(.*\)\.ko.*/\1/'
# ^^^^- remove the .ko, faster one sed call than many basename calls or shell code
))
+++ find /lib/modules/2.6.18-308.el5/kernel/drivers/net -type f -name '*.ko*' -printf '%f\n'
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
++ CRYPTO_DRIVERS=($(
find /lib/modules/$KERNEL_VERSION/kernel/crypto -type f -name '*.ko*' -printf '%f\n' | sed -e 's/^\(.*\)\.ko.*/\1/'
# ^^^^- remove the .ko, faster one sed call than many basename calls or shell code
))
+++ find /lib/modules/2.6.18-308.el5/kernel/crypto -type f -name '*.ko*' -printf '%f\n'
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
++ VIRTUAL_DRIVERS=($(
find /lib/modules/$KERNEL_VERSION/kernel/drivers/{virtio,xen} -type f -name '*.ko*' -printf '%f\n' | sed -e 's/^\(.*\)\.ko.*/\1/'
# ^^^^- remove the .ko, faster one sed call than many basename calls or shell code
))
+++ find /lib/modules/2.6.18-308.el5/kernel/drivers/virtio /lib/modules/2.6.18-308.el5/kernel/drivers/xen -type f -name '*.ko*' -printf '%f\n'
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
find: /lib/modules/2.6.18-308.el5/kernel/drivers/xen: No such file or directory
++ EXTRA_DRIVERS=($(
find /lib/modules/$KERNEL_VERSION/{extra,weak-updates} -type f -name '*.ko*' -printf '%f\n' | sed -e 's/^\(.*\)\.ko.*/\1/'
# ^^^^- remove the .ko, faster one sed call than many basename calls or shell code
))
+++ find /lib/modules/2.6.18-308.el5/extra /lib/modules/2.6.18-308.el5/weak-updates -type f -name '*.ko*' -printf '%f\n'
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
find: /lib/modules/2.6.18-308.el5/weak-updates: No such file or directory
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/GNU/Linux/26_recovery_storage_drivers.sh
+ . /usr/share/rear/verify/GNU/Linux/26_recovery_storage_drivers.sh
++ have_udev
++ local relpath=
++ shift
++ '[' -d /etc/udev/rules.d ']'
++ has_binary udevadm udevstart udevtrigger
++ for bin in '$@'
++ type udevadm
++ for bin in '$@'
++ type udevstart
++ for bin in '$@'
++ type udevtrigger
++ return 0
++ return 0
++ FindStorageDrivers /tmp/rear.UHlxviwaOpW4207/tmp/dev
++ '[' cryptoloop ']'
++ StopIfError 'FindStorageDrivers called but STORAGE_DRIVERS is empty'
++ (( 0 != 0 ))
++ grep -v -E '(loop)'
+++ lsmod
++ sort -u
++ read module junk
++ IsInArray Module cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=Module
++ shift
++ [[ Module == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ Module == \c\c\i\s\s ]]
++ shift
++ [[ Module == \D\A\C\9\6\0 ]]
++ shift
++ [[ Module == \p\k\t\c\d\v\d ]]
++ shift
++ [[ Module == \s\x\8 ]]
++ shift
++ [[ Module == \n\b\d ]]
++ shift
++ [[ Module == \a\o\e ]]
++ shift
++ [[ Module == \f\l\o\p\p\y ]]
++ shift
++ [[ Module == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ Module == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ Module == \l\o\o\p ]]
++ shift
++ [[ Module == \p\g ]]
++ shift
++ [[ Module == \o\n\2\6 ]]
++ shift
++ [[ Module == \o\n\2\0 ]]
++ shift
++ [[ Module == \f\i\t\2 ]]
++ shift
++ [[ Module == \k\t\t\i ]]
++ shift
++ [[ Module == \p\t ]]
++ shift
++ [[ Module == \p\a\r\i\d\e ]]
++ shift
++ [[ Module == \p\c\d ]]
++ shift
++ [[ Module == \e\p\a\t ]]
++ shift
++ [[ Module == \p\f ]]
++ shift
++ [[ Module == \k\b\i\c ]]
++ shift
++ [[ Module == \e\p\i\a ]]
++ shift
++ [[ Module == \f\i\t\3 ]]
++ shift
++ [[ Module == \f\r\p\w ]]
++ shift
++ [[ Module == \p\d ]]
++ shift
++ [[ Module == \d\s\t\r ]]
++ shift
++ [[ Module == \c\o\m\m ]]
++ shift
++ [[ Module == \b\p\c\k ]]
++ shift
++ [[ Module == \f\r\i\q ]]
++ shift
++ [[ Module == \a\t\e\n ]]
++ shift
++ [[ Module == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ Module == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ Module == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ Module == \i\d\e\-\c\d ]]
++ shift
++ [[ Module == \i\d\e\-\c\s ]]
++ shift
++ [[ Module == \l\i\b\a\t\a ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ Module == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ Module == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ Module == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ Module == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ Module == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ Module == \s\a\t\a\_\m\v ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ Module == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ Module == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ Module == \a\h\c\i ]]
++ shift
++ [[ Module == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ Module == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ Module == \s\a\t\a\_\n\v ]]
++ shift
++ [[ Module == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ Module == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ Module == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ Module == \d\m\-\z\e\r\o ]]
++ shift
++ [[ Module == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ Module == \d\m\-\l\o\g ]]
++ shift
++ [[ Module == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ Module == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ Module == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ Module == \r\a\i\d\1\0 ]]
++ shift
++ [[ Module == \f\a\u\l\t\y ]]
++ shift
++ [[ Module == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ Module == \r\a\i\d\1 ]]
++ shift
++ [[ Module == \d\m\-\e\m\c ]]
++ shift
++ [[ Module == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ Module == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ Module == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ Module == \d\m\-\r\d\a\c ]]
++ shift
++ [[ Module == \x\o\r ]]
++ shift
++ [[ Module == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ Module == \d\m\-\m\o\d ]]
++ shift
++ [[ Module == \l\i\n\e\a\r ]]
++ shift
++ [[ Module == \r\a\i\d\0 ]]
++ shift
++ [[ Module == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ Module == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ Module == \m\p\t\b\a\s\e ]]
++ shift
++ [[ Module == \m\p\t\l\a\n ]]
++ shift
++ [[ Module == \m\p\t\f\c ]]
++ shift
++ [[ Module == \m\p\t\s\p\i ]]
++ shift
++ [[ Module == \m\p\t\s\a\s ]]
++ shift
++ [[ Module == \m\p\t\c\t\l ]]
++ shift
++ [[ Module == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ Module == \i\2\o\_\b\u\s ]]
++ shift
++ [[ Module == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ Module == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ Module == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ Module == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ Module == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ Module == \c\h ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ Module == \p\p\a ]]
++ shift
++ [[ Module == \i\s\c\i ]]
++ shift
++ [[ Module == \3\w\-\x\x\x\x ]]
++ shift
++ [[ Module == \s\e\s ]]
++ shift
++ [[ Module == \p\m\c\r\a\i\d ]]
++ shift
++ [[ Module == \l\i\b\f\c ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ Module == \d\c\3\9\5\x ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ Module == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ Module == \g\d\t\h ]]
++ shift
++ [[ Module == \a\a\c\r\a\i\d ]]
++ shift
++ [[ Module == \l\i\b\f\c\o\e ]]
++ shift
++ [[ Module == \f\c\o\e ]]
++ shift
++ [[ Module == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ Module == \o\s\s\t ]]
++ shift
++ [[ Module == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ Module == \s\d\_\m\o\d ]]
++ shift
++ [[ Module == \i\m\m ]]
++ shift
++ [[ Module == \i\n\i\t\i\o ]]
++ shift
++ [[ Module == \a\t\p\8\7\0\u ]]
++ shift
++ [[ Module == \h\p\t\i\o\p ]]
++ shift
++ [[ Module == \q\l\a\2\x\x\x ]]
++ shift
++ [[ Module == \f\n\i\c ]]
++ shift
++ [[ Module == \b\f\a ]]
++ shift
++ [[ Module == \m\v\s\a\s ]]
++ shift
++ [[ Module == \s\g ]]
++ shift
++ [[ Module == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h ]]
++ shift
++ [[ Module == \3\w\-\9\x\x\x ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ Module == \3\w\-\s\a\s ]]
++ shift
++ [[ Module == \l\p\f\c ]]
++ shift
++ [[ Module == \m\p\t\2\s\a\s ]]
++ shift
++ [[ Module == \l\i\b\s\a\s ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ Module == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ Module == \a\i\c\7\x\x\x ]]
++ shift
++ [[ Module == \a\i\c\7\9\x\x ]]
++ shift
++ [[ Module == \s\t\e\x ]]
++ shift
++ [[ Module == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ Module == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ Module == \a\i\c\9\4\x\x ]]
++ shift
++ [[ Module == \b\n\x\2\i ]]
++ shift
++ [[ Module == \s\r\_\m\o\d ]]
++ shift
++ [[ Module == \s\t ]]
++ shift
++ [[ Module == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ Module == \i\p\s ]]
++ shift
++ [[ Module == \a\r\c\m\s\r ]]
++ shift
++ [[ Module == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ Module == \c\x\g\b\4\i ]]
++ shift
++ [[ Module == \c\x\g\b\3\i ]]
++ shift
++ [[ Module == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ Module == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ Module == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray nfs cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=nfs
++ shift
++ [[ nfs == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ nfs == \c\c\i\s\s ]]
++ shift
++ [[ nfs == \D\A\C\9\6\0 ]]
++ shift
++ [[ nfs == \p\k\t\c\d\v\d ]]
++ shift
++ [[ nfs == \s\x\8 ]]
++ shift
++ [[ nfs == \n\b\d ]]
++ shift
++ [[ nfs == \a\o\e ]]
++ shift
++ [[ nfs == \f\l\o\p\p\y ]]
++ shift
++ [[ nfs == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ nfs == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ nfs == \l\o\o\p ]]
++ shift
++ [[ nfs == \p\g ]]
++ shift
++ [[ nfs == \o\n\2\6 ]]
++ shift
++ [[ nfs == \o\n\2\0 ]]
++ shift
++ [[ nfs == \f\i\t\2 ]]
++ shift
++ [[ nfs == \k\t\t\i ]]
++ shift
++ [[ nfs == \p\t ]]
++ shift
++ [[ nfs == \p\a\r\i\d\e ]]
++ shift
++ [[ nfs == \p\c\d ]]
++ shift
++ [[ nfs == \e\p\a\t ]]
++ shift
++ [[ nfs == \p\f ]]
++ shift
++ [[ nfs == \k\b\i\c ]]
++ shift
++ [[ nfs == \e\p\i\a ]]
++ shift
++ [[ nfs == \f\i\t\3 ]]
++ shift
++ [[ nfs == \f\r\p\w ]]
++ shift
++ [[ nfs == \p\d ]]
++ shift
++ [[ nfs == \d\s\t\r ]]
++ shift
++ [[ nfs == \c\o\m\m ]]
++ shift
++ [[ nfs == \b\p\c\k ]]
++ shift
++ [[ nfs == \f\r\i\q ]]
++ shift
++ [[ nfs == \a\t\e\n ]]
++ shift
++ [[ nfs == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ nfs == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ nfs == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ nfs == \i\d\e\-\c\d ]]
++ shift
++ [[ nfs == \i\d\e\-\c\s ]]
++ shift
++ [[ nfs == \l\i\b\a\t\a ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ nfs == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ nfs == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ nfs == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ nfs == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ nfs == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ nfs == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ nfs == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ nfs == \s\a\t\a\_\m\v ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ nfs == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ nfs == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ nfs == \a\h\c\i ]]
++ shift
++ [[ nfs == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ nfs == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ nfs == \s\a\t\a\_\n\v ]]
++ shift
++ [[ nfs == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ nfs == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ nfs == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ nfs == \d\m\-\z\e\r\o ]]
++ shift
++ [[ nfs == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ nfs == \d\m\-\l\o\g ]]
++ shift
++ [[ nfs == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ nfs == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ nfs == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ nfs == \r\a\i\d\1\0 ]]
++ shift
++ [[ nfs == \f\a\u\l\t\y ]]
++ shift
++ [[ nfs == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ nfs == \r\a\i\d\1 ]]
++ shift
++ [[ nfs == \d\m\-\e\m\c ]]
++ shift
++ [[ nfs == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ nfs == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ nfs == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ nfs == \d\m\-\r\d\a\c ]]
++ shift
++ [[ nfs == \x\o\r ]]
++ shift
++ [[ nfs == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ nfs == \d\m\-\m\o\d ]]
++ shift
++ [[ nfs == \l\i\n\e\a\r ]]
++ shift
++ [[ nfs == \r\a\i\d\0 ]]
++ shift
++ [[ nfs == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ nfs == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ nfs == \m\p\t\b\a\s\e ]]
++ shift
++ [[ nfs == \m\p\t\l\a\n ]]
++ shift
++ [[ nfs == \m\p\t\f\c ]]
++ shift
++ [[ nfs == \m\p\t\s\p\i ]]
++ shift
++ [[ nfs == \m\p\t\s\a\s ]]
++ shift
++ [[ nfs == \m\p\t\c\t\l ]]
++ shift
++ [[ nfs == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ nfs == \i\2\o\_\b\u\s ]]
++ shift
++ [[ nfs == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ nfs == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ nfs == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ nfs == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ nfs == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ nfs == \c\h ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ nfs == \p\p\a ]]
++ shift
++ [[ nfs == \i\s\c\i ]]
++ shift
++ [[ nfs == \3\w\-\x\x\x\x ]]
++ shift
++ [[ nfs == \s\e\s ]]
++ shift
++ [[ nfs == \p\m\c\r\a\i\d ]]
++ shift
++ [[ nfs == \l\i\b\f\c ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ nfs == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ nfs == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ nfs == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ nfs == \d\c\3\9\5\x ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ nfs == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ nfs == \g\d\t\h ]]
++ shift
++ [[ nfs == \a\a\c\r\a\i\d ]]
++ shift
++ [[ nfs == \l\i\b\f\c\o\e ]]
++ shift
++ [[ nfs == \f\c\o\e ]]
++ shift
++ [[ nfs == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ nfs == \o\s\s\t ]]
++ shift
++ [[ nfs == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nfs == \s\d\_\m\o\d ]]
++ shift
++ [[ nfs == \i\m\m ]]
++ shift
++ [[ nfs == \i\n\i\t\i\o ]]
++ shift
++ [[ nfs == \a\t\p\8\7\0\u ]]
++ shift
++ [[ nfs == \h\p\t\i\o\p ]]
++ shift
++ [[ nfs == \q\l\a\2\x\x\x ]]
++ shift
++ [[ nfs == \f\n\i\c ]]
++ shift
++ [[ nfs == \b\f\a ]]
++ shift
++ [[ nfs == \m\v\s\a\s ]]
++ shift
++ [[ nfs == \s\g ]]
++ shift
++ [[ nfs == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ nfs == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ nfs == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ nfs == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ nfs == \s\c\s\i\_\d\h ]]
++ shift
++ [[ nfs == \3\w\-\9\x\x\x ]]
++ shift
++ [[ nfs == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ nfs == \3\w\-\s\a\s ]]
++ shift
++ [[ nfs == \l\p\f\c ]]
++ shift
++ [[ nfs == \m\p\t\2\s\a\s ]]
++ shift
++ [[ nfs == \l\i\b\s\a\s ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ nfs == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ nfs == \a\i\c\7\x\x\x ]]
++ shift
++ [[ nfs == \a\i\c\7\9\x\x ]]
++ shift
++ [[ nfs == \s\t\e\x ]]
++ shift
++ [[ nfs == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ nfs == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ nfs == \a\i\c\9\4\x\x ]]
++ shift
++ [[ nfs == \b\n\x\2\i ]]
++ shift
++ [[ nfs == \s\r\_\m\o\d ]]
++ shift
++ [[ nfs == \s\t ]]
++ shift
++ [[ nfs == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ nfs == \i\p\s ]]
++ shift
++ [[ nfs == \a\r\c\m\s\r ]]
++ shift
++ [[ nfs == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ nfs == \c\x\g\b\4\i ]]
++ shift
++ [[ nfs == \c\x\g\b\3\i ]]
++ shift
++ [[ nfs == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ nfs == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ nfs == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray lockd cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=lockd
++ shift
++ [[ lockd == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ lockd == \c\c\i\s\s ]]
++ shift
++ [[ lockd == \D\A\C\9\6\0 ]]
++ shift
++ [[ lockd == \p\k\t\c\d\v\d ]]
++ shift
++ [[ lockd == \s\x\8 ]]
++ shift
++ [[ lockd == \n\b\d ]]
++ shift
++ [[ lockd == \a\o\e ]]
++ shift
++ [[ lockd == \f\l\o\p\p\y ]]
++ shift
++ [[ lockd == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ lockd == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ lockd == \l\o\o\p ]]
++ shift
++ [[ lockd == \p\g ]]
++ shift
++ [[ lockd == \o\n\2\6 ]]
++ shift
++ [[ lockd == \o\n\2\0 ]]
++ shift
++ [[ lockd == \f\i\t\2 ]]
++ shift
++ [[ lockd == \k\t\t\i ]]
++ shift
++ [[ lockd == \p\t ]]
++ shift
++ [[ lockd == \p\a\r\i\d\e ]]
++ shift
++ [[ lockd == \p\c\d ]]
++ shift
++ [[ lockd == \e\p\a\t ]]
++ shift
++ [[ lockd == \p\f ]]
++ shift
++ [[ lockd == \k\b\i\c ]]
++ shift
++ [[ lockd == \e\p\i\a ]]
++ shift
++ [[ lockd == \f\i\t\3 ]]
++ shift
++ [[ lockd == \f\r\p\w ]]
++ shift
++ [[ lockd == \p\d ]]
++ shift
++ [[ lockd == \d\s\t\r ]]
++ shift
++ [[ lockd == \c\o\m\m ]]
++ shift
++ [[ lockd == \b\p\c\k ]]
++ shift
++ [[ lockd == \f\r\i\q ]]
++ shift
++ [[ lockd == \a\t\e\n ]]
++ shift
++ [[ lockd == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ lockd == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ lockd == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ lockd == \i\d\e\-\c\d ]]
++ shift
++ [[ lockd == \i\d\e\-\c\s ]]
++ shift
++ [[ lockd == \l\i\b\a\t\a ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ lockd == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ lockd == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ lockd == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ lockd == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ lockd == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ lockd == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ lockd == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ lockd == \s\a\t\a\_\m\v ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ lockd == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ lockd == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ lockd == \a\h\c\i ]]
++ shift
++ [[ lockd == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ lockd == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ lockd == \s\a\t\a\_\n\v ]]
++ shift
++ [[ lockd == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ lockd == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ lockd == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ lockd == \d\m\-\z\e\r\o ]]
++ shift
++ [[ lockd == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ lockd == \d\m\-\l\o\g ]]
++ shift
++ [[ lockd == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ lockd == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ lockd == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ lockd == \r\a\i\d\1\0 ]]
++ shift
++ [[ lockd == \f\a\u\l\t\y ]]
++ shift
++ [[ lockd == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ lockd == \r\a\i\d\1 ]]
++ shift
++ [[ lockd == \d\m\-\e\m\c ]]
++ shift
++ [[ lockd == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ lockd == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ lockd == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ lockd == \d\m\-\r\d\a\c ]]
++ shift
++ [[ lockd == \x\o\r ]]
++ shift
++ [[ lockd == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ lockd == \d\m\-\m\o\d ]]
++ shift
++ [[ lockd == \l\i\n\e\a\r ]]
++ shift
++ [[ lockd == \r\a\i\d\0 ]]
++ shift
++ [[ lockd == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ lockd == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ lockd == \m\p\t\b\a\s\e ]]
++ shift
++ [[ lockd == \m\p\t\l\a\n ]]
++ shift
++ [[ lockd == \m\p\t\f\c ]]
++ shift
++ [[ lockd == \m\p\t\s\p\i ]]
++ shift
++ [[ lockd == \m\p\t\s\a\s ]]
++ shift
++ [[ lockd == \m\p\t\c\t\l ]]
++ shift
++ [[ lockd == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ lockd == \i\2\o\_\b\u\s ]]
++ shift
++ [[ lockd == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ lockd == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ lockd == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ lockd == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ lockd == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ lockd == \c\h ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ lockd == \p\p\a ]]
++ shift
++ [[ lockd == \i\s\c\i ]]
++ shift
++ [[ lockd == \3\w\-\x\x\x\x ]]
++ shift
++ [[ lockd == \s\e\s ]]
++ shift
++ [[ lockd == \p\m\c\r\a\i\d ]]
++ shift
++ [[ lockd == \l\i\b\f\c ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ lockd == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ lockd == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ lockd == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ lockd == \d\c\3\9\5\x ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ lockd == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ lockd == \g\d\t\h ]]
++ shift
++ [[ lockd == \a\a\c\r\a\i\d ]]
++ shift
++ [[ lockd == \l\i\b\f\c\o\e ]]
++ shift
++ [[ lockd == \f\c\o\e ]]
++ shift
++ [[ lockd == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ lockd == \o\s\s\t ]]
++ shift
++ [[ lockd == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ lockd == \s\d\_\m\o\d ]]
++ shift
++ [[ lockd == \i\m\m ]]
++ shift
++ [[ lockd == \i\n\i\t\i\o ]]
++ shift
++ [[ lockd == \a\t\p\8\7\0\u ]]
++ shift
++ [[ lockd == \h\p\t\i\o\p ]]
++ shift
++ [[ lockd == \q\l\a\2\x\x\x ]]
++ shift
++ [[ lockd == \f\n\i\c ]]
++ shift
++ [[ lockd == \b\f\a ]]
++ shift
++ [[ lockd == \m\v\s\a\s ]]
++ shift
++ [[ lockd == \s\g ]]
++ shift
++ [[ lockd == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ lockd == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ lockd == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ lockd == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ lockd == \s\c\s\i\_\d\h ]]
++ shift
++ [[ lockd == \3\w\-\9\x\x\x ]]
++ shift
++ [[ lockd == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ lockd == \3\w\-\s\a\s ]]
++ shift
++ [[ lockd == \l\p\f\c ]]
++ shift
++ [[ lockd == \m\p\t\2\s\a\s ]]
++ shift
++ [[ lockd == \l\i\b\s\a\s ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ lockd == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ lockd == \a\i\c\7\x\x\x ]]
++ shift
++ [[ lockd == \a\i\c\7\9\x\x ]]
++ shift
++ [[ lockd == \s\t\e\x ]]
++ shift
++ [[ lockd == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ lockd == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ lockd == \a\i\c\9\4\x\x ]]
++ shift
++ [[ lockd == \b\n\x\2\i ]]
++ shift
++ [[ lockd == \s\r\_\m\o\d ]]
++ shift
++ [[ lockd == \s\t ]]
++ shift
++ [[ lockd == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ lockd == \i\p\s ]]
++ shift
++ [[ lockd == \a\r\c\m\s\r ]]
++ shift
++ [[ lockd == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ lockd == \c\x\g\b\4\i ]]
++ shift
++ [[ lockd == \c\x\g\b\3\i ]]
++ shift
++ [[ lockd == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ lockd == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ lockd == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray nfs_acl cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=nfs_acl
++ shift
++ [[ nfs_acl == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ nfs_acl == \c\c\i\s\s ]]
++ shift
++ [[ nfs_acl == \D\A\C\9\6\0 ]]
++ shift
++ [[ nfs_acl == \p\k\t\c\d\v\d ]]
++ shift
++ [[ nfs_acl == \s\x\8 ]]
++ shift
++ [[ nfs_acl == \n\b\d ]]
++ shift
++ [[ nfs_acl == \a\o\e ]]
++ shift
++ [[ nfs_acl == \f\l\o\p\p\y ]]
++ shift
++ [[ nfs_acl == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ nfs_acl == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ nfs_acl == \l\o\o\p ]]
++ shift
++ [[ nfs_acl == \p\g ]]
++ shift
++ [[ nfs_acl == \o\n\2\6 ]]
++ shift
++ [[ nfs_acl == \o\n\2\0 ]]
++ shift
++ [[ nfs_acl == \f\i\t\2 ]]
++ shift
++ [[ nfs_acl == \k\t\t\i ]]
++ shift
++ [[ nfs_acl == \p\t ]]
++ shift
++ [[ nfs_acl == \p\a\r\i\d\e ]]
++ shift
++ [[ nfs_acl == \p\c\d ]]
++ shift
++ [[ nfs_acl == \e\p\a\t ]]
++ shift
++ [[ nfs_acl == \p\f ]]
++ shift
++ [[ nfs_acl == \k\b\i\c ]]
++ shift
++ [[ nfs_acl == \e\p\i\a ]]
++ shift
++ [[ nfs_acl == \f\i\t\3 ]]
++ shift
++ [[ nfs_acl == \f\r\p\w ]]
++ shift
++ [[ nfs_acl == \p\d ]]
++ shift
++ [[ nfs_acl == \d\s\t\r ]]
++ shift
++ [[ nfs_acl == \c\o\m\m ]]
++ shift
++ [[ nfs_acl == \b\p\c\k ]]
++ shift
++ [[ nfs_acl == \f\r\i\q ]]
++ shift
++ [[ nfs_acl == \a\t\e\n ]]
++ shift
++ [[ nfs_acl == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ nfs_acl == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ nfs_acl == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ nfs_acl == \i\d\e\-\c\d ]]
++ shift
++ [[ nfs_acl == \i\d\e\-\c\s ]]
++ shift
++ [[ nfs_acl == \l\i\b\a\t\a ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ nfs_acl == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\m\v ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ nfs_acl == \a\h\c\i ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ nfs_acl == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\n\v ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ nfs_acl == \d\m\-\z\e\r\o ]]
++ shift
++ [[ nfs_acl == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ nfs_acl == \d\m\-\l\o\g ]]
++ shift
++ [[ nfs_acl == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ nfs_acl == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ nfs_acl == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\1\0 ]]
++ shift
++ [[ nfs_acl == \f\a\u\l\t\y ]]
++ shift
++ [[ nfs_acl == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\1 ]]
++ shift
++ [[ nfs_acl == \d\m\-\e\m\c ]]
++ shift
++ [[ nfs_acl == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ nfs_acl == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\d\a\c ]]
++ shift
++ [[ nfs_acl == \x\o\r ]]
++ shift
++ [[ nfs_acl == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ nfs_acl == \d\m\-\m\o\d ]]
++ shift
++ [[ nfs_acl == \l\i\n\e\a\r ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\0 ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ nfs_acl == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ nfs_acl == \m\p\t\b\a\s\e ]]
++ shift
++ [[ nfs_acl == \m\p\t\l\a\n ]]
++ shift
++ [[ nfs_acl == \m\p\t\f\c ]]
++ shift
++ [[ nfs_acl == \m\p\t\s\p\i ]]
++ shift
++ [[ nfs_acl == \m\p\t\s\a\s ]]
++ shift
++ [[ nfs_acl == \m\p\t\c\t\l ]]
++ shift
++ [[ nfs_acl == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ nfs_acl == \i\2\o\_\b\u\s ]]
++ shift
++ [[ nfs_acl == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ nfs_acl == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ nfs_acl == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ nfs_acl == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ nfs_acl == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ nfs_acl == \c\h ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ nfs_acl == \p\p\a ]]
++ shift
++ [[ nfs_acl == \i\s\c\i ]]
++ shift
++ [[ nfs_acl == \3\w\-\x\x\x\x ]]
++ shift
++ [[ nfs_acl == \s\e\s ]]
++ shift
++ [[ nfs_acl == \p\m\c\r\a\i\d ]]
++ shift
++ [[ nfs_acl == \l\i\b\f\c ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ nfs_acl == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ nfs_acl == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ nfs_acl == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ nfs_acl == \d\c\3\9\5\x ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ nfs_acl == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ nfs_acl == \g\d\t\h ]]
++ shift
++ [[ nfs_acl == \a\a\c\r\a\i\d ]]
++ shift
++ [[ nfs_acl == \l\i\b\f\c\o\e ]]
++ shift
++ [[ nfs_acl == \f\c\o\e ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ nfs_acl == \o\s\s\t ]]
++ shift
++ [[ nfs_acl == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nfs_acl == \s\d\_\m\o\d ]]
++ shift
++ [[ nfs_acl == \i\m\m ]]
++ shift
++ [[ nfs_acl == \i\n\i\t\i\o ]]
++ shift
++ [[ nfs_acl == \a\t\p\8\7\0\u ]]
++ shift
++ [[ nfs_acl == \h\p\t\i\o\p ]]
++ shift
++ [[ nfs_acl == \q\l\a\2\x\x\x ]]
++ shift
++ [[ nfs_acl == \f\n\i\c ]]
++ shift
++ [[ nfs_acl == \b\f\a ]]
++ shift
++ [[ nfs_acl == \m\v\s\a\s ]]
++ shift
++ [[ nfs_acl == \s\g ]]
++ shift
++ [[ nfs_acl == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\d\h ]]
++ shift
++ [[ nfs_acl == \3\w\-\9\x\x\x ]]
++ shift
++ [[ nfs_acl == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ nfs_acl == \3\w\-\s\a\s ]]
++ shift
++ [[ nfs_acl == \l\p\f\c ]]
++ shift
++ [[ nfs_acl == \m\p\t\2\s\a\s ]]
++ shift
++ [[ nfs_acl == \l\i\b\s\a\s ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ nfs_acl == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ nfs_acl == \a\i\c\7\x\x\x ]]
++ shift
++ [[ nfs_acl == \a\i\c\7\9\x\x ]]
++ shift
++ [[ nfs_acl == \s\t\e\x ]]
++ shift
++ [[ nfs_acl == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ nfs_acl == \a\i\c\9\4\x\x ]]
++ shift
++ [[ nfs_acl == \b\n\x\2\i ]]
++ shift
++ [[ nfs_acl == \s\r\_\m\o\d ]]
++ shift
++ [[ nfs_acl == \s\t ]]
++ shift
++ [[ nfs_acl == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ nfs_acl == \i\p\s ]]
++ shift
++ [[ nfs_acl == \a\r\c\m\s\r ]]
++ shift
++ [[ nfs_acl == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ nfs_acl == \c\x\g\b\4\i ]]
++ shift
++ [[ nfs_acl == \c\x\g\b\3\i ]]
++ shift
++ [[ nfs_acl == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ nfs_acl == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ nfs_acl == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray sunrpc cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=sunrpc
++ shift
++ [[ sunrpc == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sunrpc == \c\c\i\s\s ]]
++ shift
++ [[ sunrpc == \D\A\C\9\6\0 ]]
++ shift
++ [[ sunrpc == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sunrpc == \s\x\8 ]]
++ shift
++ [[ sunrpc == \n\b\d ]]
++ shift
++ [[ sunrpc == \a\o\e ]]
++ shift
++ [[ sunrpc == \f\l\o\p\p\y ]]
++ shift
++ [[ sunrpc == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sunrpc == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ sunrpc == \l\o\o\p ]]
++ shift
++ [[ sunrpc == \p\g ]]
++ shift
++ [[ sunrpc == \o\n\2\6 ]]
++ shift
++ [[ sunrpc == \o\n\2\0 ]]
++ shift
++ [[ sunrpc == \f\i\t\2 ]]
++ shift
++ [[ sunrpc == \k\t\t\i ]]
++ shift
++ [[ sunrpc == \p\t ]]
++ shift
++ [[ sunrpc == \p\a\r\i\d\e ]]
++ shift
++ [[ sunrpc == \p\c\d ]]
++ shift
++ [[ sunrpc == \e\p\a\t ]]
++ shift
++ [[ sunrpc == \p\f ]]
++ shift
++ [[ sunrpc == \k\b\i\c ]]
++ shift
++ [[ sunrpc == \e\p\i\a ]]
++ shift
++ [[ sunrpc == \f\i\t\3 ]]
++ shift
++ [[ sunrpc == \f\r\p\w ]]
++ shift
++ [[ sunrpc == \p\d ]]
++ shift
++ [[ sunrpc == \d\s\t\r ]]
++ shift
++ [[ sunrpc == \c\o\m\m ]]
++ shift
++ [[ sunrpc == \b\p\c\k ]]
++ shift
++ [[ sunrpc == \f\r\i\q ]]
++ shift
++ [[ sunrpc == \a\t\e\n ]]
++ shift
++ [[ sunrpc == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sunrpc == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ sunrpc == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ sunrpc == \i\d\e\-\c\d ]]
++ shift
++ [[ sunrpc == \i\d\e\-\c\s ]]
++ shift
++ [[ sunrpc == \l\i\b\a\t\a ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sunrpc == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sunrpc == \a\h\c\i ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sunrpc == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sunrpc == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sunrpc == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ sunrpc == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sunrpc == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ sunrpc == \d\m\-\l\o\g ]]
++ shift
++ [[ sunrpc == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sunrpc == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ sunrpc == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sunrpc == \r\a\i\d\1\0 ]]
++ shift
++ [[ sunrpc == \f\a\u\l\t\y ]]
++ shift
++ [[ sunrpc == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sunrpc == \r\a\i\d\1 ]]
++ shift
++ [[ sunrpc == \d\m\-\e\m\c ]]
++ shift
++ [[ sunrpc == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sunrpc == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ sunrpc == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sunrpc == \d\m\-\r\d\a\c ]]
++ shift
++ [[ sunrpc == \x\o\r ]]
++ shift
++ [[ sunrpc == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ sunrpc == \d\m\-\m\o\d ]]
++ shift
++ [[ sunrpc == \l\i\n\e\a\r ]]
++ shift
++ [[ sunrpc == \r\a\i\d\0 ]]
++ shift
++ [[ sunrpc == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sunrpc == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sunrpc == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sunrpc == \m\p\t\l\a\n ]]
++ shift
++ [[ sunrpc == \m\p\t\f\c ]]
++ shift
++ [[ sunrpc == \m\p\t\s\p\i ]]
++ shift
++ [[ sunrpc == \m\p\t\s\a\s ]]
++ shift
++ [[ sunrpc == \m\p\t\c\t\l ]]
++ shift
++ [[ sunrpc == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ sunrpc == \i\2\o\_\b\u\s ]]
++ shift
++ [[ sunrpc == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ sunrpc == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ sunrpc == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ sunrpc == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ sunrpc == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ sunrpc == \c\h ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ sunrpc == \p\p\a ]]
++ shift
++ [[ sunrpc == \i\s\c\i ]]
++ shift
++ [[ sunrpc == \3\w\-\x\x\x\x ]]
++ shift
++ [[ sunrpc == \s\e\s ]]
++ shift
++ [[ sunrpc == \p\m\c\r\a\i\d ]]
++ shift
++ [[ sunrpc == \l\i\b\f\c ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sunrpc == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ sunrpc == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ sunrpc == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ sunrpc == \d\c\3\9\5\x ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ sunrpc == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ sunrpc == \g\d\t\h ]]
++ shift
++ [[ sunrpc == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sunrpc == \l\i\b\f\c\o\e ]]
++ shift
++ [[ sunrpc == \f\c\o\e ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ sunrpc == \o\s\s\t ]]
++ shift
++ [[ sunrpc == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sunrpc == \s\d\_\m\o\d ]]
++ shift
++ [[ sunrpc == \i\m\m ]]
++ shift
++ [[ sunrpc == \i\n\i\t\i\o ]]
++ shift
++ [[ sunrpc == \a\t\p\8\7\0\u ]]
++ shift
++ [[ sunrpc == \h\p\t\i\o\p ]]
++ shift
++ [[ sunrpc == \q\l\a\2\x\x\x ]]
++ shift
++ [[ sunrpc == \f\n\i\c ]]
++ shift
++ [[ sunrpc == \b\f\a ]]
++ shift
++ [[ sunrpc == \m\v\s\a\s ]]
++ shift
++ [[ sunrpc == \s\g ]]
++ shift
++ [[ sunrpc == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\d\h ]]
++ shift
++ [[ sunrpc == \3\w\-\9\x\x\x ]]
++ shift
++ [[ sunrpc == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ sunrpc == \3\w\-\s\a\s ]]
++ shift
++ [[ sunrpc == \l\p\f\c ]]
++ shift
++ [[ sunrpc == \m\p\t\2\s\a\s ]]
++ shift
++ [[ sunrpc == \l\i\b\s\a\s ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ sunrpc == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ sunrpc == \a\i\c\7\x\x\x ]]
++ shift
++ [[ sunrpc == \a\i\c\7\9\x\x ]]
++ shift
++ [[ sunrpc == \s\t\e\x ]]
++ shift
++ [[ sunrpc == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ sunrpc == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ sunrpc == \a\i\c\9\4\x\x ]]
++ shift
++ [[ sunrpc == \b\n\x\2\i ]]
++ shift
++ [[ sunrpc == \s\r\_\m\o\d ]]
++ shift
++ [[ sunrpc == \s\t ]]
++ shift
++ [[ sunrpc == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ sunrpc == \i\p\s ]]
++ shift
++ [[ sunrpc == \a\r\c\m\s\r ]]
++ shift
++ [[ sunrpc == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ sunrpc == \c\x\g\b\4\i ]]
++ shift
++ [[ sunrpc == \c\x\g\b\3\i ]]
++ shift
++ [[ sunrpc == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ sunrpc == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ sunrpc == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray bonding cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=bonding
++ shift
++ [[ bonding == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ bonding == \c\c\i\s\s ]]
++ shift
++ [[ bonding == \D\A\C\9\6\0 ]]
++ shift
++ [[ bonding == \p\k\t\c\d\v\d ]]
++ shift
++ [[ bonding == \s\x\8 ]]
++ shift
++ [[ bonding == \n\b\d ]]
++ shift
++ [[ bonding == \a\o\e ]]
++ shift
++ [[ bonding == \f\l\o\p\p\y ]]
++ shift
++ [[ bonding == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ bonding == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ bonding == \l\o\o\p ]]
++ shift
++ [[ bonding == \p\g ]]
++ shift
++ [[ bonding == \o\n\2\6 ]]
++ shift
++ [[ bonding == \o\n\2\0 ]]
++ shift
++ [[ bonding == \f\i\t\2 ]]
++ shift
++ [[ bonding == \k\t\t\i ]]
++ shift
++ [[ bonding == \p\t ]]
++ shift
++ [[ bonding == \p\a\r\i\d\e ]]
++ shift
++ [[ bonding == \p\c\d ]]
++ shift
++ [[ bonding == \e\p\a\t ]]
++ shift
++ [[ bonding == \p\f ]]
++ shift
++ [[ bonding == \k\b\i\c ]]
++ shift
++ [[ bonding == \e\p\i\a ]]
++ shift
++ [[ bonding == \f\i\t\3 ]]
++ shift
++ [[ bonding == \f\r\p\w ]]
++ shift
++ [[ bonding == \p\d ]]
++ shift
++ [[ bonding == \d\s\t\r ]]
++ shift
++ [[ bonding == \c\o\m\m ]]
++ shift
++ [[ bonding == \b\p\c\k ]]
++ shift
++ [[ bonding == \f\r\i\q ]]
++ shift
++ [[ bonding == \a\t\e\n ]]
++ shift
++ [[ bonding == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ bonding == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ bonding == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ bonding == \i\d\e\-\c\d ]]
++ shift
++ [[ bonding == \i\d\e\-\c\s ]]
++ shift
++ [[ bonding == \l\i\b\a\t\a ]]
++ shift
++ [[ bonding == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ bonding == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ bonding == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ bonding == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ bonding == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ bonding == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ bonding == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ bonding == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ bonding == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ bonding == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ bonding == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ bonding == \s\a\t\a\_\m\v ]]
++ shift
++ [[ bonding == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ bonding == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ bonding == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ bonding == \a\h\c\i ]]
++ shift
++ [[ bonding == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ bonding == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ bonding == \s\a\t\a\_\n\v ]]
++ shift
++ [[ bonding == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ bonding == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ bonding == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ bonding == \d\m\-\z\e\r\o ]]
++ shift
++ [[ bonding == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ bonding == \d\m\-\l\o\g ]]
++ shift
++ [[ bonding == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ bonding == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ bonding == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ bonding == \r\a\i\d\1\0 ]]
++ shift
++ [[ bonding == \f\a\u\l\t\y ]]
++ shift
++ [[ bonding == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ bonding == \r\a\i\d\1 ]]
++ shift
++ [[ bonding == \d\m\-\e\m\c ]]
++ shift
++ [[ bonding == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ bonding == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ bonding == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ bonding == \d\m\-\r\d\a\c ]]
++ shift
++ [[ bonding == \x\o\r ]]
++ shift
++ [[ bonding == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ bonding == \d\m\-\m\o\d ]]
++ shift
++ [[ bonding == \l\i\n\e\a\r ]]
++ shift
++ [[ bonding == \r\a\i\d\0 ]]
++ shift
++ [[ bonding == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ bonding == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ bonding == \m\p\t\b\a\s\e ]]
++ shift
++ [[ bonding == \m\p\t\l\a\n ]]
++ shift
++ [[ bonding == \m\p\t\f\c ]]
++ shift
++ [[ bonding == \m\p\t\s\p\i ]]
++ shift
++ [[ bonding == \m\p\t\s\a\s ]]
++ shift
++ [[ bonding == \m\p\t\c\t\l ]]
++ shift
++ [[ bonding == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ bonding == \i\2\o\_\b\u\s ]]
++ shift
++ [[ bonding == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ bonding == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ bonding == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ bonding == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ bonding == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ bonding == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ bonding == \c\h ]]
++ shift
++ [[ bonding == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ bonding == \p\p\a ]]
++ shift
++ [[ bonding == \i\s\c\i ]]
++ shift
++ [[ bonding == \3\w\-\x\x\x\x ]]
++ shift
++ [[ bonding == \s\e\s ]]
++ shift
++ [[ bonding == \p\m\c\r\a\i\d ]]
++ shift
++ [[ bonding == \l\i\b\f\c ]]
++ shift
++ [[ bonding == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ bonding == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ bonding == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ bonding == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ bonding == \d\c\3\9\5\x ]]
++ shift
++ [[ bonding == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ bonding == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ bonding == \g\d\t\h ]]
++ shift
++ [[ bonding == \a\a\c\r\a\i\d ]]
++ shift
++ [[ bonding == \l\i\b\f\c\o\e ]]
++ shift
++ [[ bonding == \f\c\o\e ]]
++ shift
++ [[ bonding == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ bonding == \o\s\s\t ]]
++ shift
++ [[ bonding == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ bonding == \s\d\_\m\o\d ]]
++ shift
++ [[ bonding == \i\m\m ]]
++ shift
++ [[ bonding == \i\n\i\t\i\o ]]
++ shift
++ [[ bonding == \a\t\p\8\7\0\u ]]
++ shift
++ [[ bonding == \h\p\t\i\o\p ]]
++ shift
++ [[ bonding == \q\l\a\2\x\x\x ]]
++ shift
++ [[ bonding == \f\n\i\c ]]
++ shift
++ [[ bonding == \b\f\a ]]
++ shift
++ [[ bonding == \m\v\s\a\s ]]
++ shift
++ [[ bonding == \s\g ]]
++ shift
++ [[ bonding == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ bonding == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ bonding == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ bonding == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ bonding == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ bonding == \s\c\s\i\_\d\h ]]
++ shift
++ [[ bonding == \3\w\-\9\x\x\x ]]
++ shift
++ [[ bonding == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ bonding == \3\w\-\s\a\s ]]
++ shift
++ [[ bonding == \l\p\f\c ]]
++ shift
++ [[ bonding == \m\p\t\2\s\a\s ]]
++ shift
++ [[ bonding == \l\i\b\s\a\s ]]
++ shift
++ [[ bonding == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ bonding == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ bonding == \a\i\c\7\x\x\x ]]
++ shift
++ [[ bonding == \a\i\c\7\9\x\x ]]
++ shift
++ [[ bonding == \s\t\e\x ]]
++ shift
++ [[ bonding == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ bonding == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ bonding == \a\i\c\9\4\x\x ]]
++ shift
++ [[ bonding == \b\n\x\2\i ]]
++ shift
++ [[ bonding == \s\r\_\m\o\d ]]
++ shift
++ [[ bonding == \s\t ]]
++ shift
++ [[ bonding == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ bonding == \i\p\s ]]
++ shift
++ [[ bonding == \a\r\c\m\s\r ]]
++ shift
++ [[ bonding == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ bonding == \c\x\g\b\4\i ]]
++ shift
++ [[ bonding == \c\x\g\b\3\i ]]
++ shift
++ [[ bonding == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ bonding == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ bonding == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ipv6 cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=ipv6
++ shift
++ [[ ipv6 == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ipv6 == \c\c\i\s\s ]]
++ shift
++ [[ ipv6 == \D\A\C\9\6\0 ]]
++ shift
++ [[ ipv6 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ipv6 == \s\x\8 ]]
++ shift
++ [[ ipv6 == \n\b\d ]]
++ shift
++ [[ ipv6 == \a\o\e ]]
++ shift
++ [[ ipv6 == \f\l\o\p\p\y ]]
++ shift
++ [[ ipv6 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ipv6 == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ ipv6 == \l\o\o\p ]]
++ shift
++ [[ ipv6 == \p\g ]]
++ shift
++ [[ ipv6 == \o\n\2\6 ]]
++ shift
++ [[ ipv6 == \o\n\2\0 ]]
++ shift
++ [[ ipv6 == \f\i\t\2 ]]
++ shift
++ [[ ipv6 == \k\t\t\i ]]
++ shift
++ [[ ipv6 == \p\t ]]
++ shift
++ [[ ipv6 == \p\a\r\i\d\e ]]
++ shift
++ [[ ipv6 == \p\c\d ]]
++ shift
++ [[ ipv6 == \e\p\a\t ]]
++ shift
++ [[ ipv6 == \p\f ]]
++ shift
++ [[ ipv6 == \k\b\i\c ]]
++ shift
++ [[ ipv6 == \e\p\i\a ]]
++ shift
++ [[ ipv6 == \f\i\t\3 ]]
++ shift
++ [[ ipv6 == \f\r\p\w ]]
++ shift
++ [[ ipv6 == \p\d ]]
++ shift
++ [[ ipv6 == \d\s\t\r ]]
++ shift
++ [[ ipv6 == \c\o\m\m ]]
++ shift
++ [[ ipv6 == \b\p\c\k ]]
++ shift
++ [[ ipv6 == \f\r\i\q ]]
++ shift
++ [[ ipv6 == \a\t\e\n ]]
++ shift
++ [[ ipv6 == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ipv6 == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ ipv6 == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ ipv6 == \i\d\e\-\c\d ]]
++ shift
++ [[ ipv6 == \i\d\e\-\c\s ]]
++ shift
++ [[ ipv6 == \l\i\b\a\t\a ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ipv6 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ipv6 == \a\h\c\i ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ipv6 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ipv6 == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ ipv6 == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ ipv6 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ ipv6 == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ ipv6 == \d\m\-\l\o\g ]]
++ shift
++ [[ ipv6 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ ipv6 == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ ipv6 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ipv6 == \r\a\i\d\1\0 ]]
++ shift
++ [[ ipv6 == \f\a\u\l\t\y ]]
++ shift
++ [[ ipv6 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ ipv6 == \r\a\i\d\1 ]]
++ shift
++ [[ ipv6 == \d\m\-\e\m\c ]]
++ shift
++ [[ ipv6 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ ipv6 == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ ipv6 == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ipv6 == \d\m\-\r\d\a\c ]]
++ shift
++ [[ ipv6 == \x\o\r ]]
++ shift
++ [[ ipv6 == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ ipv6 == \d\m\-\m\o\d ]]
++ shift
++ [[ ipv6 == \l\i\n\e\a\r ]]
++ shift
++ [[ ipv6 == \r\a\i\d\0 ]]
++ shift
++ [[ ipv6 == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ ipv6 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ ipv6 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ ipv6 == \m\p\t\l\a\n ]]
++ shift
++ [[ ipv6 == \m\p\t\f\c ]]
++ shift
++ [[ ipv6 == \m\p\t\s\p\i ]]
++ shift
++ [[ ipv6 == \m\p\t\s\a\s ]]
++ shift
++ [[ ipv6 == \m\p\t\c\t\l ]]
++ shift
++ [[ ipv6 == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ ipv6 == \i\2\o\_\b\u\s ]]
++ shift
++ [[ ipv6 == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ ipv6 == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ ipv6 == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ ipv6 == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ ipv6 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ ipv6 == \c\h ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ ipv6 == \p\p\a ]]
++ shift
++ [[ ipv6 == \i\s\c\i ]]
++ shift
++ [[ ipv6 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ ipv6 == \s\e\s ]]
++ shift
++ [[ ipv6 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ ipv6 == \l\i\b\f\c ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ ipv6 == \d\c\3\9\5\x ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ ipv6 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ ipv6 == \g\d\t\h ]]
++ shift
++ [[ ipv6 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ ipv6 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ ipv6 == \f\c\o\e ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ ipv6 == \o\s\s\t ]]
++ shift
++ [[ ipv6 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ipv6 == \s\d\_\m\o\d ]]
++ shift
++ [[ ipv6 == \i\m\m ]]
++ shift
++ [[ ipv6 == \i\n\i\t\i\o ]]
++ shift
++ [[ ipv6 == \a\t\p\8\7\0\u ]]
++ shift
++ [[ ipv6 == \h\p\t\i\o\p ]]
++ shift
++ [[ ipv6 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ ipv6 == \f\n\i\c ]]
++ shift
++ [[ ipv6 == \b\f\a ]]
++ shift
++ [[ ipv6 == \m\v\s\a\s ]]
++ shift
++ [[ ipv6 == \s\g ]]
++ shift
++ [[ ipv6 == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h ]]
++ shift
++ [[ ipv6 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ ipv6 == \3\w\-\s\a\s ]]
++ shift
++ [[ ipv6 == \l\p\f\c ]]
++ shift
++ [[ ipv6 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ ipv6 == \l\i\b\s\a\s ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ ipv6 == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ ipv6 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ ipv6 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ ipv6 == \s\t\e\x ]]
++ shift
++ [[ ipv6 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ ipv6 == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ ipv6 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ ipv6 == \b\n\x\2\i ]]
++ shift
++ [[ ipv6 == \s\r\_\m\o\d ]]
++ shift
++ [[ ipv6 == \s\t ]]
++ shift
++ [[ ipv6 == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ ipv6 == \i\p\s ]]
++ shift
++ [[ ipv6 == \a\r\c\m\s\r ]]
++ shift
++ [[ ipv6 == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ ipv6 == \c\x\g\b\4\i ]]
++ shift
++ [[ ipv6 == \c\x\g\b\3\i ]]
++ shift
++ [[ ipv6 == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ ipv6 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ ipv6 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray xfrm_nalgo cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=xfrm_nalgo
++ shift
++ [[ xfrm_nalgo == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ xfrm_nalgo == \c\c\i\s\s ]]
++ shift
++ [[ xfrm_nalgo == \D\A\C\9\6\0 ]]
++ shift
++ [[ xfrm_nalgo == \p\k\t\c\d\v\d ]]
++ shift
++ [[ xfrm_nalgo == \s\x\8 ]]
++ shift
++ [[ xfrm_nalgo == \n\b\d ]]
++ shift
++ [[ xfrm_nalgo == \a\o\e ]]
++ shift
++ [[ xfrm_nalgo == \f\l\o\p\p\y ]]
++ shift
++ [[ xfrm_nalgo == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ xfrm_nalgo == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ xfrm_nalgo == \l\o\o\p ]]
++ shift
++ [[ xfrm_nalgo == \p\g ]]
++ shift
++ [[ xfrm_nalgo == \o\n\2\6 ]]
++ shift
++ [[ xfrm_nalgo == \o\n\2\0 ]]
++ shift
++ [[ xfrm_nalgo == \f\i\t\2 ]]
++ shift
++ [[ xfrm_nalgo == \k\t\t\i ]]
++ shift
++ [[ xfrm_nalgo == \p\t ]]
++ shift
++ [[ xfrm_nalgo == \p\a\r\i\d\e ]]
++ shift
++ [[ xfrm_nalgo == \p\c\d ]]
++ shift
++ [[ xfrm_nalgo == \e\p\a\t ]]
++ shift
++ [[ xfrm_nalgo == \p\f ]]
++ shift
++ [[ xfrm_nalgo == \k\b\i\c ]]
++ shift
++ [[ xfrm_nalgo == \e\p\i\a ]]
++ shift
++ [[ xfrm_nalgo == \f\i\t\3 ]]
++ shift
++ [[ xfrm_nalgo == \f\r\p\w ]]
++ shift
++ [[ xfrm_nalgo == \p\d ]]
++ shift
++ [[ xfrm_nalgo == \d\s\t\r ]]
++ shift
++ [[ xfrm_nalgo == \c\o\m\m ]]
++ shift
++ [[ xfrm_nalgo == \b\p\c\k ]]
++ shift
++ [[ xfrm_nalgo == \f\r\i\q ]]
++ shift
++ [[ xfrm_nalgo == \a\t\e\n ]]
++ shift
++ [[ xfrm_nalgo == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ xfrm_nalgo == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ xfrm_nalgo == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ xfrm_nalgo == \i\d\e\-\c\d ]]
++ shift
++ [[ xfrm_nalgo == \i\d\e\-\c\s ]]
++ shift
++ [[ xfrm_nalgo == \l\i\b\a\t\a ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ xfrm_nalgo == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ xfrm_nalgo == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ xfrm_nalgo == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ xfrm_nalgo == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ xfrm_nalgo == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\m\v ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ xfrm_nalgo == \a\h\c\i ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ xfrm_nalgo == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\n\v ]]
++ shift
++ [[ xfrm_nalgo == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\z\e\r\o ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\l\o\g ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ xfrm_nalgo == \r\a\i\d\1\0 ]]
++ shift
++ [[ xfrm_nalgo == \f\a\u\l\t\y ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ xfrm_nalgo == \r\a\i\d\1 ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\e\m\c ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ xfrm_nalgo == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\r\d\a\c ]]
++ shift
++ [[ xfrm_nalgo == \x\o\r ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ xfrm_nalgo == \d\m\-\m\o\d ]]
++ shift
++ [[ xfrm_nalgo == \l\i\n\e\a\r ]]
++ shift
++ [[ xfrm_nalgo == \r\a\i\d\0 ]]
++ shift
++ [[ xfrm_nalgo == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ xfrm_nalgo == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ xfrm_nalgo == \m\p\t\b\a\s\e ]]
++ shift
++ [[ xfrm_nalgo == \m\p\t\l\a\n ]]
++ shift
++ [[ xfrm_nalgo == \m\p\t\f\c ]]
++ shift
++ [[ xfrm_nalgo == \m\p\t\s\p\i ]]
++ shift
++ [[ xfrm_nalgo == \m\p\t\s\a\s ]]
++ shift
++ [[ xfrm_nalgo == \m\p\t\c\t\l ]]
++ shift
++ [[ xfrm_nalgo == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ xfrm_nalgo == \i\2\o\_\b\u\s ]]
++ shift
++ [[ xfrm_nalgo == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ xfrm_nalgo == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ xfrm_nalgo == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ xfrm_nalgo == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ xfrm_nalgo == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ xfrm_nalgo == \c\h ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ xfrm_nalgo == \p\p\a ]]
++ shift
++ [[ xfrm_nalgo == \i\s\c\i ]]
++ shift
++ [[ xfrm_nalgo == \3\w\-\x\x\x\x ]]
++ shift
++ [[ xfrm_nalgo == \s\e\s ]]
++ shift
++ [[ xfrm_nalgo == \p\m\c\r\a\i\d ]]
++ shift
++ [[ xfrm_nalgo == \l\i\b\f\c ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ xfrm_nalgo == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ xfrm_nalgo == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ xfrm_nalgo == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ xfrm_nalgo == \d\c\3\9\5\x ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ xfrm_nalgo == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ xfrm_nalgo == \g\d\t\h ]]
++ shift
++ [[ xfrm_nalgo == \a\a\c\r\a\i\d ]]
++ shift
++ [[ xfrm_nalgo == \l\i\b\f\c\o\e ]]
++ shift
++ [[ xfrm_nalgo == \f\c\o\e ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ xfrm_nalgo == \o\s\s\t ]]
++ shift
++ [[ xfrm_nalgo == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ xfrm_nalgo == \s\d\_\m\o\d ]]
++ shift
++ [[ xfrm_nalgo == \i\m\m ]]
++ shift
++ [[ xfrm_nalgo == \i\n\i\t\i\o ]]
++ shift
++ [[ xfrm_nalgo == \a\t\p\8\7\0\u ]]
++ shift
++ [[ xfrm_nalgo == \h\p\t\i\o\p ]]
++ shift
++ [[ xfrm_nalgo == \q\l\a\2\x\x\x ]]
++ shift
++ [[ xfrm_nalgo == \f\n\i\c ]]
++ shift
++ [[ xfrm_nalgo == \b\f\a ]]
++ shift
++ [[ xfrm_nalgo == \m\v\s\a\s ]]
++ shift
++ [[ xfrm_nalgo == \s\g ]]
++ shift
++ [[ xfrm_nalgo == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\d\h ]]
++ shift
++ [[ xfrm_nalgo == \3\w\-\9\x\x\x ]]
++ shift
++ [[ xfrm_nalgo == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ xfrm_nalgo == \3\w\-\s\a\s ]]
++ shift
++ [[ xfrm_nalgo == \l\p\f\c ]]
++ shift
++ [[ xfrm_nalgo == \m\p\t\2\s\a\s ]]
++ shift
++ [[ xfrm_nalgo == \l\i\b\s\a\s ]]
++ shift
++ [[ xfrm_nalgo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ xfrm_nalgo == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ xfrm_nalgo == \a\i\c\7\x\x\x ]]
++ shift
++ [[ xfrm_nalgo == \a\i\c\7\9\x\x ]]
++ shift
++ [[ xfrm_nalgo == \s\t\e\x ]]
++ shift
++ [[ xfrm_nalgo == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ xfrm_nalgo == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ xfrm_nalgo == \a\i\c\9\4\x\x ]]
++ shift
++ [[ xfrm_nalgo == \b\n\x\2\i ]]
++ shift
++ [[ xfrm_nalgo == \s\r\_\m\o\d ]]
++ shift
++ [[ xfrm_nalgo == \s\t ]]
++ shift
++ [[ xfrm_nalgo == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ xfrm_nalgo == \i\p\s ]]
++ shift
++ [[ xfrm_nalgo == \a\r\c\m\s\r ]]
++ shift
++ [[ xfrm_nalgo == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ xfrm_nalgo == \c\x\g\b\4\i ]]
++ shift
++ [[ xfrm_nalgo == \c\x\g\b\3\i ]]
++ shift
++ [[ xfrm_nalgo == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ xfrm_nalgo == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ xfrm_nalgo == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray crypto_api cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=crypto_api
++ shift
++ [[ crypto_api == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ crypto_api == \c\c\i\s\s ]]
++ shift
++ [[ crypto_api == \D\A\C\9\6\0 ]]
++ shift
++ [[ crypto_api == \p\k\t\c\d\v\d ]]
++ shift
++ [[ crypto_api == \s\x\8 ]]
++ shift
++ [[ crypto_api == \n\b\d ]]
++ shift
++ [[ crypto_api == \a\o\e ]]
++ shift
++ [[ crypto_api == \f\l\o\p\p\y ]]
++ shift
++ [[ crypto_api == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ crypto_api == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ crypto_api == \l\o\o\p ]]
++ shift
++ [[ crypto_api == \p\g ]]
++ shift
++ [[ crypto_api == \o\n\2\6 ]]
++ shift
++ [[ crypto_api == \o\n\2\0 ]]
++ shift
++ [[ crypto_api == \f\i\t\2 ]]
++ shift
++ [[ crypto_api == \k\t\t\i ]]
++ shift
++ [[ crypto_api == \p\t ]]
++ shift
++ [[ crypto_api == \p\a\r\i\d\e ]]
++ shift
++ [[ crypto_api == \p\c\d ]]
++ shift
++ [[ crypto_api == \e\p\a\t ]]
++ shift
++ [[ crypto_api == \p\f ]]
++ shift
++ [[ crypto_api == \k\b\i\c ]]
++ shift
++ [[ crypto_api == \e\p\i\a ]]
++ shift
++ [[ crypto_api == \f\i\t\3 ]]
++ shift
++ [[ crypto_api == \f\r\p\w ]]
++ shift
++ [[ crypto_api == \p\d ]]
++ shift
++ [[ crypto_api == \d\s\t\r ]]
++ shift
++ [[ crypto_api == \c\o\m\m ]]
++ shift
++ [[ crypto_api == \b\p\c\k ]]
++ shift
++ [[ crypto_api == \f\r\i\q ]]
++ shift
++ [[ crypto_api == \a\t\e\n ]]
++ shift
++ [[ crypto_api == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ crypto_api == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ crypto_api == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ crypto_api == \i\d\e\-\c\d ]]
++ shift
++ [[ crypto_api == \i\d\e\-\c\s ]]
++ shift
++ [[ crypto_api == \l\i\b\a\t\a ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ crypto_api == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ crypto_api == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ crypto_api == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ crypto_api == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ crypto_api == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\m\v ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ crypto_api == \a\h\c\i ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ crypto_api == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\n\v ]]
++ shift
++ [[ crypto_api == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ crypto_api == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ crypto_api == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ crypto_api == \d\m\-\z\e\r\o ]]
++ shift
++ [[ crypto_api == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ crypto_api == \d\m\-\l\o\g ]]
++ shift
++ [[ crypto_api == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ crypto_api == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ crypto_api == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ crypto_api == \r\a\i\d\1\0 ]]
++ shift
++ [[ crypto_api == \f\a\u\l\t\y ]]
++ shift
++ [[ crypto_api == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ crypto_api == \r\a\i\d\1 ]]
++ shift
++ [[ crypto_api == \d\m\-\e\m\c ]]
++ shift
++ [[ crypto_api == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ crypto_api == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ crypto_api == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ crypto_api == \d\m\-\r\d\a\c ]]
++ shift
++ [[ crypto_api == \x\o\r ]]
++ shift
++ [[ crypto_api == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ crypto_api == \d\m\-\m\o\d ]]
++ shift
++ [[ crypto_api == \l\i\n\e\a\r ]]
++ shift
++ [[ crypto_api == \r\a\i\d\0 ]]
++ shift
++ [[ crypto_api == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ crypto_api == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ crypto_api == \m\p\t\b\a\s\e ]]
++ shift
++ [[ crypto_api == \m\p\t\l\a\n ]]
++ shift
++ [[ crypto_api == \m\p\t\f\c ]]
++ shift
++ [[ crypto_api == \m\p\t\s\p\i ]]
++ shift
++ [[ crypto_api == \m\p\t\s\a\s ]]
++ shift
++ [[ crypto_api == \m\p\t\c\t\l ]]
++ shift
++ [[ crypto_api == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ crypto_api == \i\2\o\_\b\u\s ]]
++ shift
++ [[ crypto_api == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ crypto_api == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ crypto_api == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ crypto_api == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ crypto_api == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ crypto_api == \c\h ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ crypto_api == \p\p\a ]]
++ shift
++ [[ crypto_api == \i\s\c\i ]]
++ shift
++ [[ crypto_api == \3\w\-\x\x\x\x ]]
++ shift
++ [[ crypto_api == \s\e\s ]]
++ shift
++ [[ crypto_api == \p\m\c\r\a\i\d ]]
++ shift
++ [[ crypto_api == \l\i\b\f\c ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ crypto_api == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ crypto_api == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ crypto_api == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ crypto_api == \d\c\3\9\5\x ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ crypto_api == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ crypto_api == \g\d\t\h ]]
++ shift
++ [[ crypto_api == \a\a\c\r\a\i\d ]]
++ shift
++ [[ crypto_api == \l\i\b\f\c\o\e ]]
++ shift
++ [[ crypto_api == \f\c\o\e ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ crypto_api == \o\s\s\t ]]
++ shift
++ [[ crypto_api == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ crypto_api == \s\d\_\m\o\d ]]
++ shift
++ [[ crypto_api == \i\m\m ]]
++ shift
++ [[ crypto_api == \i\n\i\t\i\o ]]
++ shift
++ [[ crypto_api == \a\t\p\8\7\0\u ]]
++ shift
++ [[ crypto_api == \h\p\t\i\o\p ]]
++ shift
++ [[ crypto_api == \q\l\a\2\x\x\x ]]
++ shift
++ [[ crypto_api == \f\n\i\c ]]
++ shift
++ [[ crypto_api == \b\f\a ]]
++ shift
++ [[ crypto_api == \m\v\s\a\s ]]
++ shift
++ [[ crypto_api == \s\g ]]
++ shift
++ [[ crypto_api == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\d\h ]]
++ shift
++ [[ crypto_api == \3\w\-\9\x\x\x ]]
++ shift
++ [[ crypto_api == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ crypto_api == \3\w\-\s\a\s ]]
++ shift
++ [[ crypto_api == \l\p\f\c ]]
++ shift
++ [[ crypto_api == \m\p\t\2\s\a\s ]]
++ shift
++ [[ crypto_api == \l\i\b\s\a\s ]]
++ shift
++ [[ crypto_api == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ crypto_api == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ crypto_api == \a\i\c\7\x\x\x ]]
++ shift
++ [[ crypto_api == \a\i\c\7\9\x\x ]]
++ shift
++ [[ crypto_api == \s\t\e\x ]]
++ shift
++ [[ crypto_api == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ crypto_api == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ crypto_api == \a\i\c\9\4\x\x ]]
++ shift
++ [[ crypto_api == \b\n\x\2\i ]]
++ shift
++ [[ crypto_api == \s\r\_\m\o\d ]]
++ shift
++ [[ crypto_api == \s\t ]]
++ shift
++ [[ crypto_api == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ crypto_api == \i\p\s ]]
++ shift
++ [[ crypto_api == \a\r\c\m\s\r ]]
++ shift
++ [[ crypto_api == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ crypto_api == \c\x\g\b\4\i ]]
++ shift
++ [[ crypto_api == \c\x\g\b\3\i ]]
++ shift
++ [[ crypto_api == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ crypto_api == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ crypto_api == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray dm_mod cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=dm_mod
++ shift
++ [[ dm_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ dm_mod == \c\c\i\s\s ]]
++ shift
++ [[ dm_mod == \D\A\C\9\6\0 ]]
++ shift
++ [[ dm_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ dm_mod == \s\x\8 ]]
++ shift
++ [[ dm_mod == \n\b\d ]]
++ shift
++ [[ dm_mod == \a\o\e ]]
++ shift
++ [[ dm_mod == \f\l\o\p\p\y ]]
++ shift
++ [[ dm_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ dm_mod == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ dm_mod == \l\o\o\p ]]
++ shift
++ [[ dm_mod == \p\g ]]
++ shift
++ [[ dm_mod == \o\n\2\6 ]]
++ shift
++ [[ dm_mod == \o\n\2\0 ]]
++ shift
++ [[ dm_mod == \f\i\t\2 ]]
++ shift
++ [[ dm_mod == \k\t\t\i ]]
++ shift
++ [[ dm_mod == \p\t ]]
++ shift
++ [[ dm_mod == \p\a\r\i\d\e ]]
++ shift
++ [[ dm_mod == \p\c\d ]]
++ shift
++ [[ dm_mod == \e\p\a\t ]]
++ shift
++ [[ dm_mod == \p\f ]]
++ shift
++ [[ dm_mod == \k\b\i\c ]]
++ shift
++ [[ dm_mod == \e\p\i\a ]]
++ shift
++ [[ dm_mod == \f\i\t\3 ]]
++ shift
++ [[ dm_mod == \f\r\p\w ]]
++ shift
++ [[ dm_mod == \p\d ]]
++ shift
++ [[ dm_mod == \d\s\t\r ]]
++ shift
++ [[ dm_mod == \c\o\m\m ]]
++ shift
++ [[ dm_mod == \b\p\c\k ]]
++ shift
++ [[ dm_mod == \f\r\i\q ]]
++ shift
++ [[ dm_mod == \a\t\e\n ]]
++ shift
++ [[ dm_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ dm_mod == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ dm_mod == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ dm_mod == \i\d\e\-\c\d ]]
++ shift
++ [[ dm_mod == \i\d\e\-\c\s ]]
++ shift
++ [[ dm_mod == \l\i\b\a\t\a ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ dm_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ dm_mod == \a\h\c\i ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ dm_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ dm_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ dm_mod == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ dm_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ dm_mod == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ dm_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ dm_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ dm_mod == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ dm_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ dm_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ dm_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ dm_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ dm_mod == \r\a\i\d\1 ]]
++ shift
++ [[ dm_mod == \d\m\-\e\m\c ]]
++ shift
++ [[ dm_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ dm_mod == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ dm_mod == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ dm_mod == \d\m\-\r\d\a\c ]]
++ shift
++ [[ dm_mod == \x\o\r ]]
++ shift
++ [[ dm_mod == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ dm_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ dm_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ dm_mod == \r\a\i\d\0 ]]
++ shift
++ [[ dm_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ dm_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ dm_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ dm_mod == \m\p\t\l\a\n ]]
++ shift
++ [[ dm_mod == \m\p\t\f\c ]]
++ shift
++ [[ dm_mod == \m\p\t\s\p\i ]]
++ shift
++ [[ dm_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ dm_mod == \m\p\t\c\t\l ]]
++ shift
++ [[ dm_mod == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ dm_mod == \i\2\o\_\b\u\s ]]
++ shift
++ [[ dm_mod == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ dm_mod == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ dm_mod == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ dm_mod == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ dm_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ dm_mod == \c\h ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ dm_mod == \p\p\a ]]
++ shift
++ [[ dm_mod == \i\s\c\i ]]
++ shift
++ [[ dm_mod == \3\w\-\x\x\x\x ]]
++ shift
++ [[ dm_mod == \s\e\s ]]
++ shift
++ [[ dm_mod == \p\m\c\r\a\i\d ]]
++ shift
++ [[ dm_mod == \l\i\b\f\c ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ dm_mod == \d\c\3\9\5\x ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ dm_mod == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ dm_mod == \g\d\t\h ]]
++ shift
++ [[ dm_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ dm_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ dm_mod == \f\c\o\e ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ dm_mod == \o\s\s\t ]]
++ shift
++ [[ dm_mod == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ dm_mod == \s\d\_\m\o\d ]]
++ shift
++ [[ dm_mod == \i\m\m ]]
++ shift
++ [[ dm_mod == \i\n\i\t\i\o ]]
++ shift
++ [[ dm_mod == \a\t\p\8\7\0\u ]]
++ shift
++ [[ dm_mod == \h\p\t\i\o\p ]]
++ shift
++ [[ dm_mod == \q\l\a\2\x\x\x ]]
++ shift
++ [[ dm_mod == \f\n\i\c ]]
++ shift
++ [[ dm_mod == \b\f\a ]]
++ shift
++ [[ dm_mod == \m\v\s\a\s ]]
++ shift
++ [[ dm_mod == \s\g ]]
++ shift
++ [[ dm_mod == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h ]]
++ shift
++ [[ dm_mod == \3\w\-\9\x\x\x ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ dm_mod == \3\w\-\s\a\s ]]
++ shift
++ [[ dm_mod == \l\p\f\c ]]
++ shift
++ [[ dm_mod == \m\p\t\2\s\a\s ]]
++ shift
++ [[ dm_mod == \l\i\b\s\a\s ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ dm_mod == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ dm_mod == \a\i\c\7\x\x\x ]]
++ shift
++ [[ dm_mod == \a\i\c\7\9\x\x ]]
++ shift
++ [[ dm_mod == \s\t\e\x ]]
++ shift
++ [[ dm_mod == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ dm_mod == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ dm_mod == \a\i\c\9\4\x\x ]]
++ shift
++ [[ dm_mod == \b\n\x\2\i ]]
++ shift
++ [[ dm_mod == \s\r\_\m\o\d ]]
++ shift
++ [[ dm_mod == \s\t ]]
++ shift
++ [[ dm_mod == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ dm_mod == \i\p\s ]]
++ shift
++ [[ dm_mod == \a\r\c\m\s\r ]]
++ shift
++ [[ dm_mod == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ dm_mod == \c\x\g\b\4\i ]]
++ shift
++ [[ dm_mod == \c\x\g\b\3\i ]]
++ shift
++ [[ dm_mod == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ dm_mod == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ dm_mod == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray sr_mod cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=sr_mod
++ shift
++ [[ sr_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sr_mod == \c\c\i\s\s ]]
++ shift
++ [[ sr_mod == \D\A\C\9\6\0 ]]
++ shift
++ [[ sr_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sr_mod == \s\x\8 ]]
++ shift
++ [[ sr_mod == \n\b\d ]]
++ shift
++ [[ sr_mod == \a\o\e ]]
++ shift
++ [[ sr_mod == \f\l\o\p\p\y ]]
++ shift
++ [[ sr_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sr_mod == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ sr_mod == \l\o\o\p ]]
++ shift
++ [[ sr_mod == \p\g ]]
++ shift
++ [[ sr_mod == \o\n\2\6 ]]
++ shift
++ [[ sr_mod == \o\n\2\0 ]]
++ shift
++ [[ sr_mod == \f\i\t\2 ]]
++ shift
++ [[ sr_mod == \k\t\t\i ]]
++ shift
++ [[ sr_mod == \p\t ]]
++ shift
++ [[ sr_mod == \p\a\r\i\d\e ]]
++ shift
++ [[ sr_mod == \p\c\d ]]
++ shift
++ [[ sr_mod == \e\p\a\t ]]
++ shift
++ [[ sr_mod == \p\f ]]
++ shift
++ [[ sr_mod == \k\b\i\c ]]
++ shift
++ [[ sr_mod == \e\p\i\a ]]
++ shift
++ [[ sr_mod == \f\i\t\3 ]]
++ shift
++ [[ sr_mod == \f\r\p\w ]]
++ shift
++ [[ sr_mod == \p\d ]]
++ shift
++ [[ sr_mod == \d\s\t\r ]]
++ shift
++ [[ sr_mod == \c\o\m\m ]]
++ shift
++ [[ sr_mod == \b\p\c\k ]]
++ shift
++ [[ sr_mod == \f\r\i\q ]]
++ shift
++ [[ sr_mod == \a\t\e\n ]]
++ shift
++ [[ sr_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sr_mod == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ sr_mod == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ sr_mod == \i\d\e\-\c\d ]]
++ shift
++ [[ sr_mod == \i\d\e\-\c\s ]]
++ shift
++ [[ sr_mod == \l\i\b\a\t\a ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sr_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sr_mod == \a\h\c\i ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sr_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sr_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sr_mod == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ sr_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sr_mod == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ sr_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ sr_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sr_mod == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ sr_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sr_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ sr_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ sr_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sr_mod == \r\a\i\d\1 ]]
++ shift
++ [[ sr_mod == \d\m\-\e\m\c ]]
++ shift
++ [[ sr_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sr_mod == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ sr_mod == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sr_mod == \d\m\-\r\d\a\c ]]
++ shift
++ [[ sr_mod == \x\o\r ]]
++ shift
++ [[ sr_mod == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ sr_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ sr_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ sr_mod == \r\a\i\d\0 ]]
++ shift
++ [[ sr_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sr_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sr_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sr_mod == \m\p\t\l\a\n ]]
++ shift
++ [[ sr_mod == \m\p\t\f\c ]]
++ shift
++ [[ sr_mod == \m\p\t\s\p\i ]]
++ shift
++ [[ sr_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ sr_mod == \m\p\t\c\t\l ]]
++ shift
++ [[ sr_mod == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ sr_mod == \i\2\o\_\b\u\s ]]
++ shift
++ [[ sr_mod == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ sr_mod == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ sr_mod == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ sr_mod == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ sr_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ sr_mod == \c\h ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ sr_mod == \p\p\a ]]
++ shift
++ [[ sr_mod == \i\s\c\i ]]
++ shift
++ [[ sr_mod == \3\w\-\x\x\x\x ]]
++ shift
++ [[ sr_mod == \s\e\s ]]
++ shift
++ [[ sr_mod == \p\m\c\r\a\i\d ]]
++ shift
++ [[ sr_mod == \l\i\b\f\c ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sr_mod == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ sr_mod == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ sr_mod == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ sr_mod == \d\c\3\9\5\x ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ sr_mod == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ sr_mod == \g\d\t\h ]]
++ shift
++ [[ sr_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sr_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ sr_mod == \f\c\o\e ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ sr_mod == \o\s\s\t ]]
++ shift
++ [[ sr_mod == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sr_mod == \s\d\_\m\o\d ]]
++ shift
++ [[ sr_mod == \i\m\m ]]
++ shift
++ [[ sr_mod == \i\n\i\t\i\o ]]
++ shift
++ [[ sr_mod == \a\t\p\8\7\0\u ]]
++ shift
++ [[ sr_mod == \h\p\t\i\o\p ]]
++ shift
++ [[ sr_mod == \q\l\a\2\x\x\x ]]
++ shift
++ [[ sr_mod == \f\n\i\c ]]
++ shift
++ [[ sr_mod == \b\f\a ]]
++ shift
++ [[ sr_mod == \m\v\s\a\s ]]
++ shift
++ [[ sr_mod == \s\g ]]
++ shift
++ [[ sr_mod == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\d\h ]]
++ shift
++ [[ sr_mod == \3\w\-\9\x\x\x ]]
++ shift
++ [[ sr_mod == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ sr_mod == \3\w\-\s\a\s ]]
++ shift
++ [[ sr_mod == \l\p\f\c ]]
++ shift
++ [[ sr_mod == \m\p\t\2\s\a\s ]]
++ shift
++ [[ sr_mod == \l\i\b\s\a\s ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ sr_mod == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ sr_mod == \a\i\c\7\x\x\x ]]
++ shift
++ [[ sr_mod == \a\i\c\7\9\x\x ]]
++ shift
++ [[ sr_mod == \s\t\e\x ]]
++ shift
++ [[ sr_mod == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ sr_mod == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ sr_mod == \a\i\c\9\4\x\x ]]
++ shift
++ [[ sr_mod == \b\n\x\2\i ]]
++ shift
++ [[ sr_mod == \s\r\_\m\o\d ]]
++ return 0
++ echo sr_mod
++ read module junk
++ IsInArray cdrom cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=cdrom
++ shift
++ [[ cdrom == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ cdrom == \c\c\i\s\s ]]
++ shift
++ [[ cdrom == \D\A\C\9\6\0 ]]
++ shift
++ [[ cdrom == \p\k\t\c\d\v\d ]]
++ shift
++ [[ cdrom == \s\x\8 ]]
++ shift
++ [[ cdrom == \n\b\d ]]
++ shift
++ [[ cdrom == \a\o\e ]]
++ shift
++ [[ cdrom == \f\l\o\p\p\y ]]
++ shift
++ [[ cdrom == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ cdrom == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ cdrom == \l\o\o\p ]]
++ shift
++ [[ cdrom == \p\g ]]
++ shift
++ [[ cdrom == \o\n\2\6 ]]
++ shift
++ [[ cdrom == \o\n\2\0 ]]
++ shift
++ [[ cdrom == \f\i\t\2 ]]
++ shift
++ [[ cdrom == \k\t\t\i ]]
++ shift
++ [[ cdrom == \p\t ]]
++ shift
++ [[ cdrom == \p\a\r\i\d\e ]]
++ shift
++ [[ cdrom == \p\c\d ]]
++ shift
++ [[ cdrom == \e\p\a\t ]]
++ shift
++ [[ cdrom == \p\f ]]
++ shift
++ [[ cdrom == \k\b\i\c ]]
++ shift
++ [[ cdrom == \e\p\i\a ]]
++ shift
++ [[ cdrom == \f\i\t\3 ]]
++ shift
++ [[ cdrom == \f\r\p\w ]]
++ shift
++ [[ cdrom == \p\d ]]
++ shift
++ [[ cdrom == \d\s\t\r ]]
++ shift
++ [[ cdrom == \c\o\m\m ]]
++ shift
++ [[ cdrom == \b\p\c\k ]]
++ shift
++ [[ cdrom == \f\r\i\q ]]
++ shift
++ [[ cdrom == \a\t\e\n ]]
++ shift
++ [[ cdrom == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ cdrom == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ cdrom == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ cdrom == \i\d\e\-\c\d ]]
++ shift
++ [[ cdrom == \i\d\e\-\c\s ]]
++ shift
++ [[ cdrom == \l\i\b\a\t\a ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ cdrom == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\m\v ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ cdrom == \a\h\c\i ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ cdrom == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\n\v ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ cdrom == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ cdrom == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ cdrom == \d\m\-\z\e\r\o ]]
++ shift
++ [[ cdrom == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ cdrom == \d\m\-\l\o\g ]]
++ shift
++ [[ cdrom == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ cdrom == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ cdrom == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ cdrom == \r\a\i\d\1\0 ]]
++ shift
++ [[ cdrom == \f\a\u\l\t\y ]]
++ shift
++ [[ cdrom == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ cdrom == \r\a\i\d\1 ]]
++ shift
++ [[ cdrom == \d\m\-\e\m\c ]]
++ shift
++ [[ cdrom == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ cdrom == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ cdrom == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ cdrom == \d\m\-\r\d\a\c ]]
++ shift
++ [[ cdrom == \x\o\r ]]
++ shift
++ [[ cdrom == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ cdrom == \d\m\-\m\o\d ]]
++ shift
++ [[ cdrom == \l\i\n\e\a\r ]]
++ shift
++ [[ cdrom == \r\a\i\d\0 ]]
++ shift
++ [[ cdrom == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ cdrom == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ cdrom == \m\p\t\b\a\s\e ]]
++ shift
++ [[ cdrom == \m\p\t\l\a\n ]]
++ shift
++ [[ cdrom == \m\p\t\f\c ]]
++ shift
++ [[ cdrom == \m\p\t\s\p\i ]]
++ shift
++ [[ cdrom == \m\p\t\s\a\s ]]
++ shift
++ [[ cdrom == \m\p\t\c\t\l ]]
++ shift
++ [[ cdrom == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ cdrom == \i\2\o\_\b\u\s ]]
++ shift
++ [[ cdrom == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ cdrom == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ cdrom == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ cdrom == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ cdrom == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ cdrom == \c\h ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ cdrom == \p\p\a ]]
++ shift
++ [[ cdrom == \i\s\c\i ]]
++ shift
++ [[ cdrom == \3\w\-\x\x\x\x ]]
++ shift
++ [[ cdrom == \s\e\s ]]
++ shift
++ [[ cdrom == \p\m\c\r\a\i\d ]]
++ shift
++ [[ cdrom == \l\i\b\f\c ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ cdrom == \d\c\3\9\5\x ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ cdrom == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ cdrom == \g\d\t\h ]]
++ shift
++ [[ cdrom == \a\a\c\r\a\i\d ]]
++ shift
++ [[ cdrom == \l\i\b\f\c\o\e ]]
++ shift
++ [[ cdrom == \f\c\o\e ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ cdrom == \o\s\s\t ]]
++ shift
++ [[ cdrom == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ cdrom == \s\d\_\m\o\d ]]
++ shift
++ [[ cdrom == \i\m\m ]]
++ shift
++ [[ cdrom == \i\n\i\t\i\o ]]
++ shift
++ [[ cdrom == \a\t\p\8\7\0\u ]]
++ shift
++ [[ cdrom == \h\p\t\i\o\p ]]
++ shift
++ [[ cdrom == \q\l\a\2\x\x\x ]]
++ shift
++ [[ cdrom == \f\n\i\c ]]
++ shift
++ [[ cdrom == \b\f\a ]]
++ shift
++ [[ cdrom == \m\v\s\a\s ]]
++ shift
++ [[ cdrom == \s\g ]]
++ shift
++ [[ cdrom == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h ]]
++ shift
++ [[ cdrom == \3\w\-\9\x\x\x ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ cdrom == \3\w\-\s\a\s ]]
++ shift
++ [[ cdrom == \l\p\f\c ]]
++ shift
++ [[ cdrom == \m\p\t\2\s\a\s ]]
++ shift
++ [[ cdrom == \l\i\b\s\a\s ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ cdrom == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ cdrom == \a\i\c\7\x\x\x ]]
++ shift
++ [[ cdrom == \a\i\c\7\9\x\x ]]
++ shift
++ [[ cdrom == \s\t\e\x ]]
++ shift
++ [[ cdrom == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ cdrom == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ cdrom == \a\i\c\9\4\x\x ]]
++ shift
++ [[ cdrom == \b\n\x\2\i ]]
++ shift
++ [[ cdrom == \s\r\_\m\o\d ]]
++ shift
++ [[ cdrom == \s\t ]]
++ shift
++ [[ cdrom == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ cdrom == \i\p\s ]]
++ shift
++ [[ cdrom == \a\r\c\m\s\r ]]
++ shift
++ [[ cdrom == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ cdrom == \c\x\g\b\4\i ]]
++ shift
++ [[ cdrom == \c\x\g\b\3\i ]]
++ shift
++ [[ cdrom == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ cdrom == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ cdrom == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray sd_mod cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=sd_mod
++ shift
++ [[ sd_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sd_mod == \c\c\i\s\s ]]
++ shift
++ [[ sd_mod == \D\A\C\9\6\0 ]]
++ shift
++ [[ sd_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sd_mod == \s\x\8 ]]
++ shift
++ [[ sd_mod == \n\b\d ]]
++ shift
++ [[ sd_mod == \a\o\e ]]
++ shift
++ [[ sd_mod == \f\l\o\p\p\y ]]
++ shift
++ [[ sd_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sd_mod == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ sd_mod == \l\o\o\p ]]
++ shift
++ [[ sd_mod == \p\g ]]
++ shift
++ [[ sd_mod == \o\n\2\6 ]]
++ shift
++ [[ sd_mod == \o\n\2\0 ]]
++ shift
++ [[ sd_mod == \f\i\t\2 ]]
++ shift
++ [[ sd_mod == \k\t\t\i ]]
++ shift
++ [[ sd_mod == \p\t ]]
++ shift
++ [[ sd_mod == \p\a\r\i\d\e ]]
++ shift
++ [[ sd_mod == \p\c\d ]]
++ shift
++ [[ sd_mod == \e\p\a\t ]]
++ shift
++ [[ sd_mod == \p\f ]]
++ shift
++ [[ sd_mod == \k\b\i\c ]]
++ shift
++ [[ sd_mod == \e\p\i\a ]]
++ shift
++ [[ sd_mod == \f\i\t\3 ]]
++ shift
++ [[ sd_mod == \f\r\p\w ]]
++ shift
++ [[ sd_mod == \p\d ]]
++ shift
++ [[ sd_mod == \d\s\t\r ]]
++ shift
++ [[ sd_mod == \c\o\m\m ]]
++ shift
++ [[ sd_mod == \b\p\c\k ]]
++ shift
++ [[ sd_mod == \f\r\i\q ]]
++ shift
++ [[ sd_mod == \a\t\e\n ]]
++ shift
++ [[ sd_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sd_mod == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ sd_mod == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ sd_mod == \i\d\e\-\c\d ]]
++ shift
++ [[ sd_mod == \i\d\e\-\c\s ]]
++ shift
++ [[ sd_mod == \l\i\b\a\t\a ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sd_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sd_mod == \a\h\c\i ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sd_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sd_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sd_mod == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ sd_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sd_mod == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ sd_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ sd_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sd_mod == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ sd_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sd_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ sd_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ sd_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sd_mod == \r\a\i\d\1 ]]
++ shift
++ [[ sd_mod == \d\m\-\e\m\c ]]
++ shift
++ [[ sd_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sd_mod == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ sd_mod == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sd_mod == \d\m\-\r\d\a\c ]]
++ shift
++ [[ sd_mod == \x\o\r ]]
++ shift
++ [[ sd_mod == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ sd_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ sd_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ sd_mod == \r\a\i\d\0 ]]
++ shift
++ [[ sd_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sd_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sd_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sd_mod == \m\p\t\l\a\n ]]
++ shift
++ [[ sd_mod == \m\p\t\f\c ]]
++ shift
++ [[ sd_mod == \m\p\t\s\p\i ]]
++ shift
++ [[ sd_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ sd_mod == \m\p\t\c\t\l ]]
++ shift
++ [[ sd_mod == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ sd_mod == \i\2\o\_\b\u\s ]]
++ shift
++ [[ sd_mod == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ sd_mod == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ sd_mod == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ sd_mod == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ sd_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ sd_mod == \c\h ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ sd_mod == \p\p\a ]]
++ shift
++ [[ sd_mod == \i\s\c\i ]]
++ shift
++ [[ sd_mod == \3\w\-\x\x\x\x ]]
++ shift
++ [[ sd_mod == \s\e\s ]]
++ shift
++ [[ sd_mod == \p\m\c\r\a\i\d ]]
++ shift
++ [[ sd_mod == \l\i\b\f\c ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sd_mod == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ sd_mod == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ sd_mod == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ sd_mod == \d\c\3\9\5\x ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ sd_mod == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ sd_mod == \g\d\t\h ]]
++ shift
++ [[ sd_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sd_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ sd_mod == \f\c\o\e ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ sd_mod == \o\s\s\t ]]
++ shift
++ [[ sd_mod == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sd_mod == \s\d\_\m\o\d ]]
++ return 0
++ echo sd_mod
++ read module junk
++ IsInArray sg cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=sg
++ shift
++ [[ sg == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sg == \c\c\i\s\s ]]
++ shift
++ [[ sg == \D\A\C\9\6\0 ]]
++ shift
++ [[ sg == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sg == \s\x\8 ]]
++ shift
++ [[ sg == \n\b\d ]]
++ shift
++ [[ sg == \a\o\e ]]
++ shift
++ [[ sg == \f\l\o\p\p\y ]]
++ shift
++ [[ sg == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sg == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ sg == \l\o\o\p ]]
++ shift
++ [[ sg == \p\g ]]
++ shift
++ [[ sg == \o\n\2\6 ]]
++ shift
++ [[ sg == \o\n\2\0 ]]
++ shift
++ [[ sg == \f\i\t\2 ]]
++ shift
++ [[ sg == \k\t\t\i ]]
++ shift
++ [[ sg == \p\t ]]
++ shift
++ [[ sg == \p\a\r\i\d\e ]]
++ shift
++ [[ sg == \p\c\d ]]
++ shift
++ [[ sg == \e\p\a\t ]]
++ shift
++ [[ sg == \p\f ]]
++ shift
++ [[ sg == \k\b\i\c ]]
++ shift
++ [[ sg == \e\p\i\a ]]
++ shift
++ [[ sg == \f\i\t\3 ]]
++ shift
++ [[ sg == \f\r\p\w ]]
++ shift
++ [[ sg == \p\d ]]
++ shift
++ [[ sg == \d\s\t\r ]]
++ shift
++ [[ sg == \c\o\m\m ]]
++ shift
++ [[ sg == \b\p\c\k ]]
++ shift
++ [[ sg == \f\r\i\q ]]
++ shift
++ [[ sg == \a\t\e\n ]]
++ shift
++ [[ sg == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sg == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ sg == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ sg == \i\d\e\-\c\d ]]
++ shift
++ [[ sg == \i\d\e\-\c\s ]]
++ shift
++ [[ sg == \l\i\b\a\t\a ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sg == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sg == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sg == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sg == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sg == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ sg == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sg == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sg == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sg == \a\h\c\i ]]
++ shift
++ [[ sg == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sg == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sg == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sg == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sg == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sg == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ sg == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sg == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ sg == \d\m\-\l\o\g ]]
++ shift
++ [[ sg == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sg == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ sg == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sg == \r\a\i\d\1\0 ]]
++ shift
++ [[ sg == \f\a\u\l\t\y ]]
++ shift
++ [[ sg == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sg == \r\a\i\d\1 ]]
++ shift
++ [[ sg == \d\m\-\e\m\c ]]
++ shift
++ [[ sg == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sg == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ sg == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sg == \d\m\-\r\d\a\c ]]
++ shift
++ [[ sg == \x\o\r ]]
++ shift
++ [[ sg == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ sg == \d\m\-\m\o\d ]]
++ shift
++ [[ sg == \l\i\n\e\a\r ]]
++ shift
++ [[ sg == \r\a\i\d\0 ]]
++ shift
++ [[ sg == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sg == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sg == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sg == \m\p\t\l\a\n ]]
++ shift
++ [[ sg == \m\p\t\f\c ]]
++ shift
++ [[ sg == \m\p\t\s\p\i ]]
++ shift
++ [[ sg == \m\p\t\s\a\s ]]
++ shift
++ [[ sg == \m\p\t\c\t\l ]]
++ shift
++ [[ sg == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ sg == \i\2\o\_\b\u\s ]]
++ shift
++ [[ sg == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ sg == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ sg == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ sg == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ sg == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sg == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ sg == \c\h ]]
++ shift
++ [[ sg == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ sg == \p\p\a ]]
++ shift
++ [[ sg == \i\s\c\i ]]
++ shift
++ [[ sg == \3\w\-\x\x\x\x ]]
++ shift
++ [[ sg == \s\e\s ]]
++ shift
++ [[ sg == \p\m\c\r\a\i\d ]]
++ shift
++ [[ sg == \l\i\b\f\c ]]
++ shift
++ [[ sg == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sg == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ sg == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ sg == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ sg == \d\c\3\9\5\x ]]
++ shift
++ [[ sg == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ sg == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ sg == \g\d\t\h ]]
++ shift
++ [[ sg == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sg == \l\i\b\f\c\o\e ]]
++ shift
++ [[ sg == \f\c\o\e ]]
++ shift
++ [[ sg == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ sg == \o\s\s\t ]]
++ shift
++ [[ sg == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sg == \s\d\_\m\o\d ]]
++ shift
++ [[ sg == \i\m\m ]]
++ shift
++ [[ sg == \i\n\i\t\i\o ]]
++ shift
++ [[ sg == \a\t\p\8\7\0\u ]]
++ shift
++ [[ sg == \h\p\t\i\o\p ]]
++ shift
++ [[ sg == \q\l\a\2\x\x\x ]]
++ shift
++ [[ sg == \f\n\i\c ]]
++ shift
++ [[ sg == \b\f\a ]]
++ shift
++ [[ sg == \m\v\s\a\s ]]
++ shift
++ [[ sg == \s\g ]]
++ return 0
++ echo sg
++ read module junk
++ IsInArray joydev cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=joydev
++ shift
++ [[ joydev == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ joydev == \c\c\i\s\s ]]
++ shift
++ [[ joydev == \D\A\C\9\6\0 ]]
++ shift
++ [[ joydev == \p\k\t\c\d\v\d ]]
++ shift
++ [[ joydev == \s\x\8 ]]
++ shift
++ [[ joydev == \n\b\d ]]
++ shift
++ [[ joydev == \a\o\e ]]
++ shift
++ [[ joydev == \f\l\o\p\p\y ]]
++ shift
++ [[ joydev == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ joydev == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ joydev == \l\o\o\p ]]
++ shift
++ [[ joydev == \p\g ]]
++ shift
++ [[ joydev == \o\n\2\6 ]]
++ shift
++ [[ joydev == \o\n\2\0 ]]
++ shift
++ [[ joydev == \f\i\t\2 ]]
++ shift
++ [[ joydev == \k\t\t\i ]]
++ shift
++ [[ joydev == \p\t ]]
++ shift
++ [[ joydev == \p\a\r\i\d\e ]]
++ shift
++ [[ joydev == \p\c\d ]]
++ shift
++ [[ joydev == \e\p\a\t ]]
++ shift
++ [[ joydev == \p\f ]]
++ shift
++ [[ joydev == \k\b\i\c ]]
++ shift
++ [[ joydev == \e\p\i\a ]]
++ shift
++ [[ joydev == \f\i\t\3 ]]
++ shift
++ [[ joydev == \f\r\p\w ]]
++ shift
++ [[ joydev == \p\d ]]
++ shift
++ [[ joydev == \d\s\t\r ]]
++ shift
++ [[ joydev == \c\o\m\m ]]
++ shift
++ [[ joydev == \b\p\c\k ]]
++ shift
++ [[ joydev == \f\r\i\q ]]
++ shift
++ [[ joydev == \a\t\e\n ]]
++ shift
++ [[ joydev == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ joydev == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ joydev == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ joydev == \i\d\e\-\c\d ]]
++ shift
++ [[ joydev == \i\d\e\-\c\s ]]
++ shift
++ [[ joydev == \l\i\b\a\t\a ]]
++ shift
++ [[ joydev == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ joydev == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ joydev == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ joydev == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ joydev == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ joydev == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ joydev == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ joydev == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ joydev == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ joydev == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ joydev == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ joydev == \s\a\t\a\_\m\v ]]
++ shift
++ [[ joydev == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ joydev == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ joydev == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ joydev == \a\h\c\i ]]
++ shift
++ [[ joydev == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ joydev == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ joydev == \s\a\t\a\_\n\v ]]
++ shift
++ [[ joydev == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ joydev == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ joydev == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ joydev == \d\m\-\z\e\r\o ]]
++ shift
++ [[ joydev == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ joydev == \d\m\-\l\o\g ]]
++ shift
++ [[ joydev == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ joydev == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ joydev == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ joydev == \r\a\i\d\1\0 ]]
++ shift
++ [[ joydev == \f\a\u\l\t\y ]]
++ shift
++ [[ joydev == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ joydev == \r\a\i\d\1 ]]
++ shift
++ [[ joydev == \d\m\-\e\m\c ]]
++ shift
++ [[ joydev == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ joydev == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ joydev == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ joydev == \d\m\-\r\d\a\c ]]
++ shift
++ [[ joydev == \x\o\r ]]
++ shift
++ [[ joydev == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ joydev == \d\m\-\m\o\d ]]
++ shift
++ [[ joydev == \l\i\n\e\a\r ]]
++ shift
++ [[ joydev == \r\a\i\d\0 ]]
++ shift
++ [[ joydev == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ joydev == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ joydev == \m\p\t\b\a\s\e ]]
++ shift
++ [[ joydev == \m\p\t\l\a\n ]]
++ shift
++ [[ joydev == \m\p\t\f\c ]]
++ shift
++ [[ joydev == \m\p\t\s\p\i ]]
++ shift
++ [[ joydev == \m\p\t\s\a\s ]]
++ shift
++ [[ joydev == \m\p\t\c\t\l ]]
++ shift
++ [[ joydev == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ joydev == \i\2\o\_\b\u\s ]]
++ shift
++ [[ joydev == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ joydev == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ joydev == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ joydev == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ joydev == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ joydev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ joydev == \c\h ]]
++ shift
++ [[ joydev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ joydev == \p\p\a ]]
++ shift
++ [[ joydev == \i\s\c\i ]]
++ shift
++ [[ joydev == \3\w\-\x\x\x\x ]]
++ shift
++ [[ joydev == \s\e\s ]]
++ shift
++ [[ joydev == \p\m\c\r\a\i\d ]]
++ shift
++ [[ joydev == \l\i\b\f\c ]]
++ shift
++ [[ joydev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ joydev == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ joydev == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ joydev == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ joydev == \d\c\3\9\5\x ]]
++ shift
++ [[ joydev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ joydev == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ joydev == \g\d\t\h ]]
++ shift
++ [[ joydev == \a\a\c\r\a\i\d ]]
++ shift
++ [[ joydev == \l\i\b\f\c\o\e ]]
++ shift
++ [[ joydev == \f\c\o\e ]]
++ shift
++ [[ joydev == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ joydev == \o\s\s\t ]]
++ shift
++ [[ joydev == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ joydev == \s\d\_\m\o\d ]]
++ shift
++ [[ joydev == \i\m\m ]]
++ shift
++ [[ joydev == \i\n\i\t\i\o ]]
++ shift
++ [[ joydev == \a\t\p\8\7\0\u ]]
++ shift
++ [[ joydev == \h\p\t\i\o\p ]]
++ shift
++ [[ joydev == \q\l\a\2\x\x\x ]]
++ shift
++ [[ joydev == \f\n\i\c ]]
++ shift
++ [[ joydev == \b\f\a ]]
++ shift
++ [[ joydev == \m\v\s\a\s ]]
++ shift
++ [[ joydev == \s\g ]]
++ shift
++ [[ joydev == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ joydev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ joydev == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ joydev == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ joydev == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ joydev == \s\c\s\i\_\d\h ]]
++ shift
++ [[ joydev == \3\w\-\9\x\x\x ]]
++ shift
++ [[ joydev == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ joydev == \3\w\-\s\a\s ]]
++ shift
++ [[ joydev == \l\p\f\c ]]
++ shift
++ [[ joydev == \m\p\t\2\s\a\s ]]
++ shift
++ [[ joydev == \l\i\b\s\a\s ]]
++ shift
++ [[ joydev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ joydev == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ joydev == \a\i\c\7\x\x\x ]]
++ shift
++ [[ joydev == \a\i\c\7\9\x\x ]]
++ shift
++ [[ joydev == \s\t\e\x ]]
++ shift
++ [[ joydev == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ joydev == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ joydev == \a\i\c\9\4\x\x ]]
++ shift
++ [[ joydev == \b\n\x\2\i ]]
++ shift
++ [[ joydev == \s\r\_\m\o\d ]]
++ shift
++ [[ joydev == \s\t ]]
++ shift
++ [[ joydev == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ joydev == \i\p\s ]]
++ shift
++ [[ joydev == \a\r\c\m\s\r ]]
++ shift
++ [[ joydev == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ joydev == \c\x\g\b\4\i ]]
++ shift
++ [[ joydev == \c\x\g\b\3\i ]]
++ shift
++ [[ joydev == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ joydev == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ joydev == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray usb_storage cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=usb_storage
++ shift
++ [[ usb_storage == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ usb_storage == \c\c\i\s\s ]]
++ shift
++ [[ usb_storage == \D\A\C\9\6\0 ]]
++ shift
++ [[ usb_storage == \p\k\t\c\d\v\d ]]
++ shift
++ [[ usb_storage == \s\x\8 ]]
++ shift
++ [[ usb_storage == \n\b\d ]]
++ shift
++ [[ usb_storage == \a\o\e ]]
++ shift
++ [[ usb_storage == \f\l\o\p\p\y ]]
++ shift
++ [[ usb_storage == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ usb_storage == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ usb_storage == \l\o\o\p ]]
++ shift
++ [[ usb_storage == \p\g ]]
++ shift
++ [[ usb_storage == \o\n\2\6 ]]
++ shift
++ [[ usb_storage == \o\n\2\0 ]]
++ shift
++ [[ usb_storage == \f\i\t\2 ]]
++ shift
++ [[ usb_storage == \k\t\t\i ]]
++ shift
++ [[ usb_storage == \p\t ]]
++ shift
++ [[ usb_storage == \p\a\r\i\d\e ]]
++ shift
++ [[ usb_storage == \p\c\d ]]
++ shift
++ [[ usb_storage == \e\p\a\t ]]
++ shift
++ [[ usb_storage == \p\f ]]
++ shift
++ [[ usb_storage == \k\b\i\c ]]
++ shift
++ [[ usb_storage == \e\p\i\a ]]
++ shift
++ [[ usb_storage == \f\i\t\3 ]]
++ shift
++ [[ usb_storage == \f\r\p\w ]]
++ shift
++ [[ usb_storage == \p\d ]]
++ shift
++ [[ usb_storage == \d\s\t\r ]]
++ shift
++ [[ usb_storage == \c\o\m\m ]]
++ shift
++ [[ usb_storage == \b\p\c\k ]]
++ shift
++ [[ usb_storage == \f\r\i\q ]]
++ shift
++ [[ usb_storage == \a\t\e\n ]]
++ shift
++ [[ usb_storage == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ usb_storage == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ usb_storage == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ usb_storage == \i\d\e\-\c\d ]]
++ shift
++ [[ usb_storage == \i\d\e\-\c\s ]]
++ shift
++ [[ usb_storage == \l\i\b\a\t\a ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ usb_storage == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ usb_storage == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ usb_storage == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ usb_storage == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ usb_storage == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\m\v ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ usb_storage == \a\h\c\i ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ usb_storage == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\n\v ]]
++ shift
++ [[ usb_storage == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ usb_storage == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ usb_storage == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ usb_storage == \d\m\-\z\e\r\o ]]
++ shift
++ [[ usb_storage == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ usb_storage == \d\m\-\l\o\g ]]
++ shift
++ [[ usb_storage == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ usb_storage == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ usb_storage == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ usb_storage == \r\a\i\d\1\0 ]]
++ shift
++ [[ usb_storage == \f\a\u\l\t\y ]]
++ shift
++ [[ usb_storage == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ usb_storage == \r\a\i\d\1 ]]
++ shift
++ [[ usb_storage == \d\m\-\e\m\c ]]
++ shift
++ [[ usb_storage == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ usb_storage == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ usb_storage == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ usb_storage == \d\m\-\r\d\a\c ]]
++ shift
++ [[ usb_storage == \x\o\r ]]
++ shift
++ [[ usb_storage == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ usb_storage == \d\m\-\m\o\d ]]
++ shift
++ [[ usb_storage == \l\i\n\e\a\r ]]
++ shift
++ [[ usb_storage == \r\a\i\d\0 ]]
++ shift
++ [[ usb_storage == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ usb_storage == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ usb_storage == \m\p\t\b\a\s\e ]]
++ shift
++ [[ usb_storage == \m\p\t\l\a\n ]]
++ shift
++ [[ usb_storage == \m\p\t\f\c ]]
++ shift
++ [[ usb_storage == \m\p\t\s\p\i ]]
++ shift
++ [[ usb_storage == \m\p\t\s\a\s ]]
++ shift
++ [[ usb_storage == \m\p\t\c\t\l ]]
++ shift
++ [[ usb_storage == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ usb_storage == \i\2\o\_\b\u\s ]]
++ shift
++ [[ usb_storage == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ usb_storage == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ usb_storage == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ usb_storage == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ usb_storage == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ usb_storage == \c\h ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ usb_storage == \p\p\a ]]
++ shift
++ [[ usb_storage == \i\s\c\i ]]
++ shift
++ [[ usb_storage == \3\w\-\x\x\x\x ]]
++ shift
++ [[ usb_storage == \s\e\s ]]
++ shift
++ [[ usb_storage == \p\m\c\r\a\i\d ]]
++ shift
++ [[ usb_storage == \l\i\b\f\c ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ usb_storage == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ usb_storage == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ usb_storage == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ usb_storage == \d\c\3\9\5\x ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ usb_storage == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ usb_storage == \g\d\t\h ]]
++ shift
++ [[ usb_storage == \a\a\c\r\a\i\d ]]
++ shift
++ [[ usb_storage == \l\i\b\f\c\o\e ]]
++ shift
++ [[ usb_storage == \f\c\o\e ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ usb_storage == \o\s\s\t ]]
++ shift
++ [[ usb_storage == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ usb_storage == \s\d\_\m\o\d ]]
++ shift
++ [[ usb_storage == \i\m\m ]]
++ shift
++ [[ usb_storage == \i\n\i\t\i\o ]]
++ shift
++ [[ usb_storage == \a\t\p\8\7\0\u ]]
++ shift
++ [[ usb_storage == \h\p\t\i\o\p ]]
++ shift
++ [[ usb_storage == \q\l\a\2\x\x\x ]]
++ shift
++ [[ usb_storage == \f\n\i\c ]]
++ shift
++ [[ usb_storage == \b\f\a ]]
++ shift
++ [[ usb_storage == \m\v\s\a\s ]]
++ shift
++ [[ usb_storage == \s\g ]]
++ shift
++ [[ usb_storage == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\d\h ]]
++ shift
++ [[ usb_storage == \3\w\-\9\x\x\x ]]
++ shift
++ [[ usb_storage == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ usb_storage == \3\w\-\s\a\s ]]
++ shift
++ [[ usb_storage == \l\p\f\c ]]
++ shift
++ [[ usb_storage == \m\p\t\2\s\a\s ]]
++ shift
++ [[ usb_storage == \l\i\b\s\a\s ]]
++ shift
++ [[ usb_storage == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ usb_storage == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ usb_storage == \a\i\c\7\x\x\x ]]
++ shift
++ [[ usb_storage == \a\i\c\7\9\x\x ]]
++ shift
++ [[ usb_storage == \s\t\e\x ]]
++ shift
++ [[ usb_storage == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ usb_storage == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ usb_storage == \a\i\c\9\4\x\x ]]
++ shift
++ [[ usb_storage == \b\n\x\2\i ]]
++ shift
++ [[ usb_storage == \s\r\_\m\o\d ]]
++ shift
++ [[ usb_storage == \s\t ]]
++ shift
++ [[ usb_storage == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ usb_storage == \i\p\s ]]
++ shift
++ [[ usb_storage == \a\r\c\m\s\r ]]
++ shift
++ [[ usb_storage == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ usb_storage == \c\x\g\b\4\i ]]
++ shift
++ [[ usb_storage == \c\x\g\b\3\i ]]
++ shift
++ [[ usb_storage == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ usb_storage == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ usb_storage == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray lpfc cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=lpfc
++ shift
++ [[ lpfc == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ lpfc == \c\c\i\s\s ]]
++ shift
++ [[ lpfc == \D\A\C\9\6\0 ]]
++ shift
++ [[ lpfc == \p\k\t\c\d\v\d ]]
++ shift
++ [[ lpfc == \s\x\8 ]]
++ shift
++ [[ lpfc == \n\b\d ]]
++ shift
++ [[ lpfc == \a\o\e ]]
++ shift
++ [[ lpfc == \f\l\o\p\p\y ]]
++ shift
++ [[ lpfc == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ lpfc == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ lpfc == \l\o\o\p ]]
++ shift
++ [[ lpfc == \p\g ]]
++ shift
++ [[ lpfc == \o\n\2\6 ]]
++ shift
++ [[ lpfc == \o\n\2\0 ]]
++ shift
++ [[ lpfc == \f\i\t\2 ]]
++ shift
++ [[ lpfc == \k\t\t\i ]]
++ shift
++ [[ lpfc == \p\t ]]
++ shift
++ [[ lpfc == \p\a\r\i\d\e ]]
++ shift
++ [[ lpfc == \p\c\d ]]
++ shift
++ [[ lpfc == \e\p\a\t ]]
++ shift
++ [[ lpfc == \p\f ]]
++ shift
++ [[ lpfc == \k\b\i\c ]]
++ shift
++ [[ lpfc == \e\p\i\a ]]
++ shift
++ [[ lpfc == \f\i\t\3 ]]
++ shift
++ [[ lpfc == \f\r\p\w ]]
++ shift
++ [[ lpfc == \p\d ]]
++ shift
++ [[ lpfc == \d\s\t\r ]]
++ shift
++ [[ lpfc == \c\o\m\m ]]
++ shift
++ [[ lpfc == \b\p\c\k ]]
++ shift
++ [[ lpfc == \f\r\i\q ]]
++ shift
++ [[ lpfc == \a\t\e\n ]]
++ shift
++ [[ lpfc == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ lpfc == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ lpfc == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ lpfc == \i\d\e\-\c\d ]]
++ shift
++ [[ lpfc == \i\d\e\-\c\s ]]
++ shift
++ [[ lpfc == \l\i\b\a\t\a ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ lpfc == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ lpfc == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ lpfc == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ lpfc == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ lpfc == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\m\v ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ lpfc == \a\h\c\i ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ lpfc == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\n\v ]]
++ shift
++ [[ lpfc == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ lpfc == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ lpfc == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ lpfc == \d\m\-\z\e\r\o ]]
++ shift
++ [[ lpfc == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ lpfc == \d\m\-\l\o\g ]]
++ shift
++ [[ lpfc == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ lpfc == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ lpfc == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ lpfc == \r\a\i\d\1\0 ]]
++ shift
++ [[ lpfc == \f\a\u\l\t\y ]]
++ shift
++ [[ lpfc == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ lpfc == \r\a\i\d\1 ]]
++ shift
++ [[ lpfc == \d\m\-\e\m\c ]]
++ shift
++ [[ lpfc == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ lpfc == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ lpfc == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ lpfc == \d\m\-\r\d\a\c ]]
++ shift
++ [[ lpfc == \x\o\r ]]
++ shift
++ [[ lpfc == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ lpfc == \d\m\-\m\o\d ]]
++ shift
++ [[ lpfc == \l\i\n\e\a\r ]]
++ shift
++ [[ lpfc == \r\a\i\d\0 ]]
++ shift
++ [[ lpfc == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ lpfc == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ lpfc == \m\p\t\b\a\s\e ]]
++ shift
++ [[ lpfc == \m\p\t\l\a\n ]]
++ shift
++ [[ lpfc == \m\p\t\f\c ]]
++ shift
++ [[ lpfc == \m\p\t\s\p\i ]]
++ shift
++ [[ lpfc == \m\p\t\s\a\s ]]
++ shift
++ [[ lpfc == \m\p\t\c\t\l ]]
++ shift
++ [[ lpfc == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ lpfc == \i\2\o\_\b\u\s ]]
++ shift
++ [[ lpfc == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ lpfc == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ lpfc == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ lpfc == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ lpfc == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ lpfc == \c\h ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ lpfc == \p\p\a ]]
++ shift
++ [[ lpfc == \i\s\c\i ]]
++ shift
++ [[ lpfc == \3\w\-\x\x\x\x ]]
++ shift
++ [[ lpfc == \s\e\s ]]
++ shift
++ [[ lpfc == \p\m\c\r\a\i\d ]]
++ shift
++ [[ lpfc == \l\i\b\f\c ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ lpfc == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ lpfc == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ lpfc == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ lpfc == \d\c\3\9\5\x ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ lpfc == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ lpfc == \g\d\t\h ]]
++ shift
++ [[ lpfc == \a\a\c\r\a\i\d ]]
++ shift
++ [[ lpfc == \l\i\b\f\c\o\e ]]
++ shift
++ [[ lpfc == \f\c\o\e ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ lpfc == \o\s\s\t ]]
++ shift
++ [[ lpfc == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ lpfc == \s\d\_\m\o\d ]]
++ shift
++ [[ lpfc == \i\m\m ]]
++ shift
++ [[ lpfc == \i\n\i\t\i\o ]]
++ shift
++ [[ lpfc == \a\t\p\8\7\0\u ]]
++ shift
++ [[ lpfc == \h\p\t\i\o\p ]]
++ shift
++ [[ lpfc == \q\l\a\2\x\x\x ]]
++ shift
++ [[ lpfc == \f\n\i\c ]]
++ shift
++ [[ lpfc == \b\f\a ]]
++ shift
++ [[ lpfc == \m\v\s\a\s ]]
++ shift
++ [[ lpfc == \s\g ]]
++ shift
++ [[ lpfc == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ lpfc == \s\c\s\i\_\d\h ]]
++ shift
++ [[ lpfc == \3\w\-\9\x\x\x ]]
++ shift
++ [[ lpfc == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ lpfc == \3\w\-\s\a\s ]]
++ shift
++ [[ lpfc == \l\p\f\c ]]
++ return 0
++ echo lpfc
++ read module junk
++ IsInArray i7core_edac cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=i7core_edac
++ shift
++ [[ i7core_edac == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ i7core_edac == \c\c\i\s\s ]]
++ shift
++ [[ i7core_edac == \D\A\C\9\6\0 ]]
++ shift
++ [[ i7core_edac == \p\k\t\c\d\v\d ]]
++ shift
++ [[ i7core_edac == \s\x\8 ]]
++ shift
++ [[ i7core_edac == \n\b\d ]]
++ shift
++ [[ i7core_edac == \a\o\e ]]
++ shift
++ [[ i7core_edac == \f\l\o\p\p\y ]]
++ shift
++ [[ i7core_edac == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ i7core_edac == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ i7core_edac == \l\o\o\p ]]
++ shift
++ [[ i7core_edac == \p\g ]]
++ shift
++ [[ i7core_edac == \o\n\2\6 ]]
++ shift
++ [[ i7core_edac == \o\n\2\0 ]]
++ shift
++ [[ i7core_edac == \f\i\t\2 ]]
++ shift
++ [[ i7core_edac == \k\t\t\i ]]
++ shift
++ [[ i7core_edac == \p\t ]]
++ shift
++ [[ i7core_edac == \p\a\r\i\d\e ]]
++ shift
++ [[ i7core_edac == \p\c\d ]]
++ shift
++ [[ i7core_edac == \e\p\a\t ]]
++ shift
++ [[ i7core_edac == \p\f ]]
++ shift
++ [[ i7core_edac == \k\b\i\c ]]
++ shift
++ [[ i7core_edac == \e\p\i\a ]]
++ shift
++ [[ i7core_edac == \f\i\t\3 ]]
++ shift
++ [[ i7core_edac == \f\r\p\w ]]
++ shift
++ [[ i7core_edac == \p\d ]]
++ shift
++ [[ i7core_edac == \d\s\t\r ]]
++ shift
++ [[ i7core_edac == \c\o\m\m ]]
++ shift
++ [[ i7core_edac == \b\p\c\k ]]
++ shift
++ [[ i7core_edac == \f\r\i\q ]]
++ shift
++ [[ i7core_edac == \a\t\e\n ]]
++ shift
++ [[ i7core_edac == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ i7core_edac == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ i7core_edac == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ i7core_edac == \i\d\e\-\c\d ]]
++ shift
++ [[ i7core_edac == \i\d\e\-\c\s ]]
++ shift
++ [[ i7core_edac == \l\i\b\a\t\a ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ i7core_edac == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ i7core_edac == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ i7core_edac == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ i7core_edac == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ i7core_edac == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\m\v ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ i7core_edac == \a\h\c\i ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ i7core_edac == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\n\v ]]
++ shift
++ [[ i7core_edac == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ i7core_edac == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ i7core_edac == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ i7core_edac == \d\m\-\z\e\r\o ]]
++ shift
++ [[ i7core_edac == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ i7core_edac == \d\m\-\l\o\g ]]
++ shift
++ [[ i7core_edac == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ i7core_edac == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ i7core_edac == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i7core_edac == \r\a\i\d\1\0 ]]
++ shift
++ [[ i7core_edac == \f\a\u\l\t\y ]]
++ shift
++ [[ i7core_edac == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ i7core_edac == \r\a\i\d\1 ]]
++ shift
++ [[ i7core_edac == \d\m\-\e\m\c ]]
++ shift
++ [[ i7core_edac == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ i7core_edac == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ i7core_edac == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i7core_edac == \d\m\-\r\d\a\c ]]
++ shift
++ [[ i7core_edac == \x\o\r ]]
++ shift
++ [[ i7core_edac == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ i7core_edac == \d\m\-\m\o\d ]]
++ shift
++ [[ i7core_edac == \l\i\n\e\a\r ]]
++ shift
++ [[ i7core_edac == \r\a\i\d\0 ]]
++ shift
++ [[ i7core_edac == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ i7core_edac == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ i7core_edac == \m\p\t\b\a\s\e ]]
++ shift
++ [[ i7core_edac == \m\p\t\l\a\n ]]
++ shift
++ [[ i7core_edac == \m\p\t\f\c ]]
++ shift
++ [[ i7core_edac == \m\p\t\s\p\i ]]
++ shift
++ [[ i7core_edac == \m\p\t\s\a\s ]]
++ shift
++ [[ i7core_edac == \m\p\t\c\t\l ]]
++ shift
++ [[ i7core_edac == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ i7core_edac == \i\2\o\_\b\u\s ]]
++ shift
++ [[ i7core_edac == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ i7core_edac == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ i7core_edac == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ i7core_edac == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ i7core_edac == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ i7core_edac == \c\h ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ i7core_edac == \p\p\a ]]
++ shift
++ [[ i7core_edac == \i\s\c\i ]]
++ shift
++ [[ i7core_edac == \3\w\-\x\x\x\x ]]
++ shift
++ [[ i7core_edac == \s\e\s ]]
++ shift
++ [[ i7core_edac == \p\m\c\r\a\i\d ]]
++ shift
++ [[ i7core_edac == \l\i\b\f\c ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ i7core_edac == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ i7core_edac == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ i7core_edac == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ i7core_edac == \d\c\3\9\5\x ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ i7core_edac == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ i7core_edac == \g\d\t\h ]]
++ shift
++ [[ i7core_edac == \a\a\c\r\a\i\d ]]
++ shift
++ [[ i7core_edac == \l\i\b\f\c\o\e ]]
++ shift
++ [[ i7core_edac == \f\c\o\e ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ i7core_edac == \o\s\s\t ]]
++ shift
++ [[ i7core_edac == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i7core_edac == \s\d\_\m\o\d ]]
++ shift
++ [[ i7core_edac == \i\m\m ]]
++ shift
++ [[ i7core_edac == \i\n\i\t\i\o ]]
++ shift
++ [[ i7core_edac == \a\t\p\8\7\0\u ]]
++ shift
++ [[ i7core_edac == \h\p\t\i\o\p ]]
++ shift
++ [[ i7core_edac == \q\l\a\2\x\x\x ]]
++ shift
++ [[ i7core_edac == \f\n\i\c ]]
++ shift
++ [[ i7core_edac == \b\f\a ]]
++ shift
++ [[ i7core_edac == \m\v\s\a\s ]]
++ shift
++ [[ i7core_edac == \s\g ]]
++ shift
++ [[ i7core_edac == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\d\h ]]
++ shift
++ [[ i7core_edac == \3\w\-\9\x\x\x ]]
++ shift
++ [[ i7core_edac == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ i7core_edac == \3\w\-\s\a\s ]]
++ shift
++ [[ i7core_edac == \l\p\f\c ]]
++ shift
++ [[ i7core_edac == \m\p\t\2\s\a\s ]]
++ shift
++ [[ i7core_edac == \l\i\b\s\a\s ]]
++ shift
++ [[ i7core_edac == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ i7core_edac == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ i7core_edac == \a\i\c\7\x\x\x ]]
++ shift
++ [[ i7core_edac == \a\i\c\7\9\x\x ]]
++ shift
++ [[ i7core_edac == \s\t\e\x ]]
++ shift
++ [[ i7core_edac == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ i7core_edac == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ i7core_edac == \a\i\c\9\4\x\x ]]
++ shift
++ [[ i7core_edac == \b\n\x\2\i ]]
++ shift
++ [[ i7core_edac == \s\r\_\m\o\d ]]
++ shift
++ [[ i7core_edac == \s\t ]]
++ shift
++ [[ i7core_edac == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ i7core_edac == \i\p\s ]]
++ shift
++ [[ i7core_edac == \a\r\c\m\s\r ]]
++ shift
++ [[ i7core_edac == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ i7core_edac == \c\x\g\b\4\i ]]
++ shift
++ [[ i7core_edac == \c\x\g\b\3\i ]]
++ shift
++ [[ i7core_edac == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ i7core_edac == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ i7core_edac == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray scsi_transport_fc cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=scsi_transport_fc
++ shift
++ [[ scsi_transport_fc == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ scsi_transport_fc == \c\c\i\s\s ]]
++ shift
++ [[ scsi_transport_fc == \D\A\C\9\6\0 ]]
++ shift
++ [[ scsi_transport_fc == \p\k\t\c\d\v\d ]]
++ shift
++ [[ scsi_transport_fc == \s\x\8 ]]
++ shift
++ [[ scsi_transport_fc == \n\b\d ]]
++ shift
++ [[ scsi_transport_fc == \a\o\e ]]
++ shift
++ [[ scsi_transport_fc == \f\l\o\p\p\y ]]
++ shift
++ [[ scsi_transport_fc == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ scsi_transport_fc == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ scsi_transport_fc == \l\o\o\p ]]
++ shift
++ [[ scsi_transport_fc == \p\g ]]
++ shift
++ [[ scsi_transport_fc == \o\n\2\6 ]]
++ shift
++ [[ scsi_transport_fc == \o\n\2\0 ]]
++ shift
++ [[ scsi_transport_fc == \f\i\t\2 ]]
++ shift
++ [[ scsi_transport_fc == \k\t\t\i ]]
++ shift
++ [[ scsi_transport_fc == \p\t ]]
++ shift
++ [[ scsi_transport_fc == \p\a\r\i\d\e ]]
++ shift
++ [[ scsi_transport_fc == \p\c\d ]]
++ shift
++ [[ scsi_transport_fc == \e\p\a\t ]]
++ shift
++ [[ scsi_transport_fc == \p\f ]]
++ shift
++ [[ scsi_transport_fc == \k\b\i\c ]]
++ shift
++ [[ scsi_transport_fc == \e\p\i\a ]]
++ shift
++ [[ scsi_transport_fc == \f\i\t\3 ]]
++ shift
++ [[ scsi_transport_fc == \f\r\p\w ]]
++ shift
++ [[ scsi_transport_fc == \p\d ]]
++ shift
++ [[ scsi_transport_fc == \d\s\t\r ]]
++ shift
++ [[ scsi_transport_fc == \c\o\m\m ]]
++ shift
++ [[ scsi_transport_fc == \b\p\c\k ]]
++ shift
++ [[ scsi_transport_fc == \f\r\i\q ]]
++ shift
++ [[ scsi_transport_fc == \a\t\e\n ]]
++ shift
++ [[ scsi_transport_fc == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ scsi_transport_fc == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ scsi_transport_fc == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ scsi_transport_fc == \i\d\e\-\c\d ]]
++ shift
++ [[ scsi_transport_fc == \i\d\e\-\c\s ]]
++ shift
++ [[ scsi_transport_fc == \l\i\b\a\t\a ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ scsi_transport_fc == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ scsi_transport_fc == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ scsi_transport_fc == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ scsi_transport_fc == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ scsi_transport_fc == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\m\v ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ scsi_transport_fc == \a\h\c\i ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ scsi_transport_fc == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\n\v ]]
++ shift
++ [[ scsi_transport_fc == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\z\e\r\o ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\l\o\g ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ scsi_transport_fc == \r\a\i\d\1\0 ]]
++ shift
++ [[ scsi_transport_fc == \f\a\u\l\t\y ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ scsi_transport_fc == \r\a\i\d\1 ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\e\m\c ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ scsi_transport_fc == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\r\d\a\c ]]
++ shift
++ [[ scsi_transport_fc == \x\o\r ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ scsi_transport_fc == \d\m\-\m\o\d ]]
++ shift
++ [[ scsi_transport_fc == \l\i\n\e\a\r ]]
++ shift
++ [[ scsi_transport_fc == \r\a\i\d\0 ]]
++ shift
++ [[ scsi_transport_fc == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ scsi_transport_fc == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ scsi_transport_fc == \m\p\t\b\a\s\e ]]
++ shift
++ [[ scsi_transport_fc == \m\p\t\l\a\n ]]
++ shift
++ [[ scsi_transport_fc == \m\p\t\f\c ]]
++ shift
++ [[ scsi_transport_fc == \m\p\t\s\p\i ]]
++ shift
++ [[ scsi_transport_fc == \m\p\t\s\a\s ]]
++ shift
++ [[ scsi_transport_fc == \m\p\t\c\t\l ]]
++ shift
++ [[ scsi_transport_fc == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ scsi_transport_fc == \i\2\o\_\b\u\s ]]
++ shift
++ [[ scsi_transport_fc == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ scsi_transport_fc == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ scsi_transport_fc == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ scsi_transport_fc == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ scsi_transport_fc == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ scsi_transport_fc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ return 0
++ echo scsi_transport_fc
++ read module junk
++ IsInArray be2net cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=be2net
++ shift
++ [[ be2net == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ be2net == \c\c\i\s\s ]]
++ shift
++ [[ be2net == \D\A\C\9\6\0 ]]
++ shift
++ [[ be2net == \p\k\t\c\d\v\d ]]
++ shift
++ [[ be2net == \s\x\8 ]]
++ shift
++ [[ be2net == \n\b\d ]]
++ shift
++ [[ be2net == \a\o\e ]]
++ shift
++ [[ be2net == \f\l\o\p\p\y ]]
++ shift
++ [[ be2net == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ be2net == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ be2net == \l\o\o\p ]]
++ shift
++ [[ be2net == \p\g ]]
++ shift
++ [[ be2net == \o\n\2\6 ]]
++ shift
++ [[ be2net == \o\n\2\0 ]]
++ shift
++ [[ be2net == \f\i\t\2 ]]
++ shift
++ [[ be2net == \k\t\t\i ]]
++ shift
++ [[ be2net == \p\t ]]
++ shift
++ [[ be2net == \p\a\r\i\d\e ]]
++ shift
++ [[ be2net == \p\c\d ]]
++ shift
++ [[ be2net == \e\p\a\t ]]
++ shift
++ [[ be2net == \p\f ]]
++ shift
++ [[ be2net == \k\b\i\c ]]
++ shift
++ [[ be2net == \e\p\i\a ]]
++ shift
++ [[ be2net == \f\i\t\3 ]]
++ shift
++ [[ be2net == \f\r\p\w ]]
++ shift
++ [[ be2net == \p\d ]]
++ shift
++ [[ be2net == \d\s\t\r ]]
++ shift
++ [[ be2net == \c\o\m\m ]]
++ shift
++ [[ be2net == \b\p\c\k ]]
++ shift
++ [[ be2net == \f\r\i\q ]]
++ shift
++ [[ be2net == \a\t\e\n ]]
++ shift
++ [[ be2net == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ be2net == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ be2net == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ be2net == \i\d\e\-\c\d ]]
++ shift
++ [[ be2net == \i\d\e\-\c\s ]]
++ shift
++ [[ be2net == \l\i\b\a\t\a ]]
++ shift
++ [[ be2net == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ be2net == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ be2net == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ be2net == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ be2net == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ be2net == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ be2net == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ be2net == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ be2net == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ be2net == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ be2net == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ be2net == \s\a\t\a\_\m\v ]]
++ shift
++ [[ be2net == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ be2net == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ be2net == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ be2net == \a\h\c\i ]]
++ shift
++ [[ be2net == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ be2net == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ be2net == \s\a\t\a\_\n\v ]]
++ shift
++ [[ be2net == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ be2net == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ be2net == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ be2net == \d\m\-\z\e\r\o ]]
++ shift
++ [[ be2net == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ be2net == \d\m\-\l\o\g ]]
++ shift
++ [[ be2net == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ be2net == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ be2net == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ be2net == \r\a\i\d\1\0 ]]
++ shift
++ [[ be2net == \f\a\u\l\t\y ]]
++ shift
++ [[ be2net == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ be2net == \r\a\i\d\1 ]]
++ shift
++ [[ be2net == \d\m\-\e\m\c ]]
++ shift
++ [[ be2net == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ be2net == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ be2net == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ be2net == \d\m\-\r\d\a\c ]]
++ shift
++ [[ be2net == \x\o\r ]]
++ shift
++ [[ be2net == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ be2net == \d\m\-\m\o\d ]]
++ shift
++ [[ be2net == \l\i\n\e\a\r ]]
++ shift
++ [[ be2net == \r\a\i\d\0 ]]
++ shift
++ [[ be2net == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ be2net == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ be2net == \m\p\t\b\a\s\e ]]
++ shift
++ [[ be2net == \m\p\t\l\a\n ]]
++ shift
++ [[ be2net == \m\p\t\f\c ]]
++ shift
++ [[ be2net == \m\p\t\s\p\i ]]
++ shift
++ [[ be2net == \m\p\t\s\a\s ]]
++ shift
++ [[ be2net == \m\p\t\c\t\l ]]
++ shift
++ [[ be2net == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ be2net == \i\2\o\_\b\u\s ]]
++ shift
++ [[ be2net == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ be2net == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ be2net == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ be2net == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ be2net == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ be2net == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ be2net == \c\h ]]
++ shift
++ [[ be2net == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ be2net == \p\p\a ]]
++ shift
++ [[ be2net == \i\s\c\i ]]
++ shift
++ [[ be2net == \3\w\-\x\x\x\x ]]
++ shift
++ [[ be2net == \s\e\s ]]
++ shift
++ [[ be2net == \p\m\c\r\a\i\d ]]
++ shift
++ [[ be2net == \l\i\b\f\c ]]
++ shift
++ [[ be2net == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ be2net == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ be2net == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ be2net == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ be2net == \d\c\3\9\5\x ]]
++ shift
++ [[ be2net == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ be2net == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ be2net == \g\d\t\h ]]
++ shift
++ [[ be2net == \a\a\c\r\a\i\d ]]
++ shift
++ [[ be2net == \l\i\b\f\c\o\e ]]
++ shift
++ [[ be2net == \f\c\o\e ]]
++ shift
++ [[ be2net == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ be2net == \o\s\s\t ]]
++ shift
++ [[ be2net == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ be2net == \s\d\_\m\o\d ]]
++ shift
++ [[ be2net == \i\m\m ]]
++ shift
++ [[ be2net == \i\n\i\t\i\o ]]
++ shift
++ [[ be2net == \a\t\p\8\7\0\u ]]
++ shift
++ [[ be2net == \h\p\t\i\o\p ]]
++ shift
++ [[ be2net == \q\l\a\2\x\x\x ]]
++ shift
++ [[ be2net == \f\n\i\c ]]
++ shift
++ [[ be2net == \b\f\a ]]
++ shift
++ [[ be2net == \m\v\s\a\s ]]
++ shift
++ [[ be2net == \s\g ]]
++ shift
++ [[ be2net == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ be2net == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ be2net == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ be2net == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ be2net == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ be2net == \s\c\s\i\_\d\h ]]
++ shift
++ [[ be2net == \3\w\-\9\x\x\x ]]
++ shift
++ [[ be2net == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ be2net == \3\w\-\s\a\s ]]
++ shift
++ [[ be2net == \l\p\f\c ]]
++ shift
++ [[ be2net == \m\p\t\2\s\a\s ]]
++ shift
++ [[ be2net == \l\i\b\s\a\s ]]
++ shift
++ [[ be2net == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ be2net == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ be2net == \a\i\c\7\x\x\x ]]
++ shift
++ [[ be2net == \a\i\c\7\9\x\x ]]
++ shift
++ [[ be2net == \s\t\e\x ]]
++ shift
++ [[ be2net == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ be2net == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ be2net == \a\i\c\9\4\x\x ]]
++ shift
++ [[ be2net == \b\n\x\2\i ]]
++ shift
++ [[ be2net == \s\r\_\m\o\d ]]
++ shift
++ [[ be2net == \s\t ]]
++ shift
++ [[ be2net == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ be2net == \i\p\s ]]
++ shift
++ [[ be2net == \a\r\c\m\s\r ]]
++ shift
++ [[ be2net == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ be2net == \c\x\g\b\4\i ]]
++ shift
++ [[ be2net == \c\x\g\b\3\i ]]
++ shift
++ [[ be2net == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ be2net == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ be2net == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray cciss cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=cciss
++ shift
++ [[ cciss == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ cciss == \c\c\i\s\s ]]
++ return 0
++ echo cciss
++ read module junk
++ IsInArray hpilo cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=hpilo
++ shift
++ [[ hpilo == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ hpilo == \c\c\i\s\s ]]
++ shift
++ [[ hpilo == \D\A\C\9\6\0 ]]
++ shift
++ [[ hpilo == \p\k\t\c\d\v\d ]]
++ shift
++ [[ hpilo == \s\x\8 ]]
++ shift
++ [[ hpilo == \n\b\d ]]
++ shift
++ [[ hpilo == \a\o\e ]]
++ shift
++ [[ hpilo == \f\l\o\p\p\y ]]
++ shift
++ [[ hpilo == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ hpilo == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ hpilo == \l\o\o\p ]]
++ shift
++ [[ hpilo == \p\g ]]
++ shift
++ [[ hpilo == \o\n\2\6 ]]
++ shift
++ [[ hpilo == \o\n\2\0 ]]
++ shift
++ [[ hpilo == \f\i\t\2 ]]
++ shift
++ [[ hpilo == \k\t\t\i ]]
++ shift
++ [[ hpilo == \p\t ]]
++ shift
++ [[ hpilo == \p\a\r\i\d\e ]]
++ shift
++ [[ hpilo == \p\c\d ]]
++ shift
++ [[ hpilo == \e\p\a\t ]]
++ shift
++ [[ hpilo == \p\f ]]
++ shift
++ [[ hpilo == \k\b\i\c ]]
++ shift
++ [[ hpilo == \e\p\i\a ]]
++ shift
++ [[ hpilo == \f\i\t\3 ]]
++ shift
++ [[ hpilo == \f\r\p\w ]]
++ shift
++ [[ hpilo == \p\d ]]
++ shift
++ [[ hpilo == \d\s\t\r ]]
++ shift
++ [[ hpilo == \c\o\m\m ]]
++ shift
++ [[ hpilo == \b\p\c\k ]]
++ shift
++ [[ hpilo == \f\r\i\q ]]
++ shift
++ [[ hpilo == \a\t\e\n ]]
++ shift
++ [[ hpilo == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ hpilo == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ hpilo == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ hpilo == \i\d\e\-\c\d ]]
++ shift
++ [[ hpilo == \i\d\e\-\c\s ]]
++ shift
++ [[ hpilo == \l\i\b\a\t\a ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ hpilo == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ hpilo == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ hpilo == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ hpilo == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ hpilo == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\m\v ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ hpilo == \a\h\c\i ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ hpilo == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\n\v ]]
++ shift
++ [[ hpilo == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ hpilo == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ hpilo == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ hpilo == \d\m\-\z\e\r\o ]]
++ shift
++ [[ hpilo == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ hpilo == \d\m\-\l\o\g ]]
++ shift
++ [[ hpilo == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ hpilo == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ hpilo == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ hpilo == \r\a\i\d\1\0 ]]
++ shift
++ [[ hpilo == \f\a\u\l\t\y ]]
++ shift
++ [[ hpilo == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ hpilo == \r\a\i\d\1 ]]
++ shift
++ [[ hpilo == \d\m\-\e\m\c ]]
++ shift
++ [[ hpilo == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ hpilo == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ hpilo == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ hpilo == \d\m\-\r\d\a\c ]]
++ shift
++ [[ hpilo == \x\o\r ]]
++ shift
++ [[ hpilo == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ hpilo == \d\m\-\m\o\d ]]
++ shift
++ [[ hpilo == \l\i\n\e\a\r ]]
++ shift
++ [[ hpilo == \r\a\i\d\0 ]]
++ shift
++ [[ hpilo == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ hpilo == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ hpilo == \m\p\t\b\a\s\e ]]
++ shift
++ [[ hpilo == \m\p\t\l\a\n ]]
++ shift
++ [[ hpilo == \m\p\t\f\c ]]
++ shift
++ [[ hpilo == \m\p\t\s\p\i ]]
++ shift
++ [[ hpilo == \m\p\t\s\a\s ]]
++ shift
++ [[ hpilo == \m\p\t\c\t\l ]]
++ shift
++ [[ hpilo == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ hpilo == \i\2\o\_\b\u\s ]]
++ shift
++ [[ hpilo == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ hpilo == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ hpilo == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ hpilo == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ hpilo == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ hpilo == \c\h ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ hpilo == \p\p\a ]]
++ shift
++ [[ hpilo == \i\s\c\i ]]
++ shift
++ [[ hpilo == \3\w\-\x\x\x\x ]]
++ shift
++ [[ hpilo == \s\e\s ]]
++ shift
++ [[ hpilo == \p\m\c\r\a\i\d ]]
++ shift
++ [[ hpilo == \l\i\b\f\c ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ hpilo == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ hpilo == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ hpilo == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ hpilo == \d\c\3\9\5\x ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ hpilo == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ hpilo == \g\d\t\h ]]
++ shift
++ [[ hpilo == \a\a\c\r\a\i\d ]]
++ shift
++ [[ hpilo == \l\i\b\f\c\o\e ]]
++ shift
++ [[ hpilo == \f\c\o\e ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ hpilo == \o\s\s\t ]]
++ shift
++ [[ hpilo == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ hpilo == \s\d\_\m\o\d ]]
++ shift
++ [[ hpilo == \i\m\m ]]
++ shift
++ [[ hpilo == \i\n\i\t\i\o ]]
++ shift
++ [[ hpilo == \a\t\p\8\7\0\u ]]
++ shift
++ [[ hpilo == \h\p\t\i\o\p ]]
++ shift
++ [[ hpilo == \q\l\a\2\x\x\x ]]
++ shift
++ [[ hpilo == \f\n\i\c ]]
++ shift
++ [[ hpilo == \b\f\a ]]
++ shift
++ [[ hpilo == \m\v\s\a\s ]]
++ shift
++ [[ hpilo == \s\g ]]
++ shift
++ [[ hpilo == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\d\h ]]
++ shift
++ [[ hpilo == \3\w\-\9\x\x\x ]]
++ shift
++ [[ hpilo == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ hpilo == \3\w\-\s\a\s ]]
++ shift
++ [[ hpilo == \l\p\f\c ]]
++ shift
++ [[ hpilo == \m\p\t\2\s\a\s ]]
++ shift
++ [[ hpilo == \l\i\b\s\a\s ]]
++ shift
++ [[ hpilo == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ hpilo == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ hpilo == \a\i\c\7\x\x\x ]]
++ shift
++ [[ hpilo == \a\i\c\7\9\x\x ]]
++ shift
++ [[ hpilo == \s\t\e\x ]]
++ shift
++ [[ hpilo == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ hpilo == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ hpilo == \a\i\c\9\4\x\x ]]
++ shift
++ [[ hpilo == \b\n\x\2\i ]]
++ shift
++ [[ hpilo == \s\r\_\m\o\d ]]
++ shift
++ [[ hpilo == \s\t ]]
++ shift
++ [[ hpilo == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ hpilo == \i\p\s ]]
++ shift
++ [[ hpilo == \a\r\c\m\s\r ]]
++ shift
++ [[ hpilo == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ hpilo == \c\x\g\b\4\i ]]
++ shift
++ [[ hpilo == \c\x\g\b\3\i ]]
++ shift
++ [[ hpilo == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ hpilo == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ hpilo == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray pcspkr cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=pcspkr
++ shift
++ [[ pcspkr == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ pcspkr == \c\c\i\s\s ]]
++ shift
++ [[ pcspkr == \D\A\C\9\6\0 ]]
++ shift
++ [[ pcspkr == \p\k\t\c\d\v\d ]]
++ shift
++ [[ pcspkr == \s\x\8 ]]
++ shift
++ [[ pcspkr == \n\b\d ]]
++ shift
++ [[ pcspkr == \a\o\e ]]
++ shift
++ [[ pcspkr == \f\l\o\p\p\y ]]
++ shift
++ [[ pcspkr == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ pcspkr == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ pcspkr == \l\o\o\p ]]
++ shift
++ [[ pcspkr == \p\g ]]
++ shift
++ [[ pcspkr == \o\n\2\6 ]]
++ shift
++ [[ pcspkr == \o\n\2\0 ]]
++ shift
++ [[ pcspkr == \f\i\t\2 ]]
++ shift
++ [[ pcspkr == \k\t\t\i ]]
++ shift
++ [[ pcspkr == \p\t ]]
++ shift
++ [[ pcspkr == \p\a\r\i\d\e ]]
++ shift
++ [[ pcspkr == \p\c\d ]]
++ shift
++ [[ pcspkr == \e\p\a\t ]]
++ shift
++ [[ pcspkr == \p\f ]]
++ shift
++ [[ pcspkr == \k\b\i\c ]]
++ shift
++ [[ pcspkr == \e\p\i\a ]]
++ shift
++ [[ pcspkr == \f\i\t\3 ]]
++ shift
++ [[ pcspkr == \f\r\p\w ]]
++ shift
++ [[ pcspkr == \p\d ]]
++ shift
++ [[ pcspkr == \d\s\t\r ]]
++ shift
++ [[ pcspkr == \c\o\m\m ]]
++ shift
++ [[ pcspkr == \b\p\c\k ]]
++ shift
++ [[ pcspkr == \f\r\i\q ]]
++ shift
++ [[ pcspkr == \a\t\e\n ]]
++ shift
++ [[ pcspkr == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ pcspkr == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ pcspkr == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ pcspkr == \i\d\e\-\c\d ]]
++ shift
++ [[ pcspkr == \i\d\e\-\c\s ]]
++ shift
++ [[ pcspkr == \l\i\b\a\t\a ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ pcspkr == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ pcspkr == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ pcspkr == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ pcspkr == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ pcspkr == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\m\v ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ pcspkr == \a\h\c\i ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ pcspkr == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\n\v ]]
++ shift
++ [[ pcspkr == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ pcspkr == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ pcspkr == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ pcspkr == \d\m\-\z\e\r\o ]]
++ shift
++ [[ pcspkr == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ pcspkr == \d\m\-\l\o\g ]]
++ shift
++ [[ pcspkr == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ pcspkr == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ pcspkr == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ pcspkr == \r\a\i\d\1\0 ]]
++ shift
++ [[ pcspkr == \f\a\u\l\t\y ]]
++ shift
++ [[ pcspkr == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ pcspkr == \r\a\i\d\1 ]]
++ shift
++ [[ pcspkr == \d\m\-\e\m\c ]]
++ shift
++ [[ pcspkr == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ pcspkr == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ pcspkr == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ pcspkr == \d\m\-\r\d\a\c ]]
++ shift
++ [[ pcspkr == \x\o\r ]]
++ shift
++ [[ pcspkr == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ pcspkr == \d\m\-\m\o\d ]]
++ shift
++ [[ pcspkr == \l\i\n\e\a\r ]]
++ shift
++ [[ pcspkr == \r\a\i\d\0 ]]
++ shift
++ [[ pcspkr == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ pcspkr == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ pcspkr == \m\p\t\b\a\s\e ]]
++ shift
++ [[ pcspkr == \m\p\t\l\a\n ]]
++ shift
++ [[ pcspkr == \m\p\t\f\c ]]
++ shift
++ [[ pcspkr == \m\p\t\s\p\i ]]
++ shift
++ [[ pcspkr == \m\p\t\s\a\s ]]
++ shift
++ [[ pcspkr == \m\p\t\c\t\l ]]
++ shift
++ [[ pcspkr == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ pcspkr == \i\2\o\_\b\u\s ]]
++ shift
++ [[ pcspkr == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ pcspkr == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ pcspkr == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ pcspkr == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ pcspkr == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ pcspkr == \c\h ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ pcspkr == \p\p\a ]]
++ shift
++ [[ pcspkr == \i\s\c\i ]]
++ shift
++ [[ pcspkr == \3\w\-\x\x\x\x ]]
++ shift
++ [[ pcspkr == \s\e\s ]]
++ shift
++ [[ pcspkr == \p\m\c\r\a\i\d ]]
++ shift
++ [[ pcspkr == \l\i\b\f\c ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ pcspkr == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ pcspkr == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ pcspkr == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ pcspkr == \d\c\3\9\5\x ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ pcspkr == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ pcspkr == \g\d\t\h ]]
++ shift
++ [[ pcspkr == \a\a\c\r\a\i\d ]]
++ shift
++ [[ pcspkr == \l\i\b\f\c\o\e ]]
++ shift
++ [[ pcspkr == \f\c\o\e ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ pcspkr == \o\s\s\t ]]
++ shift
++ [[ pcspkr == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ pcspkr == \s\d\_\m\o\d ]]
++ shift
++ [[ pcspkr == \i\m\m ]]
++ shift
++ [[ pcspkr == \i\n\i\t\i\o ]]
++ shift
++ [[ pcspkr == \a\t\p\8\7\0\u ]]
++ shift
++ [[ pcspkr == \h\p\t\i\o\p ]]
++ shift
++ [[ pcspkr == \q\l\a\2\x\x\x ]]
++ shift
++ [[ pcspkr == \f\n\i\c ]]
++ shift
++ [[ pcspkr == \b\f\a ]]
++ shift
++ [[ pcspkr == \m\v\s\a\s ]]
++ shift
++ [[ pcspkr == \s\g ]]
++ shift
++ [[ pcspkr == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\d\h ]]
++ shift
++ [[ pcspkr == \3\w\-\9\x\x\x ]]
++ shift
++ [[ pcspkr == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ pcspkr == \3\w\-\s\a\s ]]
++ shift
++ [[ pcspkr == \l\p\f\c ]]
++ shift
++ [[ pcspkr == \m\p\t\2\s\a\s ]]
++ shift
++ [[ pcspkr == \l\i\b\s\a\s ]]
++ shift
++ [[ pcspkr == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ pcspkr == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ pcspkr == \a\i\c\7\x\x\x ]]
++ shift
++ [[ pcspkr == \a\i\c\7\9\x\x ]]
++ shift
++ [[ pcspkr == \s\t\e\x ]]
++ shift
++ [[ pcspkr == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ pcspkr == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ pcspkr == \a\i\c\9\4\x\x ]]
++ shift
++ [[ pcspkr == \b\n\x\2\i ]]
++ shift
++ [[ pcspkr == \s\r\_\m\o\d ]]
++ shift
++ [[ pcspkr == \s\t ]]
++ shift
++ [[ pcspkr == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ pcspkr == \i\p\s ]]
++ shift
++ [[ pcspkr == \a\r\c\m\s\r ]]
++ shift
++ [[ pcspkr == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ pcspkr == \c\x\g\b\4\i ]]
++ shift
++ [[ pcspkr == \c\x\g\b\3\i ]]
++ shift
++ [[ pcspkr == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ pcspkr == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ pcspkr == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray edac_mc cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=edac_mc
++ shift
++ [[ edac_mc == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ edac_mc == \c\c\i\s\s ]]
++ shift
++ [[ edac_mc == \D\A\C\9\6\0 ]]
++ shift
++ [[ edac_mc == \p\k\t\c\d\v\d ]]
++ shift
++ [[ edac_mc == \s\x\8 ]]
++ shift
++ [[ edac_mc == \n\b\d ]]
++ shift
++ [[ edac_mc == \a\o\e ]]
++ shift
++ [[ edac_mc == \f\l\o\p\p\y ]]
++ shift
++ [[ edac_mc == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ edac_mc == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ edac_mc == \l\o\o\p ]]
++ shift
++ [[ edac_mc == \p\g ]]
++ shift
++ [[ edac_mc == \o\n\2\6 ]]
++ shift
++ [[ edac_mc == \o\n\2\0 ]]
++ shift
++ [[ edac_mc == \f\i\t\2 ]]
++ shift
++ [[ edac_mc == \k\t\t\i ]]
++ shift
++ [[ edac_mc == \p\t ]]
++ shift
++ [[ edac_mc == \p\a\r\i\d\e ]]
++ shift
++ [[ edac_mc == \p\c\d ]]
++ shift
++ [[ edac_mc == \e\p\a\t ]]
++ shift
++ [[ edac_mc == \p\f ]]
++ shift
++ [[ edac_mc == \k\b\i\c ]]
++ shift
++ [[ edac_mc == \e\p\i\a ]]
++ shift
++ [[ edac_mc == \f\i\t\3 ]]
++ shift
++ [[ edac_mc == \f\r\p\w ]]
++ shift
++ [[ edac_mc == \p\d ]]
++ shift
++ [[ edac_mc == \d\s\t\r ]]
++ shift
++ [[ edac_mc == \c\o\m\m ]]
++ shift
++ [[ edac_mc == \b\p\c\k ]]
++ shift
++ [[ edac_mc == \f\r\i\q ]]
++ shift
++ [[ edac_mc == \a\t\e\n ]]
++ shift
++ [[ edac_mc == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ edac_mc == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ edac_mc == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ edac_mc == \i\d\e\-\c\d ]]
++ shift
++ [[ edac_mc == \i\d\e\-\c\s ]]
++ shift
++ [[ edac_mc == \l\i\b\a\t\a ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ edac_mc == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ edac_mc == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ edac_mc == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ edac_mc == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ edac_mc == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\m\v ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ edac_mc == \a\h\c\i ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ edac_mc == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\n\v ]]
++ shift
++ [[ edac_mc == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ edac_mc == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ edac_mc == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ edac_mc == \d\m\-\z\e\r\o ]]
++ shift
++ [[ edac_mc == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ edac_mc == \d\m\-\l\o\g ]]
++ shift
++ [[ edac_mc == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ edac_mc == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ edac_mc == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ edac_mc == \r\a\i\d\1\0 ]]
++ shift
++ [[ edac_mc == \f\a\u\l\t\y ]]
++ shift
++ [[ edac_mc == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ edac_mc == \r\a\i\d\1 ]]
++ shift
++ [[ edac_mc == \d\m\-\e\m\c ]]
++ shift
++ [[ edac_mc == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ edac_mc == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ edac_mc == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ edac_mc == \d\m\-\r\d\a\c ]]
++ shift
++ [[ edac_mc == \x\o\r ]]
++ shift
++ [[ edac_mc == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ edac_mc == \d\m\-\m\o\d ]]
++ shift
++ [[ edac_mc == \l\i\n\e\a\r ]]
++ shift
++ [[ edac_mc == \r\a\i\d\0 ]]
++ shift
++ [[ edac_mc == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ edac_mc == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ edac_mc == \m\p\t\b\a\s\e ]]
++ shift
++ [[ edac_mc == \m\p\t\l\a\n ]]
++ shift
++ [[ edac_mc == \m\p\t\f\c ]]
++ shift
++ [[ edac_mc == \m\p\t\s\p\i ]]
++ shift
++ [[ edac_mc == \m\p\t\s\a\s ]]
++ shift
++ [[ edac_mc == \m\p\t\c\t\l ]]
++ shift
++ [[ edac_mc == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ edac_mc == \i\2\o\_\b\u\s ]]
++ shift
++ [[ edac_mc == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ edac_mc == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ edac_mc == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ edac_mc == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ edac_mc == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ edac_mc == \c\h ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ edac_mc == \p\p\a ]]
++ shift
++ [[ edac_mc == \i\s\c\i ]]
++ shift
++ [[ edac_mc == \3\w\-\x\x\x\x ]]
++ shift
++ [[ edac_mc == \s\e\s ]]
++ shift
++ [[ edac_mc == \p\m\c\r\a\i\d ]]
++ shift
++ [[ edac_mc == \l\i\b\f\c ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ edac_mc == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ edac_mc == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ edac_mc == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ edac_mc == \d\c\3\9\5\x ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ edac_mc == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ edac_mc == \g\d\t\h ]]
++ shift
++ [[ edac_mc == \a\a\c\r\a\i\d ]]
++ shift
++ [[ edac_mc == \l\i\b\f\c\o\e ]]
++ shift
++ [[ edac_mc == \f\c\o\e ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ edac_mc == \o\s\s\t ]]
++ shift
++ [[ edac_mc == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ edac_mc == \s\d\_\m\o\d ]]
++ shift
++ [[ edac_mc == \i\m\m ]]
++ shift
++ [[ edac_mc == \i\n\i\t\i\o ]]
++ shift
++ [[ edac_mc == \a\t\p\8\7\0\u ]]
++ shift
++ [[ edac_mc == \h\p\t\i\o\p ]]
++ shift
++ [[ edac_mc == \q\l\a\2\x\x\x ]]
++ shift
++ [[ edac_mc == \f\n\i\c ]]
++ shift
++ [[ edac_mc == \b\f\a ]]
++ shift
++ [[ edac_mc == \m\v\s\a\s ]]
++ shift
++ [[ edac_mc == \s\g ]]
++ shift
++ [[ edac_mc == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\d\h ]]
++ shift
++ [[ edac_mc == \3\w\-\9\x\x\x ]]
++ shift
++ [[ edac_mc == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ edac_mc == \3\w\-\s\a\s ]]
++ shift
++ [[ edac_mc == \l\p\f\c ]]
++ shift
++ [[ edac_mc == \m\p\t\2\s\a\s ]]
++ shift
++ [[ edac_mc == \l\i\b\s\a\s ]]
++ shift
++ [[ edac_mc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ edac_mc == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ edac_mc == \a\i\c\7\x\x\x ]]
++ shift
++ [[ edac_mc == \a\i\c\7\9\x\x ]]
++ shift
++ [[ edac_mc == \s\t\e\x ]]
++ shift
++ [[ edac_mc == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ edac_mc == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ edac_mc == \a\i\c\9\4\x\x ]]
++ shift
++ [[ edac_mc == \b\n\x\2\i ]]
++ shift
++ [[ edac_mc == \s\r\_\m\o\d ]]
++ shift
++ [[ edac_mc == \s\t ]]
++ shift
++ [[ edac_mc == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ edac_mc == \i\p\s ]]
++ shift
++ [[ edac_mc == \a\r\c\m\s\r ]]
++ shift
++ [[ edac_mc == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ edac_mc == \c\x\g\b\4\i ]]
++ shift
++ [[ edac_mc == \c\x\g\b\3\i ]]
++ shift
++ [[ edac_mc == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ edac_mc == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ edac_mc == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray serio_raw cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=serio_raw
++ shift
++ [[ serio_raw == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ serio_raw == \c\c\i\s\s ]]
++ shift
++ [[ serio_raw == \D\A\C\9\6\0 ]]
++ shift
++ [[ serio_raw == \p\k\t\c\d\v\d ]]
++ shift
++ [[ serio_raw == \s\x\8 ]]
++ shift
++ [[ serio_raw == \n\b\d ]]
++ shift
++ [[ serio_raw == \a\o\e ]]
++ shift
++ [[ serio_raw == \f\l\o\p\p\y ]]
++ shift
++ [[ serio_raw == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ serio_raw == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ serio_raw == \l\o\o\p ]]
++ shift
++ [[ serio_raw == \p\g ]]
++ shift
++ [[ serio_raw == \o\n\2\6 ]]
++ shift
++ [[ serio_raw == \o\n\2\0 ]]
++ shift
++ [[ serio_raw == \f\i\t\2 ]]
++ shift
++ [[ serio_raw == \k\t\t\i ]]
++ shift
++ [[ serio_raw == \p\t ]]
++ shift
++ [[ serio_raw == \p\a\r\i\d\e ]]
++ shift
++ [[ serio_raw == \p\c\d ]]
++ shift
++ [[ serio_raw == \e\p\a\t ]]
++ shift
++ [[ serio_raw == \p\f ]]
++ shift
++ [[ serio_raw == \k\b\i\c ]]
++ shift
++ [[ serio_raw == \e\p\i\a ]]
++ shift
++ [[ serio_raw == \f\i\t\3 ]]
++ shift
++ [[ serio_raw == \f\r\p\w ]]
++ shift
++ [[ serio_raw == \p\d ]]
++ shift
++ [[ serio_raw == \d\s\t\r ]]
++ shift
++ [[ serio_raw == \c\o\m\m ]]
++ shift
++ [[ serio_raw == \b\p\c\k ]]
++ shift
++ [[ serio_raw == \f\r\i\q ]]
++ shift
++ [[ serio_raw == \a\t\e\n ]]
++ shift
++ [[ serio_raw == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ serio_raw == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ serio_raw == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ serio_raw == \i\d\e\-\c\d ]]
++ shift
++ [[ serio_raw == \i\d\e\-\c\s ]]
++ shift
++ [[ serio_raw == \l\i\b\a\t\a ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ serio_raw == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ serio_raw == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ serio_raw == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ serio_raw == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ serio_raw == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\m\v ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ serio_raw == \a\h\c\i ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ serio_raw == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\n\v ]]
++ shift
++ [[ serio_raw == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ serio_raw == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ serio_raw == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ serio_raw == \d\m\-\z\e\r\o ]]
++ shift
++ [[ serio_raw == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ serio_raw == \d\m\-\l\o\g ]]
++ shift
++ [[ serio_raw == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ serio_raw == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ serio_raw == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ serio_raw == \r\a\i\d\1\0 ]]
++ shift
++ [[ serio_raw == \f\a\u\l\t\y ]]
++ shift
++ [[ serio_raw == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ serio_raw == \r\a\i\d\1 ]]
++ shift
++ [[ serio_raw == \d\m\-\e\m\c ]]
++ shift
++ [[ serio_raw == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ serio_raw == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ serio_raw == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ serio_raw == \d\m\-\r\d\a\c ]]
++ shift
++ [[ serio_raw == \x\o\r ]]
++ shift
++ [[ serio_raw == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ serio_raw == \d\m\-\m\o\d ]]
++ shift
++ [[ serio_raw == \l\i\n\e\a\r ]]
++ shift
++ [[ serio_raw == \r\a\i\d\0 ]]
++ shift
++ [[ serio_raw == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ serio_raw == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ serio_raw == \m\p\t\b\a\s\e ]]
++ shift
++ [[ serio_raw == \m\p\t\l\a\n ]]
++ shift
++ [[ serio_raw == \m\p\t\f\c ]]
++ shift
++ [[ serio_raw == \m\p\t\s\p\i ]]
++ shift
++ [[ serio_raw == \m\p\t\s\a\s ]]
++ shift
++ [[ serio_raw == \m\p\t\c\t\l ]]
++ shift
++ [[ serio_raw == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ serio_raw == \i\2\o\_\b\u\s ]]
++ shift
++ [[ serio_raw == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ serio_raw == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ serio_raw == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ serio_raw == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ serio_raw == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ serio_raw == \c\h ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ serio_raw == \p\p\a ]]
++ shift
++ [[ serio_raw == \i\s\c\i ]]
++ shift
++ [[ serio_raw == \3\w\-\x\x\x\x ]]
++ shift
++ [[ serio_raw == \s\e\s ]]
++ shift
++ [[ serio_raw == \p\m\c\r\a\i\d ]]
++ shift
++ [[ serio_raw == \l\i\b\f\c ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ serio_raw == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ serio_raw == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ serio_raw == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ serio_raw == \d\c\3\9\5\x ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ serio_raw == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ serio_raw == \g\d\t\h ]]
++ shift
++ [[ serio_raw == \a\a\c\r\a\i\d ]]
++ shift
++ [[ serio_raw == \l\i\b\f\c\o\e ]]
++ shift
++ [[ serio_raw == \f\c\o\e ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ serio_raw == \o\s\s\t ]]
++ shift
++ [[ serio_raw == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ serio_raw == \s\d\_\m\o\d ]]
++ shift
++ [[ serio_raw == \i\m\m ]]
++ shift
++ [[ serio_raw == \i\n\i\t\i\o ]]
++ shift
++ [[ serio_raw == \a\t\p\8\7\0\u ]]
++ shift
++ [[ serio_raw == \h\p\t\i\o\p ]]
++ shift
++ [[ serio_raw == \q\l\a\2\x\x\x ]]
++ shift
++ [[ serio_raw == \f\n\i\c ]]
++ shift
++ [[ serio_raw == \b\f\a ]]
++ shift
++ [[ serio_raw == \m\v\s\a\s ]]
++ shift
++ [[ serio_raw == \s\g ]]
++ shift
++ [[ serio_raw == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\d\h ]]
++ shift
++ [[ serio_raw == \3\w\-\9\x\x\x ]]
++ shift
++ [[ serio_raw == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ serio_raw == \3\w\-\s\a\s ]]
++ shift
++ [[ serio_raw == \l\p\f\c ]]
++ shift
++ [[ serio_raw == \m\p\t\2\s\a\s ]]
++ shift
++ [[ serio_raw == \l\i\b\s\a\s ]]
++ shift
++ [[ serio_raw == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ serio_raw == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ serio_raw == \a\i\c\7\x\x\x ]]
++ shift
++ [[ serio_raw == \a\i\c\7\9\x\x ]]
++ shift
++ [[ serio_raw == \s\t\e\x ]]
++ shift
++ [[ serio_raw == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ serio_raw == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ serio_raw == \a\i\c\9\4\x\x ]]
++ shift
++ [[ serio_raw == \b\n\x\2\i ]]
++ shift
++ [[ serio_raw == \s\r\_\m\o\d ]]
++ shift
++ [[ serio_raw == \s\t ]]
++ shift
++ [[ serio_raw == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ serio_raw == \i\p\s ]]
++ shift
++ [[ serio_raw == \a\r\c\m\s\r ]]
++ shift
++ [[ serio_raw == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ serio_raw == \c\x\g\b\4\i ]]
++ shift
++ [[ serio_raw == \c\x\g\b\3\i ]]
++ shift
++ [[ serio_raw == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ serio_raw == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ serio_raw == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray 8021q cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=8021q
++ shift
++ [[ 8021q == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ 8021q == \c\c\i\s\s ]]
++ shift
++ [[ 8021q == \D\A\C\9\6\0 ]]
++ shift
++ [[ 8021q == \p\k\t\c\d\v\d ]]
++ shift
++ [[ 8021q == \s\x\8 ]]
++ shift
++ [[ 8021q == \n\b\d ]]
++ shift
++ [[ 8021q == \a\o\e ]]
++ shift
++ [[ 8021q == \f\l\o\p\p\y ]]
++ shift
++ [[ 8021q == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ 8021q == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ 8021q == \l\o\o\p ]]
++ shift
++ [[ 8021q == \p\g ]]
++ shift
++ [[ 8021q == \o\n\2\6 ]]
++ shift
++ [[ 8021q == \o\n\2\0 ]]
++ shift
++ [[ 8021q == \f\i\t\2 ]]
++ shift
++ [[ 8021q == \k\t\t\i ]]
++ shift
++ [[ 8021q == \p\t ]]
++ shift
++ [[ 8021q == \p\a\r\i\d\e ]]
++ shift
++ [[ 8021q == \p\c\d ]]
++ shift
++ [[ 8021q == \e\p\a\t ]]
++ shift
++ [[ 8021q == \p\f ]]
++ shift
++ [[ 8021q == \k\b\i\c ]]
++ shift
++ [[ 8021q == \e\p\i\a ]]
++ shift
++ [[ 8021q == \f\i\t\3 ]]
++ shift
++ [[ 8021q == \f\r\p\w ]]
++ shift
++ [[ 8021q == \p\d ]]
++ shift
++ [[ 8021q == \d\s\t\r ]]
++ shift
++ [[ 8021q == \c\o\m\m ]]
++ shift
++ [[ 8021q == \b\p\c\k ]]
++ shift
++ [[ 8021q == \f\r\i\q ]]
++ shift
++ [[ 8021q == \a\t\e\n ]]
++ shift
++ [[ 8021q == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ 8021q == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ 8021q == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ 8021q == \i\d\e\-\c\d ]]
++ shift
++ [[ 8021q == \i\d\e\-\c\s ]]
++ shift
++ [[ 8021q == \l\i\b\a\t\a ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ 8021q == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ 8021q == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ 8021q == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ 8021q == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ 8021q == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\m\v ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ 8021q == \a\h\c\i ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ 8021q == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\n\v ]]
++ shift
++ [[ 8021q == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ 8021q == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ 8021q == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ 8021q == \d\m\-\z\e\r\o ]]
++ shift
++ [[ 8021q == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ 8021q == \d\m\-\l\o\g ]]
++ shift
++ [[ 8021q == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ 8021q == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ 8021q == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ 8021q == \r\a\i\d\1\0 ]]
++ shift
++ [[ 8021q == \f\a\u\l\t\y ]]
++ shift
++ [[ 8021q == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ 8021q == \r\a\i\d\1 ]]
++ shift
++ [[ 8021q == \d\m\-\e\m\c ]]
++ shift
++ [[ 8021q == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ 8021q == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ 8021q == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ 8021q == \d\m\-\r\d\a\c ]]
++ shift
++ [[ 8021q == \x\o\r ]]
++ shift
++ [[ 8021q == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ 8021q == \d\m\-\m\o\d ]]
++ shift
++ [[ 8021q == \l\i\n\e\a\r ]]
++ shift
++ [[ 8021q == \r\a\i\d\0 ]]
++ shift
++ [[ 8021q == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ 8021q == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ 8021q == \m\p\t\b\a\s\e ]]
++ shift
++ [[ 8021q == \m\p\t\l\a\n ]]
++ shift
++ [[ 8021q == \m\p\t\f\c ]]
++ shift
++ [[ 8021q == \m\p\t\s\p\i ]]
++ shift
++ [[ 8021q == \m\p\t\s\a\s ]]
++ shift
++ [[ 8021q == \m\p\t\c\t\l ]]
++ shift
++ [[ 8021q == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ 8021q == \i\2\o\_\b\u\s ]]
++ shift
++ [[ 8021q == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ 8021q == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ 8021q == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ 8021q == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ 8021q == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ 8021q == \c\h ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ 8021q == \p\p\a ]]
++ shift
++ [[ 8021q == \i\s\c\i ]]
++ shift
++ [[ 8021q == \3\w\-\x\x\x\x ]]
++ shift
++ [[ 8021q == \s\e\s ]]
++ shift
++ [[ 8021q == \p\m\c\r\a\i\d ]]
++ shift
++ [[ 8021q == \l\i\b\f\c ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ 8021q == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ 8021q == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ 8021q == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ 8021q == \d\c\3\9\5\x ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ 8021q == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ 8021q == \g\d\t\h ]]
++ shift
++ [[ 8021q == \a\a\c\r\a\i\d ]]
++ shift
++ [[ 8021q == \l\i\b\f\c\o\e ]]
++ shift
++ [[ 8021q == \f\c\o\e ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ 8021q == \o\s\s\t ]]
++ shift
++ [[ 8021q == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ 8021q == \s\d\_\m\o\d ]]
++ shift
++ [[ 8021q == \i\m\m ]]
++ shift
++ [[ 8021q == \i\n\i\t\i\o ]]
++ shift
++ [[ 8021q == \a\t\p\8\7\0\u ]]
++ shift
++ [[ 8021q == \h\p\t\i\o\p ]]
++ shift
++ [[ 8021q == \q\l\a\2\x\x\x ]]
++ shift
++ [[ 8021q == \f\n\i\c ]]
++ shift
++ [[ 8021q == \b\f\a ]]
++ shift
++ [[ 8021q == \m\v\s\a\s ]]
++ shift
++ [[ 8021q == \s\g ]]
++ shift
++ [[ 8021q == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\d\h ]]
++ shift
++ [[ 8021q == \3\w\-\9\x\x\x ]]
++ shift
++ [[ 8021q == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ 8021q == \3\w\-\s\a\s ]]
++ shift
++ [[ 8021q == \l\p\f\c ]]
++ shift
++ [[ 8021q == \m\p\t\2\s\a\s ]]
++ shift
++ [[ 8021q == \l\i\b\s\a\s ]]
++ shift
++ [[ 8021q == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ 8021q == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ 8021q == \a\i\c\7\x\x\x ]]
++ shift
++ [[ 8021q == \a\i\c\7\9\x\x ]]
++ shift
++ [[ 8021q == \s\t\e\x ]]
++ shift
++ [[ 8021q == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ 8021q == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ 8021q == \a\i\c\9\4\x\x ]]
++ shift
++ [[ 8021q == \b\n\x\2\i ]]
++ shift
++ [[ 8021q == \s\r\_\m\o\d ]]
++ shift
++ [[ 8021q == \s\t ]]
++ shift
++ [[ 8021q == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ 8021q == \i\p\s ]]
++ shift
++ [[ 8021q == \a\r\c\m\s\r ]]
++ shift
++ [[ 8021q == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ 8021q == \c\x\g\b\4\i ]]
++ shift
++ [[ 8021q == \c\x\g\b\3\i ]]
++ shift
++ [[ 8021q == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ 8021q == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ 8021q == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ehci_hcd cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=ehci_hcd
++ shift
++ [[ ehci_hcd == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ehci_hcd == \c\c\i\s\s ]]
++ shift
++ [[ ehci_hcd == \D\A\C\9\6\0 ]]
++ shift
++ [[ ehci_hcd == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ehci_hcd == \s\x\8 ]]
++ shift
++ [[ ehci_hcd == \n\b\d ]]
++ shift
++ [[ ehci_hcd == \a\o\e ]]
++ shift
++ [[ ehci_hcd == \f\l\o\p\p\y ]]
++ shift
++ [[ ehci_hcd == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ehci_hcd == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ ehci_hcd == \l\o\o\p ]]
++ shift
++ [[ ehci_hcd == \p\g ]]
++ shift
++ [[ ehci_hcd == \o\n\2\6 ]]
++ shift
++ [[ ehci_hcd == \o\n\2\0 ]]
++ shift
++ [[ ehci_hcd == \f\i\t\2 ]]
++ shift
++ [[ ehci_hcd == \k\t\t\i ]]
++ shift
++ [[ ehci_hcd == \p\t ]]
++ shift
++ [[ ehci_hcd == \p\a\r\i\d\e ]]
++ shift
++ [[ ehci_hcd == \p\c\d ]]
++ shift
++ [[ ehci_hcd == \e\p\a\t ]]
++ shift
++ [[ ehci_hcd == \p\f ]]
++ shift
++ [[ ehci_hcd == \k\b\i\c ]]
++ shift
++ [[ ehci_hcd == \e\p\i\a ]]
++ shift
++ [[ ehci_hcd == \f\i\t\3 ]]
++ shift
++ [[ ehci_hcd == \f\r\p\w ]]
++ shift
++ [[ ehci_hcd == \p\d ]]
++ shift
++ [[ ehci_hcd == \d\s\t\r ]]
++ shift
++ [[ ehci_hcd == \c\o\m\m ]]
++ shift
++ [[ ehci_hcd == \b\p\c\k ]]
++ shift
++ [[ ehci_hcd == \f\r\i\q ]]
++ shift
++ [[ ehci_hcd == \a\t\e\n ]]
++ shift
++ [[ ehci_hcd == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ehci_hcd == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ ehci_hcd == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ ehci_hcd == \i\d\e\-\c\d ]]
++ shift
++ [[ ehci_hcd == \i\d\e\-\c\s ]]
++ shift
++ [[ ehci_hcd == \l\i\b\a\t\a ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ehci_hcd == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ehci_hcd == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ehci_hcd == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ ehci_hcd == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ehci_hcd == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\m\v ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ehci_hcd == \a\h\c\i ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ehci_hcd == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ehci_hcd == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ehci_hcd == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ ehci_hcd == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ ehci_hcd == \d\m\-\z\e\r\o ]]
++ shift
++ [[ ehci_hcd == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ ehci_hcd == \d\m\-\l\o\g ]]
++ shift
++ [[ ehci_hcd == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ ehci_hcd == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ ehci_hcd == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ehci_hcd == \r\a\i\d\1\0 ]]
++ shift
++ [[ ehci_hcd == \f\a\u\l\t\y ]]
++ shift
++ [[ ehci_hcd == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ ehci_hcd == \r\a\i\d\1 ]]
++ shift
++ [[ ehci_hcd == \d\m\-\e\m\c ]]
++ shift
++ [[ ehci_hcd == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ ehci_hcd == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ ehci_hcd == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ehci_hcd == \d\m\-\r\d\a\c ]]
++ shift
++ [[ ehci_hcd == \x\o\r ]]
++ shift
++ [[ ehci_hcd == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ ehci_hcd == \d\m\-\m\o\d ]]
++ shift
++ [[ ehci_hcd == \l\i\n\e\a\r ]]
++ shift
++ [[ ehci_hcd == \r\a\i\d\0 ]]
++ shift
++ [[ ehci_hcd == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ ehci_hcd == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ ehci_hcd == \m\p\t\b\a\s\e ]]
++ shift
++ [[ ehci_hcd == \m\p\t\l\a\n ]]
++ shift
++ [[ ehci_hcd == \m\p\t\f\c ]]
++ shift
++ [[ ehci_hcd == \m\p\t\s\p\i ]]
++ shift
++ [[ ehci_hcd == \m\p\t\s\a\s ]]
++ shift
++ [[ ehci_hcd == \m\p\t\c\t\l ]]
++ shift
++ [[ ehci_hcd == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ ehci_hcd == \i\2\o\_\b\u\s ]]
++ shift
++ [[ ehci_hcd == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ ehci_hcd == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ ehci_hcd == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ ehci_hcd == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ ehci_hcd == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ ehci_hcd == \c\h ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ ehci_hcd == \p\p\a ]]
++ shift
++ [[ ehci_hcd == \i\s\c\i ]]
++ shift
++ [[ ehci_hcd == \3\w\-\x\x\x\x ]]
++ shift
++ [[ ehci_hcd == \s\e\s ]]
++ shift
++ [[ ehci_hcd == \p\m\c\r\a\i\d ]]
++ shift
++ [[ ehci_hcd == \l\i\b\f\c ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ ehci_hcd == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ ehci_hcd == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ ehci_hcd == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ ehci_hcd == \d\c\3\9\5\x ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ ehci_hcd == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ ehci_hcd == \g\d\t\h ]]
++ shift
++ [[ ehci_hcd == \a\a\c\r\a\i\d ]]
++ shift
++ [[ ehci_hcd == \l\i\b\f\c\o\e ]]
++ shift
++ [[ ehci_hcd == \f\c\o\e ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ ehci_hcd == \o\s\s\t ]]
++ shift
++ [[ ehci_hcd == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ehci_hcd == \s\d\_\m\o\d ]]
++ shift
++ [[ ehci_hcd == \i\m\m ]]
++ shift
++ [[ ehci_hcd == \i\n\i\t\i\o ]]
++ shift
++ [[ ehci_hcd == \a\t\p\8\7\0\u ]]
++ shift
++ [[ ehci_hcd == \h\p\t\i\o\p ]]
++ shift
++ [[ ehci_hcd == \q\l\a\2\x\x\x ]]
++ shift
++ [[ ehci_hcd == \f\n\i\c ]]
++ shift
++ [[ ehci_hcd == \b\f\a ]]
++ shift
++ [[ ehci_hcd == \m\v\s\a\s ]]
++ shift
++ [[ ehci_hcd == \s\g ]]
++ shift
++ [[ ehci_hcd == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\d\h ]]
++ shift
++ [[ ehci_hcd == \3\w\-\9\x\x\x ]]
++ shift
++ [[ ehci_hcd == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ ehci_hcd == \3\w\-\s\a\s ]]
++ shift
++ [[ ehci_hcd == \l\p\f\c ]]
++ shift
++ [[ ehci_hcd == \m\p\t\2\s\a\s ]]
++ shift
++ [[ ehci_hcd == \l\i\b\s\a\s ]]
++ shift
++ [[ ehci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ ehci_hcd == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ ehci_hcd == \a\i\c\7\x\x\x ]]
++ shift
++ [[ ehci_hcd == \a\i\c\7\9\x\x ]]
++ shift
++ [[ ehci_hcd == \s\t\e\x ]]
++ shift
++ [[ ehci_hcd == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ ehci_hcd == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ ehci_hcd == \a\i\c\9\4\x\x ]]
++ shift
++ [[ ehci_hcd == \b\n\x\2\i ]]
++ shift
++ [[ ehci_hcd == \s\r\_\m\o\d ]]
++ shift
++ [[ ehci_hcd == \s\t ]]
++ shift
++ [[ ehci_hcd == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ ehci_hcd == \i\p\s ]]
++ shift
++ [[ ehci_hcd == \a\r\c\m\s\r ]]
++ shift
++ [[ ehci_hcd == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ ehci_hcd == \c\x\g\b\4\i ]]
++ shift
++ [[ ehci_hcd == \c\x\g\b\3\i ]]
++ shift
++ [[ ehci_hcd == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ ehci_hcd == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ ehci_hcd == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray tpm_tis cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=tpm_tis
++ shift
++ [[ tpm_tis == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ tpm_tis == \c\c\i\s\s ]]
++ shift
++ [[ tpm_tis == \D\A\C\9\6\0 ]]
++ shift
++ [[ tpm_tis == \p\k\t\c\d\v\d ]]
++ shift
++ [[ tpm_tis == \s\x\8 ]]
++ shift
++ [[ tpm_tis == \n\b\d ]]
++ shift
++ [[ tpm_tis == \a\o\e ]]
++ shift
++ [[ tpm_tis == \f\l\o\p\p\y ]]
++ shift
++ [[ tpm_tis == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ tpm_tis == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ tpm_tis == \l\o\o\p ]]
++ shift
++ [[ tpm_tis == \p\g ]]
++ shift
++ [[ tpm_tis == \o\n\2\6 ]]
++ shift
++ [[ tpm_tis == \o\n\2\0 ]]
++ shift
++ [[ tpm_tis == \f\i\t\2 ]]
++ shift
++ [[ tpm_tis == \k\t\t\i ]]
++ shift
++ [[ tpm_tis == \p\t ]]
++ shift
++ [[ tpm_tis == \p\a\r\i\d\e ]]
++ shift
++ [[ tpm_tis == \p\c\d ]]
++ shift
++ [[ tpm_tis == \e\p\a\t ]]
++ shift
++ [[ tpm_tis == \p\f ]]
++ shift
++ [[ tpm_tis == \k\b\i\c ]]
++ shift
++ [[ tpm_tis == \e\p\i\a ]]
++ shift
++ [[ tpm_tis == \f\i\t\3 ]]
++ shift
++ [[ tpm_tis == \f\r\p\w ]]
++ shift
++ [[ tpm_tis == \p\d ]]
++ shift
++ [[ tpm_tis == \d\s\t\r ]]
++ shift
++ [[ tpm_tis == \c\o\m\m ]]
++ shift
++ [[ tpm_tis == \b\p\c\k ]]
++ shift
++ [[ tpm_tis == \f\r\i\q ]]
++ shift
++ [[ tpm_tis == \a\t\e\n ]]
++ shift
++ [[ tpm_tis == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ tpm_tis == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ tpm_tis == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ tpm_tis == \i\d\e\-\c\d ]]
++ shift
++ [[ tpm_tis == \i\d\e\-\c\s ]]
++ shift
++ [[ tpm_tis == \l\i\b\a\t\a ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ tpm_tis == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ tpm_tis == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ tpm_tis == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ tpm_tis == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ tpm_tis == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\m\v ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ tpm_tis == \a\h\c\i ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ tpm_tis == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\n\v ]]
++ shift
++ [[ tpm_tis == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ tpm_tis == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ tpm_tis == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ tpm_tis == \d\m\-\z\e\r\o ]]
++ shift
++ [[ tpm_tis == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ tpm_tis == \d\m\-\l\o\g ]]
++ shift
++ [[ tpm_tis == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ tpm_tis == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ tpm_tis == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ tpm_tis == \r\a\i\d\1\0 ]]
++ shift
++ [[ tpm_tis == \f\a\u\l\t\y ]]
++ shift
++ [[ tpm_tis == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ tpm_tis == \r\a\i\d\1 ]]
++ shift
++ [[ tpm_tis == \d\m\-\e\m\c ]]
++ shift
++ [[ tpm_tis == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ tpm_tis == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ tpm_tis == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ tpm_tis == \d\m\-\r\d\a\c ]]
++ shift
++ [[ tpm_tis == \x\o\r ]]
++ shift
++ [[ tpm_tis == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ tpm_tis == \d\m\-\m\o\d ]]
++ shift
++ [[ tpm_tis == \l\i\n\e\a\r ]]
++ shift
++ [[ tpm_tis == \r\a\i\d\0 ]]
++ shift
++ [[ tpm_tis == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ tpm_tis == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ tpm_tis == \m\p\t\b\a\s\e ]]
++ shift
++ [[ tpm_tis == \m\p\t\l\a\n ]]
++ shift
++ [[ tpm_tis == \m\p\t\f\c ]]
++ shift
++ [[ tpm_tis == \m\p\t\s\p\i ]]
++ shift
++ [[ tpm_tis == \m\p\t\s\a\s ]]
++ shift
++ [[ tpm_tis == \m\p\t\c\t\l ]]
++ shift
++ [[ tpm_tis == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ tpm_tis == \i\2\o\_\b\u\s ]]
++ shift
++ [[ tpm_tis == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ tpm_tis == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ tpm_tis == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ tpm_tis == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ tpm_tis == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ tpm_tis == \c\h ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ tpm_tis == \p\p\a ]]
++ shift
++ [[ tpm_tis == \i\s\c\i ]]
++ shift
++ [[ tpm_tis == \3\w\-\x\x\x\x ]]
++ shift
++ [[ tpm_tis == \s\e\s ]]
++ shift
++ [[ tpm_tis == \p\m\c\r\a\i\d ]]
++ shift
++ [[ tpm_tis == \l\i\b\f\c ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ tpm_tis == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ tpm_tis == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ tpm_tis == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ tpm_tis == \d\c\3\9\5\x ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ tpm_tis == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ tpm_tis == \g\d\t\h ]]
++ shift
++ [[ tpm_tis == \a\a\c\r\a\i\d ]]
++ shift
++ [[ tpm_tis == \l\i\b\f\c\o\e ]]
++ shift
++ [[ tpm_tis == \f\c\o\e ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ tpm_tis == \o\s\s\t ]]
++ shift
++ [[ tpm_tis == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ tpm_tis == \s\d\_\m\o\d ]]
++ shift
++ [[ tpm_tis == \i\m\m ]]
++ shift
++ [[ tpm_tis == \i\n\i\t\i\o ]]
++ shift
++ [[ tpm_tis == \a\t\p\8\7\0\u ]]
++ shift
++ [[ tpm_tis == \h\p\t\i\o\p ]]
++ shift
++ [[ tpm_tis == \q\l\a\2\x\x\x ]]
++ shift
++ [[ tpm_tis == \f\n\i\c ]]
++ shift
++ [[ tpm_tis == \b\f\a ]]
++ shift
++ [[ tpm_tis == \m\v\s\a\s ]]
++ shift
++ [[ tpm_tis == \s\g ]]
++ shift
++ [[ tpm_tis == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\d\h ]]
++ shift
++ [[ tpm_tis == \3\w\-\9\x\x\x ]]
++ shift
++ [[ tpm_tis == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ tpm_tis == \3\w\-\s\a\s ]]
++ shift
++ [[ tpm_tis == \l\p\f\c ]]
++ shift
++ [[ tpm_tis == \m\p\t\2\s\a\s ]]
++ shift
++ [[ tpm_tis == \l\i\b\s\a\s ]]
++ shift
++ [[ tpm_tis == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ tpm_tis == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ tpm_tis == \a\i\c\7\x\x\x ]]
++ shift
++ [[ tpm_tis == \a\i\c\7\9\x\x ]]
++ shift
++ [[ tpm_tis == \s\t\e\x ]]
++ shift
++ [[ tpm_tis == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ tpm_tis == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ tpm_tis == \a\i\c\9\4\x\x ]]
++ shift
++ [[ tpm_tis == \b\n\x\2\i ]]
++ shift
++ [[ tpm_tis == \s\r\_\m\o\d ]]
++ shift
++ [[ tpm_tis == \s\t ]]
++ shift
++ [[ tpm_tis == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ tpm_tis == \i\p\s ]]
++ shift
++ [[ tpm_tis == \a\r\c\m\s\r ]]
++ shift
++ [[ tpm_tis == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ tpm_tis == \c\x\g\b\4\i ]]
++ shift
++ [[ tpm_tis == \c\x\g\b\3\i ]]
++ shift
++ [[ tpm_tis == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ tpm_tis == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ tpm_tis == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray scsi_mod cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=scsi_mod
++ shift
++ [[ scsi_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ scsi_mod == \c\c\i\s\s ]]
++ shift
++ [[ scsi_mod == \D\A\C\9\6\0 ]]
++ shift
++ [[ scsi_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ scsi_mod == \s\x\8 ]]
++ shift
++ [[ scsi_mod == \n\b\d ]]
++ shift
++ [[ scsi_mod == \a\o\e ]]
++ shift
++ [[ scsi_mod == \f\l\o\p\p\y ]]
++ shift
++ [[ scsi_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ scsi_mod == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ scsi_mod == \l\o\o\p ]]
++ shift
++ [[ scsi_mod == \p\g ]]
++ shift
++ [[ scsi_mod == \o\n\2\6 ]]
++ shift
++ [[ scsi_mod == \o\n\2\0 ]]
++ shift
++ [[ scsi_mod == \f\i\t\2 ]]
++ shift
++ [[ scsi_mod == \k\t\t\i ]]
++ shift
++ [[ scsi_mod == \p\t ]]
++ shift
++ [[ scsi_mod == \p\a\r\i\d\e ]]
++ shift
++ [[ scsi_mod == \p\c\d ]]
++ shift
++ [[ scsi_mod == \e\p\a\t ]]
++ shift
++ [[ scsi_mod == \p\f ]]
++ shift
++ [[ scsi_mod == \k\b\i\c ]]
++ shift
++ [[ scsi_mod == \e\p\i\a ]]
++ shift
++ [[ scsi_mod == \f\i\t\3 ]]
++ shift
++ [[ scsi_mod == \f\r\p\w ]]
++ shift
++ [[ scsi_mod == \p\d ]]
++ shift
++ [[ scsi_mod == \d\s\t\r ]]
++ shift
++ [[ scsi_mod == \c\o\m\m ]]
++ shift
++ [[ scsi_mod == \b\p\c\k ]]
++ shift
++ [[ scsi_mod == \f\r\i\q ]]
++ shift
++ [[ scsi_mod == \a\t\e\n ]]
++ shift
++ [[ scsi_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ scsi_mod == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ scsi_mod == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ scsi_mod == \i\d\e\-\c\d ]]
++ shift
++ [[ scsi_mod == \i\d\e\-\c\s ]]
++ shift
++ [[ scsi_mod == \l\i\b\a\t\a ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ scsi_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ scsi_mod == \a\h\c\i ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ scsi_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ scsi_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ scsi_mod == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ scsi_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ scsi_mod == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ scsi_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ scsi_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ scsi_mod == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ scsi_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ scsi_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ scsi_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ scsi_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ scsi_mod == \r\a\i\d\1 ]]
++ shift
++ [[ scsi_mod == \d\m\-\e\m\c ]]
++ shift
++ [[ scsi_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ scsi_mod == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ scsi_mod == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ scsi_mod == \d\m\-\r\d\a\c ]]
++ shift
++ [[ scsi_mod == \x\o\r ]]
++ shift
++ [[ scsi_mod == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ scsi_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ scsi_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ scsi_mod == \r\a\i\d\0 ]]
++ shift
++ [[ scsi_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ scsi_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ scsi_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ scsi_mod == \m\p\t\l\a\n ]]
++ shift
++ [[ scsi_mod == \m\p\t\f\c ]]
++ shift
++ [[ scsi_mod == \m\p\t\s\p\i ]]
++ shift
++ [[ scsi_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ scsi_mod == \m\p\t\c\t\l ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\b\u\s ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ scsi_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ scsi_mod == \c\h ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ scsi_mod == \p\p\a ]]
++ shift
++ [[ scsi_mod == \i\s\c\i ]]
++ shift
++ [[ scsi_mod == \3\w\-\x\x\x\x ]]
++ shift
++ [[ scsi_mod == \s\e\s ]]
++ shift
++ [[ scsi_mod == \p\m\c\r\a\i\d ]]
++ shift
++ [[ scsi_mod == \l\i\b\f\c ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ scsi_mod == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ scsi_mod == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ scsi_mod == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ scsi_mod == \d\c\3\9\5\x ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ scsi_mod == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ scsi_mod == \g\d\t\h ]]
++ shift
++ [[ scsi_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ scsi_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ scsi_mod == \f\c\o\e ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\m\o\d ]]
++ return 0
++ echo scsi_mod
++ read module junk
++ IsInArray uhci_hcd cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=uhci_hcd
++ shift
++ [[ uhci_hcd == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ uhci_hcd == \c\c\i\s\s ]]
++ shift
++ [[ uhci_hcd == \D\A\C\9\6\0 ]]
++ shift
++ [[ uhci_hcd == \p\k\t\c\d\v\d ]]
++ shift
++ [[ uhci_hcd == \s\x\8 ]]
++ shift
++ [[ uhci_hcd == \n\b\d ]]
++ shift
++ [[ uhci_hcd == \a\o\e ]]
++ shift
++ [[ uhci_hcd == \f\l\o\p\p\y ]]
++ shift
++ [[ uhci_hcd == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ uhci_hcd == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ uhci_hcd == \l\o\o\p ]]
++ shift
++ [[ uhci_hcd == \p\g ]]
++ shift
++ [[ uhci_hcd == \o\n\2\6 ]]
++ shift
++ [[ uhci_hcd == \o\n\2\0 ]]
++ shift
++ [[ uhci_hcd == \f\i\t\2 ]]
++ shift
++ [[ uhci_hcd == \k\t\t\i ]]
++ shift
++ [[ uhci_hcd == \p\t ]]
++ shift
++ [[ uhci_hcd == \p\a\r\i\d\e ]]
++ shift
++ [[ uhci_hcd == \p\c\d ]]
++ shift
++ [[ uhci_hcd == \e\p\a\t ]]
++ shift
++ [[ uhci_hcd == \p\f ]]
++ shift
++ [[ uhci_hcd == \k\b\i\c ]]
++ shift
++ [[ uhci_hcd == \e\p\i\a ]]
++ shift
++ [[ uhci_hcd == \f\i\t\3 ]]
++ shift
++ [[ uhci_hcd == \f\r\p\w ]]
++ shift
++ [[ uhci_hcd == \p\d ]]
++ shift
++ [[ uhci_hcd == \d\s\t\r ]]
++ shift
++ [[ uhci_hcd == \c\o\m\m ]]
++ shift
++ [[ uhci_hcd == \b\p\c\k ]]
++ shift
++ [[ uhci_hcd == \f\r\i\q ]]
++ shift
++ [[ uhci_hcd == \a\t\e\n ]]
++ shift
++ [[ uhci_hcd == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ uhci_hcd == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ uhci_hcd == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ uhci_hcd == \i\d\e\-\c\d ]]
++ shift
++ [[ uhci_hcd == \i\d\e\-\c\s ]]
++ shift
++ [[ uhci_hcd == \l\i\b\a\t\a ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ uhci_hcd == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ uhci_hcd == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ uhci_hcd == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ uhci_hcd == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ uhci_hcd == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\m\v ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ uhci_hcd == \a\h\c\i ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ uhci_hcd == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\n\v ]]
++ shift
++ [[ uhci_hcd == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ uhci_hcd == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ uhci_hcd == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ uhci_hcd == \d\m\-\z\e\r\o ]]
++ shift
++ [[ uhci_hcd == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ uhci_hcd == \d\m\-\l\o\g ]]
++ shift
++ [[ uhci_hcd == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ uhci_hcd == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ uhci_hcd == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ uhci_hcd == \r\a\i\d\1\0 ]]
++ shift
++ [[ uhci_hcd == \f\a\u\l\t\y ]]
++ shift
++ [[ uhci_hcd == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ uhci_hcd == \r\a\i\d\1 ]]
++ shift
++ [[ uhci_hcd == \d\m\-\e\m\c ]]
++ shift
++ [[ uhci_hcd == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ uhci_hcd == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ uhci_hcd == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ uhci_hcd == \d\m\-\r\d\a\c ]]
++ shift
++ [[ uhci_hcd == \x\o\r ]]
++ shift
++ [[ uhci_hcd == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ uhci_hcd == \d\m\-\m\o\d ]]
++ shift
++ [[ uhci_hcd == \l\i\n\e\a\r ]]
++ shift
++ [[ uhci_hcd == \r\a\i\d\0 ]]
++ shift
++ [[ uhci_hcd == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ uhci_hcd == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ uhci_hcd == \m\p\t\b\a\s\e ]]
++ shift
++ [[ uhci_hcd == \m\p\t\l\a\n ]]
++ shift
++ [[ uhci_hcd == \m\p\t\f\c ]]
++ shift
++ [[ uhci_hcd == \m\p\t\s\p\i ]]
++ shift
++ [[ uhci_hcd == \m\p\t\s\a\s ]]
++ shift
++ [[ uhci_hcd == \m\p\t\c\t\l ]]
++ shift
++ [[ uhci_hcd == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ uhci_hcd == \i\2\o\_\b\u\s ]]
++ shift
++ [[ uhci_hcd == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ uhci_hcd == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ uhci_hcd == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ uhci_hcd == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ uhci_hcd == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ uhci_hcd == \c\h ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ uhci_hcd == \p\p\a ]]
++ shift
++ [[ uhci_hcd == \i\s\c\i ]]
++ shift
++ [[ uhci_hcd == \3\w\-\x\x\x\x ]]
++ shift
++ [[ uhci_hcd == \s\e\s ]]
++ shift
++ [[ uhci_hcd == \p\m\c\r\a\i\d ]]
++ shift
++ [[ uhci_hcd == \l\i\b\f\c ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ uhci_hcd == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ uhci_hcd == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ uhci_hcd == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ uhci_hcd == \d\c\3\9\5\x ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ uhci_hcd == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ uhci_hcd == \g\d\t\h ]]
++ shift
++ [[ uhci_hcd == \a\a\c\r\a\i\d ]]
++ shift
++ [[ uhci_hcd == \l\i\b\f\c\o\e ]]
++ shift
++ [[ uhci_hcd == \f\c\o\e ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ uhci_hcd == \o\s\s\t ]]
++ shift
++ [[ uhci_hcd == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ uhci_hcd == \s\d\_\m\o\d ]]
++ shift
++ [[ uhci_hcd == \i\m\m ]]
++ shift
++ [[ uhci_hcd == \i\n\i\t\i\o ]]
++ shift
++ [[ uhci_hcd == \a\t\p\8\7\0\u ]]
++ shift
++ [[ uhci_hcd == \h\p\t\i\o\p ]]
++ shift
++ [[ uhci_hcd == \q\l\a\2\x\x\x ]]
++ shift
++ [[ uhci_hcd == \f\n\i\c ]]
++ shift
++ [[ uhci_hcd == \b\f\a ]]
++ shift
++ [[ uhci_hcd == \m\v\s\a\s ]]
++ shift
++ [[ uhci_hcd == \s\g ]]
++ shift
++ [[ uhci_hcd == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\d\h ]]
++ shift
++ [[ uhci_hcd == \3\w\-\9\x\x\x ]]
++ shift
++ [[ uhci_hcd == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ uhci_hcd == \3\w\-\s\a\s ]]
++ shift
++ [[ uhci_hcd == \l\p\f\c ]]
++ shift
++ [[ uhci_hcd == \m\p\t\2\s\a\s ]]
++ shift
++ [[ uhci_hcd == \l\i\b\s\a\s ]]
++ shift
++ [[ uhci_hcd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ uhci_hcd == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ uhci_hcd == \a\i\c\7\x\x\x ]]
++ shift
++ [[ uhci_hcd == \a\i\c\7\9\x\x ]]
++ shift
++ [[ uhci_hcd == \s\t\e\x ]]
++ shift
++ [[ uhci_hcd == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ uhci_hcd == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ uhci_hcd == \a\i\c\9\4\x\x ]]
++ shift
++ [[ uhci_hcd == \b\n\x\2\i ]]
++ shift
++ [[ uhci_hcd == \s\r\_\m\o\d ]]
++ shift
++ [[ uhci_hcd == \s\t ]]
++ shift
++ [[ uhci_hcd == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ uhci_hcd == \i\p\s ]]
++ shift
++ [[ uhci_hcd == \a\r\c\m\s\r ]]
++ shift
++ [[ uhci_hcd == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ uhci_hcd == \c\x\g\b\4\i ]]
++ shift
++ [[ uhci_hcd == \c\x\g\b\3\i ]]
++ shift
++ [[ uhci_hcd == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ uhci_hcd == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ uhci_hcd == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray tpm cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=tpm
++ shift
++ [[ tpm == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ tpm == \c\c\i\s\s ]]
++ shift
++ [[ tpm == \D\A\C\9\6\0 ]]
++ shift
++ [[ tpm == \p\k\t\c\d\v\d ]]
++ shift
++ [[ tpm == \s\x\8 ]]
++ shift
++ [[ tpm == \n\b\d ]]
++ shift
++ [[ tpm == \a\o\e ]]
++ shift
++ [[ tpm == \f\l\o\p\p\y ]]
++ shift
++ [[ tpm == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ tpm == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ tpm == \l\o\o\p ]]
++ shift
++ [[ tpm == \p\g ]]
++ shift
++ [[ tpm == \o\n\2\6 ]]
++ shift
++ [[ tpm == \o\n\2\0 ]]
++ shift
++ [[ tpm == \f\i\t\2 ]]
++ shift
++ [[ tpm == \k\t\t\i ]]
++ shift
++ [[ tpm == \p\t ]]
++ shift
++ [[ tpm == \p\a\r\i\d\e ]]
++ shift
++ [[ tpm == \p\c\d ]]
++ shift
++ [[ tpm == \e\p\a\t ]]
++ shift
++ [[ tpm == \p\f ]]
++ shift
++ [[ tpm == \k\b\i\c ]]
++ shift
++ [[ tpm == \e\p\i\a ]]
++ shift
++ [[ tpm == \f\i\t\3 ]]
++ shift
++ [[ tpm == \f\r\p\w ]]
++ shift
++ [[ tpm == \p\d ]]
++ shift
++ [[ tpm == \d\s\t\r ]]
++ shift
++ [[ tpm == \c\o\m\m ]]
++ shift
++ [[ tpm == \b\p\c\k ]]
++ shift
++ [[ tpm == \f\r\i\q ]]
++ shift
++ [[ tpm == \a\t\e\n ]]
++ shift
++ [[ tpm == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ tpm == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ tpm == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ tpm == \i\d\e\-\c\d ]]
++ shift
++ [[ tpm == \i\d\e\-\c\s ]]
++ shift
++ [[ tpm == \l\i\b\a\t\a ]]
++ shift
++ [[ tpm == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ tpm == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ tpm == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ tpm == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ tpm == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ tpm == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ tpm == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ tpm == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ tpm == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ tpm == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ tpm == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ tpm == \s\a\t\a\_\m\v ]]
++ shift
++ [[ tpm == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ tpm == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ tpm == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ tpm == \a\h\c\i ]]
++ shift
++ [[ tpm == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ tpm == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ tpm == \s\a\t\a\_\n\v ]]
++ shift
++ [[ tpm == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ tpm == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ tpm == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ tpm == \d\m\-\z\e\r\o ]]
++ shift
++ [[ tpm == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ tpm == \d\m\-\l\o\g ]]
++ shift
++ [[ tpm == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ tpm == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ tpm == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ tpm == \r\a\i\d\1\0 ]]
++ shift
++ [[ tpm == \f\a\u\l\t\y ]]
++ shift
++ [[ tpm == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ tpm == \r\a\i\d\1 ]]
++ shift
++ [[ tpm == \d\m\-\e\m\c ]]
++ shift
++ [[ tpm == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ tpm == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ tpm == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ tpm == \d\m\-\r\d\a\c ]]
++ shift
++ [[ tpm == \x\o\r ]]
++ shift
++ [[ tpm == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ tpm == \d\m\-\m\o\d ]]
++ shift
++ [[ tpm == \l\i\n\e\a\r ]]
++ shift
++ [[ tpm == \r\a\i\d\0 ]]
++ shift
++ [[ tpm == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ tpm == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ tpm == \m\p\t\b\a\s\e ]]
++ shift
++ [[ tpm == \m\p\t\l\a\n ]]
++ shift
++ [[ tpm == \m\p\t\f\c ]]
++ shift
++ [[ tpm == \m\p\t\s\p\i ]]
++ shift
++ [[ tpm == \m\p\t\s\a\s ]]
++ shift
++ [[ tpm == \m\p\t\c\t\l ]]
++ shift
++ [[ tpm == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ tpm == \i\2\o\_\b\u\s ]]
++ shift
++ [[ tpm == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ tpm == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ tpm == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ tpm == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ tpm == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ tpm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ tpm == \c\h ]]
++ shift
++ [[ tpm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ tpm == \p\p\a ]]
++ shift
++ [[ tpm == \i\s\c\i ]]
++ shift
++ [[ tpm == \3\w\-\x\x\x\x ]]
++ shift
++ [[ tpm == \s\e\s ]]
++ shift
++ [[ tpm == \p\m\c\r\a\i\d ]]
++ shift
++ [[ tpm == \l\i\b\f\c ]]
++ shift
++ [[ tpm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ tpm == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ tpm == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ tpm == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ tpm == \d\c\3\9\5\x ]]
++ shift
++ [[ tpm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ tpm == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ tpm == \g\d\t\h ]]
++ shift
++ [[ tpm == \a\a\c\r\a\i\d ]]
++ shift
++ [[ tpm == \l\i\b\f\c\o\e ]]
++ shift
++ [[ tpm == \f\c\o\e ]]
++ shift
++ [[ tpm == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ tpm == \o\s\s\t ]]
++ shift
++ [[ tpm == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ tpm == \s\d\_\m\o\d ]]
++ shift
++ [[ tpm == \i\m\m ]]
++ shift
++ [[ tpm == \i\n\i\t\i\o ]]
++ shift
++ [[ tpm == \a\t\p\8\7\0\u ]]
++ shift
++ [[ tpm == \h\p\t\i\o\p ]]
++ shift
++ [[ tpm == \q\l\a\2\x\x\x ]]
++ shift
++ [[ tpm == \f\n\i\c ]]
++ shift
++ [[ tpm == \b\f\a ]]
++ shift
++ [[ tpm == \m\v\s\a\s ]]
++ shift
++ [[ tpm == \s\g ]]
++ shift
++ [[ tpm == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ tpm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ tpm == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ tpm == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ tpm == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ tpm == \s\c\s\i\_\d\h ]]
++ shift
++ [[ tpm == \3\w\-\9\x\x\x ]]
++ shift
++ [[ tpm == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ tpm == \3\w\-\s\a\s ]]
++ shift
++ [[ tpm == \l\p\f\c ]]
++ shift
++ [[ tpm == \m\p\t\2\s\a\s ]]
++ shift
++ [[ tpm == \l\i\b\s\a\s ]]
++ shift
++ [[ tpm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ tpm == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ tpm == \a\i\c\7\x\x\x ]]
++ shift
++ [[ tpm == \a\i\c\7\9\x\x ]]
++ shift
++ [[ tpm == \s\t\e\x ]]
++ shift
++ [[ tpm == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ tpm == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ tpm == \a\i\c\9\4\x\x ]]
++ shift
++ [[ tpm == \b\n\x\2\i ]]
++ shift
++ [[ tpm == \s\r\_\m\o\d ]]
++ shift
++ [[ tpm == \s\t ]]
++ shift
++ [[ tpm == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ tpm == \i\p\s ]]
++ shift
++ [[ tpm == \a\r\c\m\s\r ]]
++ shift
++ [[ tpm == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ tpm == \c\x\g\b\4\i ]]
++ shift
++ [[ tpm == \c\x\g\b\3\i ]]
++ shift
++ [[ tpm == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ tpm == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ tpm == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray tpm_bios cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=tpm_bios
++ shift
++ [[ tpm_bios == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ tpm_bios == \c\c\i\s\s ]]
++ shift
++ [[ tpm_bios == \D\A\C\9\6\0 ]]
++ shift
++ [[ tpm_bios == \p\k\t\c\d\v\d ]]
++ shift
++ [[ tpm_bios == \s\x\8 ]]
++ shift
++ [[ tpm_bios == \n\b\d ]]
++ shift
++ [[ tpm_bios == \a\o\e ]]
++ shift
++ [[ tpm_bios == \f\l\o\p\p\y ]]
++ shift
++ [[ tpm_bios == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ tpm_bios == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ tpm_bios == \l\o\o\p ]]
++ shift
++ [[ tpm_bios == \p\g ]]
++ shift
++ [[ tpm_bios == \o\n\2\6 ]]
++ shift
++ [[ tpm_bios == \o\n\2\0 ]]
++ shift
++ [[ tpm_bios == \f\i\t\2 ]]
++ shift
++ [[ tpm_bios == \k\t\t\i ]]
++ shift
++ [[ tpm_bios == \p\t ]]
++ shift
++ [[ tpm_bios == \p\a\r\i\d\e ]]
++ shift
++ [[ tpm_bios == \p\c\d ]]
++ shift
++ [[ tpm_bios == \e\p\a\t ]]
++ shift
++ [[ tpm_bios == \p\f ]]
++ shift
++ [[ tpm_bios == \k\b\i\c ]]
++ shift
++ [[ tpm_bios == \e\p\i\a ]]
++ shift
++ [[ tpm_bios == \f\i\t\3 ]]
++ shift
++ [[ tpm_bios == \f\r\p\w ]]
++ shift
++ [[ tpm_bios == \p\d ]]
++ shift
++ [[ tpm_bios == \d\s\t\r ]]
++ shift
++ [[ tpm_bios == \c\o\m\m ]]
++ shift
++ [[ tpm_bios == \b\p\c\k ]]
++ shift
++ [[ tpm_bios == \f\r\i\q ]]
++ shift
++ [[ tpm_bios == \a\t\e\n ]]
++ shift
++ [[ tpm_bios == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ tpm_bios == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ tpm_bios == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ tpm_bios == \i\d\e\-\c\d ]]
++ shift
++ [[ tpm_bios == \i\d\e\-\c\s ]]
++ shift
++ [[ tpm_bios == \l\i\b\a\t\a ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ tpm_bios == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ tpm_bios == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ tpm_bios == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ tpm_bios == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ tpm_bios == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\m\v ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ tpm_bios == \a\h\c\i ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ tpm_bios == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\n\v ]]
++ shift
++ [[ tpm_bios == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ tpm_bios == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ tpm_bios == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ tpm_bios == \d\m\-\z\e\r\o ]]
++ shift
++ [[ tpm_bios == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ tpm_bios == \d\m\-\l\o\g ]]
++ shift
++ [[ tpm_bios == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ tpm_bios == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ tpm_bios == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ tpm_bios == \r\a\i\d\1\0 ]]
++ shift
++ [[ tpm_bios == \f\a\u\l\t\y ]]
++ shift
++ [[ tpm_bios == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ tpm_bios == \r\a\i\d\1 ]]
++ shift
++ [[ tpm_bios == \d\m\-\e\m\c ]]
++ shift
++ [[ tpm_bios == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ tpm_bios == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ tpm_bios == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ tpm_bios == \d\m\-\r\d\a\c ]]
++ shift
++ [[ tpm_bios == \x\o\r ]]
++ shift
++ [[ tpm_bios == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ tpm_bios == \d\m\-\m\o\d ]]
++ shift
++ [[ tpm_bios == \l\i\n\e\a\r ]]
++ shift
++ [[ tpm_bios == \r\a\i\d\0 ]]
++ shift
++ [[ tpm_bios == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ tpm_bios == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ tpm_bios == \m\p\t\b\a\s\e ]]
++ shift
++ [[ tpm_bios == \m\p\t\l\a\n ]]
++ shift
++ [[ tpm_bios == \m\p\t\f\c ]]
++ shift
++ [[ tpm_bios == \m\p\t\s\p\i ]]
++ shift
++ [[ tpm_bios == \m\p\t\s\a\s ]]
++ shift
++ [[ tpm_bios == \m\p\t\c\t\l ]]
++ shift
++ [[ tpm_bios == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ tpm_bios == \i\2\o\_\b\u\s ]]
++ shift
++ [[ tpm_bios == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ tpm_bios == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ tpm_bios == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ tpm_bios == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ tpm_bios == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ tpm_bios == \c\h ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ tpm_bios == \p\p\a ]]
++ shift
++ [[ tpm_bios == \i\s\c\i ]]
++ shift
++ [[ tpm_bios == \3\w\-\x\x\x\x ]]
++ shift
++ [[ tpm_bios == \s\e\s ]]
++ shift
++ [[ tpm_bios == \p\m\c\r\a\i\d ]]
++ shift
++ [[ tpm_bios == \l\i\b\f\c ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ tpm_bios == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ tpm_bios == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ tpm_bios == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ tpm_bios == \d\c\3\9\5\x ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ tpm_bios == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ tpm_bios == \g\d\t\h ]]
++ shift
++ [[ tpm_bios == \a\a\c\r\a\i\d ]]
++ shift
++ [[ tpm_bios == \l\i\b\f\c\o\e ]]
++ shift
++ [[ tpm_bios == \f\c\o\e ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ tpm_bios == \o\s\s\t ]]
++ shift
++ [[ tpm_bios == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ tpm_bios == \s\d\_\m\o\d ]]
++ shift
++ [[ tpm_bios == \i\m\m ]]
++ shift
++ [[ tpm_bios == \i\n\i\t\i\o ]]
++ shift
++ [[ tpm_bios == \a\t\p\8\7\0\u ]]
++ shift
++ [[ tpm_bios == \h\p\t\i\o\p ]]
++ shift
++ [[ tpm_bios == \q\l\a\2\x\x\x ]]
++ shift
++ [[ tpm_bios == \f\n\i\c ]]
++ shift
++ [[ tpm_bios == \b\f\a ]]
++ shift
++ [[ tpm_bios == \m\v\s\a\s ]]
++ shift
++ [[ tpm_bios == \s\g ]]
++ shift
++ [[ tpm_bios == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\d\h ]]
++ shift
++ [[ tpm_bios == \3\w\-\9\x\x\x ]]
++ shift
++ [[ tpm_bios == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ tpm_bios == \3\w\-\s\a\s ]]
++ shift
++ [[ tpm_bios == \l\p\f\c ]]
++ shift
++ [[ tpm_bios == \m\p\t\2\s\a\s ]]
++ shift
++ [[ tpm_bios == \l\i\b\s\a\s ]]
++ shift
++ [[ tpm_bios == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ tpm_bios == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ tpm_bios == \a\i\c\7\x\x\x ]]
++ shift
++ [[ tpm_bios == \a\i\c\7\9\x\x ]]
++ shift
++ [[ tpm_bios == \s\t\e\x ]]
++ shift
++ [[ tpm_bios == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ tpm_bios == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ tpm_bios == \a\i\c\9\4\x\x ]]
++ shift
++ [[ tpm_bios == \b\n\x\2\i ]]
++ shift
++ [[ tpm_bios == \s\r\_\m\o\d ]]
++ shift
++ [[ tpm_bios == \s\t ]]
++ shift
++ [[ tpm_bios == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ tpm_bios == \i\p\s ]]
++ shift
++ [[ tpm_bios == \a\r\c\m\s\r ]]
++ shift
++ [[ tpm_bios == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ tpm_bios == \c\x\g\b\4\i ]]
++ shift
++ [[ tpm_bios == \c\x\g\b\3\i ]]
++ shift
++ [[ tpm_bios == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ tpm_bios == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ tpm_bios == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray shpchp cryptoloop cciss DAC960 pktcdvd sx8 nbd aoe floppy virtio_blk cpqarray loop pg on26 on20 fit2 ktti pt paride pcd epat pf kbic epia fit3 frpw pd dstr comm bpck friq aten firewire-core firewire-sbp2 firewire-ohci ide-cd ide-cs libata sata_sis sata_svw sata_sil sata_sil24 pata_marvell pata_pdc2027x pata_sil680 pata_sis pdc_adma sata_inic162x sata_uli sata_mv sata_sx4 sata_qstor sata_vsc ahci sata_via ata_piix sata_nv sata_promise dm-round-robin dm-raid45 dm-zero dm-message dm-log dm-crypt dm-mem-cache dm-multipath raid10 faulty dm-snapshot raid1 dm-emc dm-mirror dm-region_hash multipath dm-rdac xor dm-hp-sw dm-mod linear raid0 raid456 mptscsih mptbase mptlan mptfc mptspi mptsas mptctl i2o_proc i2o_bus i2o_scsi i2o_core i2o_block i2o_config libiscsi_tcp scsi_transport_fc ch scsi_transport_iscsi2 ppa isci 3w-xxxx ses pmcraid libfc scsi_transport_sas megaraid_mm megaraid_sas megaraid_mbox dc395x scsi_transport_iscsi libiscsi gdth aacraid libfcoe fcoe scsi_mod osst iscsi_tcp sd_mod imm initio atp870u hptiop qla2xxx fnic bfa mvsas sg aic7xxx_old scsi_transport_iscsi1 scsi_dh_alua scsi_dh_emc scsi_dh_rdac scsi_dh 3w-9xxx megaraid 3w-sas lpfc mpt2sas libsas scsi_transport_spi qla1280 aic7xxx aic79xx stex sym53c8xx raid_class aic94xx bnx2i sr_mod st ide-scsi ips arcmsr libcxgbi cxgb4i cxgb3i libiscsi2 usb-storage
++ local needle=shpchp
++ shift
++ [[ shpchp == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ shpchp == \c\c\i\s\s ]]
++ shift
++ [[ shpchp == \D\A\C\9\6\0 ]]
++ shift
++ [[ shpchp == \p\k\t\c\d\v\d ]]
++ shift
++ [[ shpchp == \s\x\8 ]]
++ shift
++ [[ shpchp == \n\b\d ]]
++ shift
++ [[ shpchp == \a\o\e ]]
++ shift
++ [[ shpchp == \f\l\o\p\p\y ]]
++ shift
++ [[ shpchp == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ shpchp == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ shpchp == \l\o\o\p ]]
++ shift
++ [[ shpchp == \p\g ]]
++ shift
++ [[ shpchp == \o\n\2\6 ]]
++ shift
++ [[ shpchp == \o\n\2\0 ]]
++ shift
++ [[ shpchp == \f\i\t\2 ]]
++ shift
++ [[ shpchp == \k\t\t\i ]]
++ shift
++ [[ shpchp == \p\t ]]
++ shift
++ [[ shpchp == \p\a\r\i\d\e ]]
++ shift
++ [[ shpchp == \p\c\d ]]
++ shift
++ [[ shpchp == \e\p\a\t ]]
++ shift
++ [[ shpchp == \p\f ]]
++ shift
++ [[ shpchp == \k\b\i\c ]]
++ shift
++ [[ shpchp == \e\p\i\a ]]
++ shift
++ [[ shpchp == \f\i\t\3 ]]
++ shift
++ [[ shpchp == \f\r\p\w ]]
++ shift
++ [[ shpchp == \p\d ]]
++ shift
++ [[ shpchp == \d\s\t\r ]]
++ shift
++ [[ shpchp == \c\o\m\m ]]
++ shift
++ [[ shpchp == \b\p\c\k ]]
++ shift
++ [[ shpchp == \f\r\i\q ]]
++ shift
++ [[ shpchp == \a\t\e\n ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ shpchp == \i\d\e\-\c\d ]]
++ shift
++ [[ shpchp == \i\d\e\-\c\s ]]
++ shift
++ [[ shpchp == \l\i\b\a\t\a ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ shpchp == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\m\v ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ shpchp == \a\h\c\i ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ shpchp == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\n\v ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ shpchp == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ shpchp == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ shpchp == \d\m\-\z\e\r\o ]]
++ shift
++ [[ shpchp == \d\m\-\m\e\s\s\a\g\e ]]
++ shift
++ [[ shpchp == \d\m\-\l\o\g ]]
++ shift
++ [[ shpchp == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ shpchp == \d\m\-\m\e\m\-\c\a\c\h\e ]]
++ shift
++ [[ shpchp == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ shpchp == \r\a\i\d\1\0 ]]
++ shift
++ [[ shpchp == \f\a\u\l\t\y ]]
++ shift
++ [[ shpchp == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ shpchp == \r\a\i\d\1 ]]
++ shift
++ [[ shpchp == \d\m\-\e\m\c ]]
++ shift
++ [[ shpchp == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ shpchp == \d\m\-\r\e\g\i\o\n\_\h\a\s\h ]]
++ shift
++ [[ shpchp == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ shpchp == \d\m\-\r\d\a\c ]]
++ shift
++ [[ shpchp == \x\o\r ]]
++ shift
++ [[ shpchp == \d\m\-\h\p\-\s\w ]]
++ shift
++ [[ shpchp == \d\m\-\m\o\d ]]
++ shift
++ [[ shpchp == \l\i\n\e\a\r ]]
++ shift
++ [[ shpchp == \r\a\i\d\0 ]]
++ shift
++ [[ shpchp == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ shpchp == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ shpchp == \m\p\t\b\a\s\e ]]
++ shift
++ [[ shpchp == \m\p\t\l\a\n ]]
++ shift
++ [[ shpchp == \m\p\t\f\c ]]
++ shift
++ [[ shpchp == \m\p\t\s\p\i ]]
++ shift
++ [[ shpchp == \m\p\t\s\a\s ]]
++ shift
++ [[ shpchp == \m\p\t\c\t\l ]]
++ shift
++ [[ shpchp == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ shpchp == \i\2\o\_\b\u\s ]]
++ shift
++ [[ shpchp == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ shpchp == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ shpchp == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ shpchp == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ shpchp == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ shpchp == \c\h ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\2 ]]
++ shift
++ [[ shpchp == \p\p\a ]]
++ shift
++ [[ shpchp == \i\s\c\i ]]
++ shift
++ [[ shpchp == \3\w\-\x\x\x\x ]]
++ shift
++ [[ shpchp == \s\e\s ]]
++ shift
++ [[ shpchp == \p\m\c\r\a\i\d ]]
++ shift
++ [[ shpchp == \l\i\b\f\c ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ shpchp == \d\c\3\9\5\x ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ shpchp == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ shpchp == \g\d\t\h ]]
++ shift
++ [[ shpchp == \a\a\c\r\a\i\d ]]
++ shift
++ [[ shpchp == \l\i\b\f\c\o\e ]]
++ shift
++ [[ shpchp == \f\c\o\e ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ shpchp == \o\s\s\t ]]
++ shift
++ [[ shpchp == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ shpchp == \s\d\_\m\o\d ]]
++ shift
++ [[ shpchp == \i\m\m ]]
++ shift
++ [[ shpchp == \i\n\i\t\i\o ]]
++ shift
++ [[ shpchp == \a\t\p\8\7\0\u ]]
++ shift
++ [[ shpchp == \h\p\t\i\o\p ]]
++ shift
++ [[ shpchp == \q\l\a\2\x\x\x ]]
++ shift
++ [[ shpchp == \f\n\i\c ]]
++ shift
++ [[ shpchp == \b\f\a ]]
++ shift
++ [[ shpchp == \m\v\s\a\s ]]
++ shift
++ [[ shpchp == \s\g ]]
++ shift
++ [[ shpchp == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i\1 ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h ]]
++ shift
++ [[ shpchp == \3\w\-\9\x\x\x ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ shpchp == \3\w\-\s\a\s ]]
++ shift
++ [[ shpchp == \l\p\f\c ]]
++ shift
++ [[ shpchp == \m\p\t\2\s\a\s ]]
++ shift
++ [[ shpchp == \l\i\b\s\a\s ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ shpchp == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ shpchp == \a\i\c\7\x\x\x ]]
++ shift
++ [[ shpchp == \a\i\c\7\9\x\x ]]
++ shift
++ [[ shpchp == \s\t\e\x ]]
++ shift
++ [[ shpchp == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ shpchp == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ shpchp == \a\i\c\9\4\x\x ]]
++ shift
++ [[ shpchp == \b\n\x\2\i ]]
++ shift
++ [[ shpchp == \s\r\_\m\o\d ]]
++ shift
++ [[ shpchp == \s\t ]]
++ shift
++ [[ shpchp == \i\d\e\-\s\c\s\i ]]
++ shift
++ [[ shpchp == \i\p\s ]]
++ shift
++ [[ shpchp == \a\r\c\m\s\r ]]
++ shift
++ [[ shpchp == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ shpchp == \c\x\g\b\4\i ]]
++ shift
++ [[ shpchp == \c\x\g\b\3\i ]]
++ shift
++ [[ shpchp == \l\i\b\i\s\c\s\i\2 ]]
++ shift
++ [[ shpchp == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ shpchp == '' ]]
++ shift
++ return 1
++ read module junk
++ find /tmp/rear.UHlxviwaOpW4207/tmp/dev -name storage_drivers -exec cat '{}' ';'
find: /tmp/rear.UHlxviwaOpW4207/tmp/dev: No such file or directory
++ return 0
++ diff /var/lib/rear/recovery/storage_drivers /tmp/rear.UHlxviwaOpW4207/tmp/storage_drivers
1,2d0
< be2iscsi
< bnx2i
4,8d1
< cxgb3i
< iscsi_tcp
< libcxgbi
< libiscsi2
< libiscsi_tcp
10,15d2
< mptbase
< mptctl
< scsi_dh
< scsi_dh_alua
< scsi_dh_emc
< scsi_dh_rdac
18,19d4
< scsi_transport_iscsi
< scsi_transport_iscsi2
21a7
> sr_mod
++ have_udev
++ local relpath=
++ shift
++ '[' -d /etc/udev/rules.d ']'
++ has_binary udevadm udevstart udevtrigger
++ for bin in '$@'
++ type udevadm
++ for bin in '$@'
++ type udevstart
++ for bin in '$@'
++ type udevtrigger
++ return 0
++ return 0
++ LogPrint 'NOTICE: Will do driver migration'
++ Log 'NOTICE: Will do driver migration'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 NOTICE: Will do driver migration'
2013-04-18 13:21:51 NOTICE: Will do driver migration
++ Print 'NOTICE: Will do driver migration'
++ test 1
++ echo -e 'NOTICE: Will do driver migration'
+ test 1
+ set +x
2013-04-18 13:21:51 Including verify/NETFS/default/55_check_backup_archive.sh
+ . /usr/share/rear/verify/NETFS/default/55_check_backup_archive.sh
++ case $(url_scheme "$BACKUP_URL") in
+++ url_scheme nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local url=nfs://ks1.mux.isinfra.net/nfsexports/rear/uxit400c
+++ local scheme=nfs
+++ echo nfs
+++ grep -q :
+++ echo nfs
++ '[' -s /tmp/rear.UHlxviwaOpW4207/outputfs/uxit400c/backup.tar.gz -o -d /tmp/rear.UHlxviwaOpW4207/outputfs/uxit400c/backup.tar.gz ']'
++ StopIfError 'Backup archive '\''/tmp/rear.UHlxviwaOpW4207/outputfs/uxit400c/backup.tar.gz'\'' not found !'
++ (( 0 != 0 ))
++ LogPrint 'Calculating backup archive size'
++ Log 'Calculating backup archive size'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 Calculating backup archive size'
2013-04-18 13:21:51 Calculating backup archive size
++ Print 'Calculating backup archive size'
++ test 1
++ echo -e 'Calculating backup archive size'
++ du -sh /tmp/rear.UHlxviwaOpW4207/outputfs/uxit400c/backup.tar.gz
++ StopIfError 'Failed to determine backup archive size.'
++ (( 0 != 0 ))
++ read backuparchive_size junk
++ LogPrint 'Backup archive size is 744M (compressed)'
++ Log 'Backup archive size is 744M (compressed)'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 Backup archive size is 744M (compressed)'
2013-04-18 13:21:51 Backup archive size is 744M (compressed)
++ Print 'Backup archive size is 744M (compressed)'
++ test 1
++ echo -e 'Backup archive size is 744M (compressed)'
+ test 1
+ set +x
2013-04-18 13:21:51 Finished running 'verify' stage in 2 seconds
2013-04-18 13:21:51 Running 'layout/prepare' stage
2013-04-18 13:21:51 Including layout/prepare/default/01_prepare_files.sh
+ . /usr/share/rear/layout/prepare/default/01_prepare_files.sh
++ LAYOUT_FILE=/var/lib/rear/layout/disklayout.conf
++ LAYOUT_DEPS=/var/lib/rear/layout/diskdeps.conf
++ LAYOUT_TODO=/var/lib/rear/layout/disktodo.conf
++ LAYOUT_CODE=/var/lib/rear/layout/diskrestore.sh
++ FS_UUID_MAP=/var/lib/rear/layout/fs_uuid_mapping
++ LAYOUT_TOUCHDIR=/tmp/rear.UHlxviwaOpW4207/tmp/touch
++ '[' -e /tmp/rear.UHlxviwaOpW4207/tmp/touch ']'
++ mkdir -p /tmp/rear.UHlxviwaOpW4207/tmp/touch
++ '[' -e /var/lib/rear/layout/disklayout.conf ']'
++ backup_file /var/lib/rear/layout/disklayout.conf
++ [[ ! -r /var/lib/rear/layout/disklayout.conf ]]
++ IsInArray /var/lib/rear/layout/disklayout.conf
++ local needle=/var/lib/rear/layout/disklayout.conf
++ shift
++ [[ /var/lib/rear/layout/disklayout.conf == '' ]]
++ shift
++ return 1
++ cp -ar /var/lib/rear/layout/disklayout.conf /var/lib/rear/layout/disklayout.conf.20130418.4164.bak
++ BACKUPS_TAKEN=("${BACKUPS_TAKEN[@]}" "$1")
++ '[' -e /etc/rear/disklayout.conf ']'
++ '[' '!' -e /var/lib/rear/layout/disklayout.conf ']'
++ '[' -e /var/lib/rear/layout/fs_uuid_mapping ']'
++ :
++ :
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/GNU/Linux/10_include_partition_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/10_include_partition_code.sh
++ has_binary parted
++ for bin in '$@'
++ type parted
++ return 0
++ FEATURE_PARTED_ANYUNIT=
++ FEATURE_PARTED_ALIGNMENT=
+++ get_version parted -v
+++ parted -v
+++ sed -rn 's/^[^0-9\.]*([0-9]+\.[-0-9a-z\.]+).*$/\1/p'
+++ head -1
++ parted_version=1.8.1
++ '[' 1.8.1 ']'
++ BugIfError 'Function get_version could not detect parted version.'
++ (( 0 != 0 ))
++ version_newer 1.8.1 2.0
++ v1list=(${1//[-.]/ })
++ local v1list
++ v2list=(${2//[-.]/ })
++ local v2list
++ local max=3
++ (( 3 < 2 ))
++ local pos
+++ seq 0 2
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#01 < 10#02 ))
++ return 1
++ version_newer 1.8.1 1.6.23
++ v1list=(${1//[-.]/ })
++ local v1list
++ v2list=(${2//[-.]/ })
++ local v2list
++ local max=3
++ (( 3 < 3 ))
++ local pos
+++ seq 0 2
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#01 < 10#01 ))
++ (( 10#01 > 10#01 ))
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#08 < 10#06 ))
++ (( 10#08 > 10#06 ))
++ return 0
++ FEATURE_PARTED_ANYUNIT=y
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/GNU/Linux/11_include_lvm_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/11_include_lvm_code.sh
++ has_binary lvm
++ for bin in '$@'
++ type lvm
++ return 0
++ FEATURE_LVM_RESTOREFILE=
+++ get_version lvm version
+++ lvm version
+++ sed -rn 's/^[^0-9\.]*([0-9]+\.[-0-9a-z\.]+).*$/\1/p'
+++ head -1
++ lvm_version=2.02.88
++ '[' 2.02.88 ']'
++ BugIfError 'Function get_version could not detect lvm version.'
++ (( 0 != 0 ))
++ version_newer 2.02.88 2.02.73
++ v1list=(${1//[-.]/ })
++ local v1list
++ v2list=(${2//[-.]/ })
++ local v2list
++ local max=3
++ (( 3 < 3 ))
++ local pos
+++ seq 0 2
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#02 < 10#02 ))
++ (( 10#02 > 10#02 ))
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#002 < 10#002 ))
++ (( 10#002 > 10#002 ))
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#088 < 10#073 ))
++ (( 10#088 > 10#073 ))
++ return 0
++ FEATURE_LVM_RESTOREFILE=y
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/GNU/Linux/12_include_raid_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/12_include_raid_code.sh
++ has_binary mdadm
++ for bin in '$@'
++ type mdadm
++ return 1
++ return
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/GNU/Linux/13_include_filesystem_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/13_include_filesystem_code.sh
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/GNU/Linux/14_include_swap_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/14_include_swap_code.sh
++ FEATURE_MKSWAP_UUID=
+++ get_version 'mkswap --version'
+++ mkswap --version
+++ sed -rn 's/^[^0-9\.]*([0-9]+\.[-0-9a-z\.]+).*$/\1/p'
+++ head -1
++ mkswap_version=2.13-pre7
++ version_newer 2.13-pre7 2.13.1.1
++ v1list=(${1//[-.]/ })
++ local v1list
++ v2list=(${2//[-.]/ })
++ local v2list
++ local max=3
++ (( 3 < 4 ))
++ max=4
++ local pos
+++ seq 0 3
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#02 < 10#02 ))
++ (( 10#02 > 10#02 ))
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#013 < 10#013 ))
++ (( 10#013 > 10#013 ))
++ for pos in '$(seq 0 $(( max -1 )))'
++ [[ pre7 < 1 ]]
++ [[ pre7 > 1 ]]
++ return 0
++ FEATURE_MKSWAP_UUID=y
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/GNU/Linux/15_include_drbd_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/15_include_drbd_code.sh
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/GNU/Linux/16_include_luks_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/16_include_luks_code.sh
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/GNU/Linux/17_include_hpraid_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/17_include_hpraid_code.sh
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/20_recreate_hpraid.sh
+ . /usr/share/rear/layout/prepare/default/20_recreate_hpraid.sh
++ grep -q '^cciss ' /proc/modules
++ ORIG_LAYOUT_CODE=/var/lib/rear/layout/diskrestore.sh
++ LAYOUT_CODE=/var/lib/rear/layout/hpraid.sh
++ cat
++ restored_controllers=()
++ read -u 3 type name junk
+++ grep '^smartarray ' /var/lib/rear/layout/disklayout.conf
+++ grep '^logicaldrive ' /var/lib/rear/layout/disklayout.conf
++ read type name remainder junk
++ cat
++ '[' 0 -ne 0 ']'
++ LAYOUT_CODE=/var/lib/rear/layout/diskrestore.sh
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/GNU/Linux/21_load_multipath.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/21_load_multipath.sh
++ grep -q '^multipath' /var/lib/rear/layout/disklayout.conf
++ Log 'Activating multipath'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 Activating multipath'
2013-04-18 13:21:51 Activating multipath
++ modprobe dm-multipath
++ multipath
create: mpath0 (360060e80164ca90000014ca900000209) HITACHI,OPEN-V
[size=50G][features=0][hwhandler=0][n/a]
\_ round-robin 0 [prio=4][undef]
\_ 2:0:0:0 sda 8:0 [undef][ready]
\_ 2:0:1:0 sdc 8:32 [undef][ready]
\_ 5:0:0:0 sde 8:64 [undef][ready]
\_ 5:0:1:0 sdg 8:96 [undef][ready]
create: mpath1 (360060e80164ca90000014ca90000020a) HITACHI,OPEN-V
[size=150G][features=0][hwhandler=0][n/a]
\_ round-robin 0 [prio=4][undef]
\_ 2:0:0:1 sdb 8:16 [undef][ready]
\_ 2:0:1:1 sdd 8:48 [undef][ready]
\_ 5:0:0:1 sdf 8:80 [undef][ready]
\_ 5:0:1:1 sdh 8:112 [undef][ready]
++ '[' 0 -ne 0 ']'
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/25_compare_disks.sh
+ . /usr/share/rear/layout/prepare/default/25_compare_disks.sh
++ LogPrint 'Comparing disks.'
++ Log 'Comparing disks.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 Comparing disks.'
2013-04-18 13:21:51 Comparing disks.
++ Print 'Comparing disks.'
++ test 1
++ echo -e 'Comparing disks.'
++ MIGRATION_MODE=
+++ grep '^disk' /var/lib/rear/layout/disklayout.conf
++ read disk dev size junk
++ '[' -n '' ']'
++ LogPrint 'Disk configuration is identical, proceeding with restore.'
++ Log 'Disk configuration is identical, proceeding with restore.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 Disk configuration is identical, proceeding with restore.'
2013-04-18 13:21:51 Disk configuration is identical, proceeding with restore.
++ Print 'Disk configuration is identical, proceeding with restore.'
++ test 1
++ echo -e 'Disk configuration is identical, proceeding with restore.'
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/30_map_disks.sh
+ . /usr/share/rear/layout/prepare/default/30_map_disks.sh
++ '[' -z '' ']'
++ return 0
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/31_remove_exclusions.sh
+ . /usr/share/rear/layout/prepare/default/31_remove_exclusions.sh
++ '[' -s /var/lib/rear/layout/disktodo.conf ']'
++ return 0
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/32_apply_mappings.sh
+ . /usr/share/rear/layout/prepare/default/32_apply_mappings.sh
++ '[' -z '' ']'
++ return 0
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/40_autoresize_disks.sh
+ . /usr/share/rear/layout/prepare/default/40_autoresize_disks.sh
++ [[ -z '' ]]
++ return 0
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/50_confirm_layout.sh
+ . /usr/share/rear/layout/prepare/default/50_confirm_layout.sh
++ [[ -z '' ]]
++ return 0
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/51_list_dependencies.sh
+ . /usr/share/rear/layout/prepare/default/51_list_dependencies.sh
++ generate_layout_dependencies
++ :
++ :
++ local type dev remainder name disk disks vgrp dm_vgrp lvol dm_lvol part mp fs bd nmp temp_nm
++ read type remainder
+++ cat /var/lib/rear/layout/disklayout.conf
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root /dev/mpath/mpath0p2 RMb70v-BUnQ-0Nhy-9Lpy-R8zd-s7Uh-19idnM 30716280'
+++ cut -d ' ' -f 1
++ vgrp=/dev/vg_root
+++ echo '/dev/vg_root /dev/mpath/mpath0p2 RMb70v-BUnQ-0Nhy-9Lpy-R8zd-s7Uh-19idnM 30716280'
+++ cut -d ' ' -f 2
++ part=/dev/mpath/mpath0p2
++ add_dependency /dev/vg_root pv:/dev/mpath/mpath0p2
++ echo '/dev/vg_root pv:/dev/mpath/mpath0p2'
++ add_dependency pv:/dev/mpath/mpath0p2 /dev/mpath/mpath0p2
++ echo 'pv:/dev/mpath/mpath0p2 /dev/mpath/mpath0p2'
++ add_component pv:/dev/mpath/mpath0p2 lvmdev
++ echo 'todo pv:/dev/mpath/mpath0p2 lvmdev'
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root 32768 468 15335424'
+++ cut -d ' ' -f 1
++ name=/dev/vg_root
++ add_component /dev/vg_root lvmgrp
++ echo 'todo /dev/vg_root lvmgrp'
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root lv_root 62 4063232'
+++ cut -d ' ' -f 1
++ vgrp=/dev/vg_root
+++ echo '/dev/vg_root lv_root 62 4063232'
+++ cut -d ' ' -f 2
++ lvol=lv_root
++ dm_vgrp=/dev/vg_root
++ dm_lvol=lv_root
++ add_dependency /dev/mapper/vg_root-lv_root /dev/vg_root
++ echo '/dev/mapper/vg_root-lv_root /dev/vg_root'
++ add_component /dev/mapper/vg_root-lv_root lvmvol
++ echo 'todo /dev/mapper/vg_root-lv_root lvmvol'
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root lv_tmp 31 2031616'
+++ cut -d ' ' -f 1
++ vgrp=/dev/vg_root
+++ echo '/dev/vg_root lv_tmp 31 2031616'
+++ cut -d ' ' -f 2
++ lvol=lv_tmp
++ dm_vgrp=/dev/vg_root
++ dm_lvol=lv_tmp
++ add_dependency /dev/mapper/vg_root-lv_tmp /dev/vg_root
++ echo '/dev/mapper/vg_root-lv_tmp /dev/vg_root'
++ add_component /dev/mapper/vg_root-lv_tmp lvmvol
++ echo 'todo /dev/mapper/vg_root-lv_tmp lvmvol'
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root lv_opt 46 3014656'
+++ cut -d ' ' -f 1
++ vgrp=/dev/vg_root
+++ echo '/dev/vg_root lv_opt 46 3014656'
+++ cut -d ' ' -f 2
++ lvol=lv_opt
++ dm_vgrp=/dev/vg_root
++ dm_lvol=lv_opt
++ add_dependency /dev/mapper/vg_root-lv_opt /dev/vg_root
++ echo '/dev/mapper/vg_root-lv_opt /dev/vg_root'
++ add_component /dev/mapper/vg_root-lv_opt lvmvol
++ echo 'todo /dev/mapper/vg_root-lv_opt lvmvol'
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root lv_autosys 15 983040'
+++ cut -d ' ' -f 1
++ vgrp=/dev/vg_root
+++ echo '/dev/vg_root lv_autosys 15 983040'
+++ cut -d ' ' -f 2
++ lvol=lv_autosys
++ dm_vgrp=/dev/vg_root
++ dm_lvol=lv_autosys
++ add_dependency /dev/mapper/vg_root-lv_autosys /dev/vg_root
++ echo '/dev/mapper/vg_root-lv_autosys /dev/vg_root'
++ add_component /dev/mapper/vg_root-lv_autosys lvmvol
++ echo 'todo /dev/mapper/vg_root-lv_autosys lvmvol'
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root lv_var 156 10223616'
+++ cut -d ' ' -f 1
++ vgrp=/dev/vg_root
+++ echo '/dev/vg_root lv_var 156 10223616'
+++ cut -d ' ' -f 2
++ lvol=lv_var
++ dm_vgrp=/dev/vg_root
++ dm_lvol=lv_var
++ add_dependency /dev/mapper/vg_root-lv_var /dev/vg_root
++ echo '/dev/mapper/vg_root-lv_var /dev/vg_root'
++ add_component /dev/mapper/vg_root-lv_var lvmvol
++ echo 'todo /dev/mapper/vg_root-lv_var lvmvol'
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root lv_home 3 196608'
+++ cut -d ' ' -f 1
++ vgrp=/dev/vg_root
+++ echo '/dev/vg_root lv_home 3 196608'
+++ cut -d ' ' -f 2
++ lvol=lv_home
++ dm_vgrp=/dev/vg_root
++ dm_lvol=lv_home
++ add_dependency /dev/mapper/vg_root-lv_home /dev/vg_root
++ echo '/dev/mapper/vg_root-lv_home /dev/vg_root'
++ add_component /dev/mapper/vg_root-lv_home lvmvol
++ echo 'todo /dev/mapper/vg_root-lv_home lvmvol'
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root lv_usr 78 5111808'
+++ cut -d ' ' -f 1
++ vgrp=/dev/vg_root
+++ echo '/dev/vg_root lv_usr 78 5111808'
+++ cut -d ' ' -f 2
++ lvol=lv_usr
++ dm_vgrp=/dev/vg_root
++ dm_lvol=lv_usr
++ add_dependency /dev/mapper/vg_root-lv_usr /dev/vg_root
++ echo '/dev/mapper/vg_root-lv_usr /dev/vg_root'
++ add_component /dev/mapper/vg_root-lv_usr lvmvol
++ echo 'todo /dev/mapper/vg_root-lv_usr lvmvol'
++ read type remainder
++ case $type in
+++ echo '/dev/vg_root lv_tivoli 62 4063232'
+++ cut -d ' ' -f 1
++ vgrp=/dev/vg_root
+++ echo '/dev/vg_root lv_tivoli 62 4063232'
+++ cut -d ' ' -f 2
++ lvol=lv_tivoli
++ dm_vgrp=/dev/vg_root
++ dm_lvol=lv_tivoli
++ add_dependency /dev/mapper/vg_root-lv_tivoli /dev/vg_root
++ echo '/dev/mapper/vg_root-lv_tivoli /dev/vg_root'
++ add_component /dev/mapper/vg_root-lv_tivoli lvmvol
++ echo 'todo /dev/mapper/vg_root-lv_tivoli lvmvol'
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/vg_root-lv_root / ext3 uuid=d492b1d1-a56a-41df-9541-870f2e03c992 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 1
++ dev=/dev/mapper/vg_root-lv_root
+++ echo '/dev/mapper/vg_root-lv_root / ext3 uuid=d492b1d1-a56a-41df-9541-870f2e03c992 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 2
++ mp=/
++ add_dependency fs:/ /dev/mapper/vg_root-lv_root
++ echo 'fs:/ /dev/mapper/vg_root-lv_root'
++ add_component fs:/ fs
++ echo 'todo fs:/ fs'
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ read fs bd nmp junk
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' '' '!=' / ']'
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /opt/CA '!=' / ']'
++ temp_nmp=/opt/CA/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /usr '!=' / ']'
++ temp_nmp=/usr/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ temp_nmp=/usr/monitoring/Tivoli/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/vg_root-lv_tmp /tmp ext3 uuid=d69dc609-67c8-41ad-9da6-f04b81e43828 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 1
++ dev=/dev/mapper/vg_root-lv_tmp
+++ echo '/dev/mapper/vg_root-lv_tmp /tmp ext3 uuid=d69dc609-67c8-41ad-9da6-f04b81e43828 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 2
++ mp=/tmp
++ add_dependency fs:/tmp /dev/mapper/vg_root-lv_tmp
++ echo 'fs:/tmp /dev/mapper/vg_root-lv_tmp'
++ add_component fs:/tmp fs
++ echo 'todo fs:/tmp fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' tmp '!=' /tmp ']'
++ '[' /tmp '!=' / ']'
++ add_dependency fs:/tmp fs:/
++ echo 'fs:/tmp fs:/'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /opt/CA '!=' / ']'
++ temp_nmp=/opt/CA/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /usr '!=' / ']'
++ temp_nmp=/usr/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ temp_nmp=/usr/monitoring/Tivoli/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/vg_root-lv_opt /opt ext3 uuid=576be55e-789d-48d7-8387-f51f06237826 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4093 options=rw'
+++ cut -d ' ' -f 1
++ dev=/dev/mapper/vg_root-lv_opt
+++ echo '/dev/mapper/vg_root-lv_opt /opt ext3 uuid=576be55e-789d-48d7-8387-f51f06237826 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4093 options=rw'
+++ cut -d ' ' -f 2
++ mp=/opt
++ add_dependency fs:/opt /dev/mapper/vg_root-lv_opt
++ echo 'fs:/opt /dev/mapper/vg_root-lv_opt'
++ add_component fs:/opt fs
++ echo 'todo fs:/opt fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' opt '!=' /opt ']'
++ '[' /opt '!=' / ']'
++ add_dependency fs:/opt fs:/
++ echo 'fs:/opt fs:/'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /opt/CA '!=' / ']'
++ temp_nmp=/opt/CA/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /usr '!=' / ']'
++ temp_nmp=/usr/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ temp_nmp=/usr/monitoring/Tivoli/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/vg_root-lv_autosys /opt/CA ext3 uuid=a0a70ce7-7e40-4ea8-9555-5976079397a5 label= blocksize=1024 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 1
++ dev=/dev/mapper/vg_root-lv_autosys
+++ echo '/dev/mapper/vg_root-lv_autosys /opt/CA ext3 uuid=a0a70ce7-7e40-4ea8-9555-5976079397a5 label= blocksize=1024 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 2
++ mp=/opt/CA
++ add_dependency fs:/opt/CA /dev/mapper/vg_root-lv_autosys
++ echo 'fs:/opt/CA /dev/mapper/vg_root-lv_autosys'
++ add_component fs:/opt/CA fs
++ echo 'todo fs:/opt/CA fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' opt/CA '!=' /opt/CA ']'
++ '[' /opt/CA '!=' / ']'
++ add_dependency fs:/opt/CA fs:/
++ echo 'fs:/opt/CA fs:/'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /opt/CA '!=' /opt/CA ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' CA '!=' /opt/CA ']'
++ '[' /opt/CA '!=' /opt ']'
++ add_dependency fs:/opt/CA fs:/opt
++ echo 'fs:/opt/CA fs:/opt'
++ read fs bd nmp junk
++ '[' /opt/CA '!=' / ']'
++ temp_nmp=/opt/CA/
++ '[' /opt/CA '!=' /opt/CA ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /opt/CA '!=' /opt/CA ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /opt/CA '!=' /opt/CA ']'
++ read fs bd nmp junk
++ '[' /usr '!=' / ']'
++ temp_nmp=/usr/
++ '[' /opt/CA '!=' /opt/CA ']'
++ read fs bd nmp junk
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ temp_nmp=/usr/monitoring/Tivoli/
++ '[' /opt/CA '!=' /opt/CA ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /opt/CA '!=' /opt/CA ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/vg_root-lv_var /var ext3 uuid=8bb95a92-d539-4343-a51d-133cc9ba1208 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 1
++ dev=/dev/mapper/vg_root-lv_var
+++ echo '/dev/mapper/vg_root-lv_var /var ext3 uuid=8bb95a92-d539-4343-a51d-133cc9ba1208 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 2
++ mp=/var
++ add_dependency fs:/var /dev/mapper/vg_root-lv_var
++ echo 'fs:/var /dev/mapper/vg_root-lv_var'
++ add_component fs:/var fs
++ echo 'todo fs:/var fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' var '!=' /var ']'
++ '[' /var '!=' / ']'
++ add_dependency fs:/var fs:/
++ echo 'fs:/var fs:/'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /opt/CA '!=' / ']'
++ temp_nmp=/opt/CA/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /usr '!=' / ']'
++ temp_nmp=/usr/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ temp_nmp=/usr/monitoring/Tivoli/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/vg_root-lv_home /home ext3 uuid=8d615552-8aa2-4171-916e-b6bf511d1b71 label= blocksize=1024 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 1
++ dev=/dev/mapper/vg_root-lv_home
+++ echo '/dev/mapper/vg_root-lv_home /home ext3 uuid=8d615552-8aa2-4171-916e-b6bf511d1b71 label= blocksize=1024 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 2
++ mp=/home
++ add_dependency fs:/home /dev/mapper/vg_root-lv_home
++ echo 'fs:/home /dev/mapper/vg_root-lv_home'
++ add_component fs:/home fs
++ echo 'todo fs:/home fs'
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ read fs bd nmp junk
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' home '!=' /home ']'
++ '[' /home '!=' / ']'
++ add_dependency fs:/home fs:/
++ echo 'fs:/home fs:/'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /opt/CA '!=' / ']'
++ temp_nmp=/opt/CA/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /usr '!=' / ']'
++ temp_nmp=/usr/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ temp_nmp=/usr/monitoring/Tivoli/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/vg_root-lv_usr /usr ext3 uuid=f4954e39-c2f3-419c-b86b-4b4fa2b605bd label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4093 options=rw'
+++ cut -d ' ' -f 1
++ dev=/dev/mapper/vg_root-lv_usr
+++ echo '/dev/mapper/vg_root-lv_usr /usr ext3 uuid=f4954e39-c2f3-419c-b86b-4b4fa2b605bd label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4093 options=rw'
+++ cut -d ' ' -f 2
++ mp=/usr
++ add_dependency fs:/usr /dev/mapper/vg_root-lv_usr
++ echo 'fs:/usr /dev/mapper/vg_root-lv_usr'
++ add_component fs:/usr fs
++ echo 'todo fs:/usr fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' usr '!=' /usr ']'
++ '[' /usr '!=' / ']'
++ add_dependency fs:/usr fs:/
++ echo 'fs:/usr fs:/'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /usr '!=' /usr ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /usr '!=' /usr ']'
++ read fs bd nmp junk
++ '[' /opt/CA '!=' / ']'
++ temp_nmp=/opt/CA/
++ '[' /usr '!=' /usr ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /usr '!=' /usr ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /usr '!=' /usr ']'
++ read fs bd nmp junk
++ '[' /usr '!=' / ']'
++ temp_nmp=/usr/
++ '[' /usr '!=' /usr ']'
++ read fs bd nmp junk
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ temp_nmp=/usr/monitoring/Tivoli/
++ '[' /usr '!=' /usr ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /usr '!=' /usr ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/vg_root-lv_tivoli /usr/monitoring/Tivoli ext3 uuid=d3f4b887-55cb-4cb9-929f-961ee6dd5d2d label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 1
++ dev=/dev/mapper/vg_root-lv_tivoli
+++ echo '/dev/mapper/vg_root-lv_tivoli /usr/monitoring/Tivoli ext3 uuid=d3f4b887-55cb-4cb9-929f-961ee6dd5d2d label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4096 options=rw'
+++ cut -d ' ' -f 2
++ mp=/usr/monitoring/Tivoli
++ add_dependency fs:/usr/monitoring/Tivoli /dev/mapper/vg_root-lv_tivoli
++ echo 'fs:/usr/monitoring/Tivoli /dev/mapper/vg_root-lv_tivoli'
++ add_component fs:/usr/monitoring/Tivoli fs
++ echo 'todo fs:/usr/monitoring/Tivoli fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' usr/monitoring/Tivoli '!=' /usr/monitoring/Tivoli ']'
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ add_dependency fs:/usr/monitoring/Tivoli fs:/
++ echo 'fs:/usr/monitoring/Tivoli fs:/'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /usr/monitoring/Tivoli '!=' /usr/monitoring/Tivoli ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /usr/monitoring/Tivoli '!=' /usr/monitoring/Tivoli ']'
++ read fs bd nmp junk
++ '[' /opt/CA '!=' / ']'
++ temp_nmp=/opt/CA/
++ '[' /usr/monitoring/Tivoli '!=' /usr/monitoring/Tivoli ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /usr/monitoring/Tivoli '!=' /usr/monitoring/Tivoli ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /usr/monitoring/Tivoli '!=' /usr/monitoring/Tivoli ']'
++ read fs bd nmp junk
++ '[' /usr '!=' / ']'
++ temp_nmp=/usr/
++ '[' monitoring/Tivoli '!=' /usr/monitoring/Tivoli ']'
++ '[' /usr/monitoring/Tivoli '!=' /usr ']'
++ add_dependency fs:/usr/monitoring/Tivoli fs:/usr
++ echo 'fs:/usr/monitoring/Tivoli fs:/usr'
++ read fs bd nmp junk
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ temp_nmp=/usr/monitoring/Tivoli/
++ '[' /usr/monitoring/Tivoli '!=' /usr/monitoring/Tivoli ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /usr/monitoring/Tivoli '!=' /usr/monitoring/Tivoli ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/mpath0p1 /boot ext3 uuid=547ccc1a-0cb9-46af-aef8-186faa7bb44b label=/boot blocksize=1024 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4094 options=rw'
+++ cut -d ' ' -f 1
++ dev=/dev/mapper/mpath0p1
+++ echo '/dev/mapper/mpath0p1 /boot ext3 uuid=547ccc1a-0cb9-46af-aef8-186faa7bb44b label=/boot blocksize=1024 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4094 options=rw'
+++ cut -d ' ' -f 2
++ mp=/boot
++ add_dependency fs:/boot /dev/mapper/mpath0p1
++ echo 'fs:/boot /dev/mapper/mpath0p1'
++ add_component fs:/boot fs
++ echo 'todo fs:/boot fs'
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ read fs bd nmp junk
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' boot '!=' /boot ']'
++ '[' /boot '!=' / ']'
++ add_dependency fs:/boot fs:/
++ echo 'fs:/boot fs:/'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /opt/CA '!=' / ']'
++ temp_nmp=/opt/CA/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /usr '!=' / ']'
++ temp_nmp=/usr/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /usr/monitoring/Tivoli '!=' / ']'
++ temp_nmp=/usr/monitoring/Tivoli/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/mpath0 /dev/sda,/dev/sdc,/dev/sde,/dev/sdg'
+++ cut -d ' ' -f 1
++ name=/dev/mapper/mpath0
+++ echo '/dev/mapper/mpath0 /dev/sda,/dev/sdc,/dev/sde,/dev/sdg'
+++ cut -d ' ' -f 2
+++ tr , ' '
++ disks='/dev/sda /dev/sdc /dev/sde /dev/sdg'
++ add_component /dev/mapper/mpath0 multipath
++ echo 'todo /dev/mapper/mpath0 multipath'
++ for disk in '$disks'
++ add_dependency /dev/mapper/mpath0 /dev/sda
++ echo '/dev/mapper/mpath0 /dev/sda'
++ for disk in '$disks'
++ add_dependency /dev/mapper/mpath0 /dev/sdc
++ echo '/dev/mapper/mpath0 /dev/sdc'
++ for disk in '$disks'
++ add_dependency /dev/mapper/mpath0 /dev/sde
++ echo '/dev/mapper/mpath0 /dev/sde'
++ for disk in '$disks'
++ add_dependency /dev/mapper/mpath0 /dev/sdg
++ echo '/dev/mapper/mpath0 /dev/sdg'
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/mpath0 106896384 unknown primary boot /dev/mapper/mpath0p1'
+++ cut -d ' ' -f 1
++ disk=/dev/mapper/mpath0
+++ echo '/dev/mapper/mpath0 106896384 unknown primary boot /dev/mapper/mpath0p1'
+++ cut -d ' ' -f 6
++ name=/dev/mapper/mpath0p1
++ add_dependency /dev/mapper/mpath0p1 /dev/mapper/mpath0
++ echo '/dev/mapper/mpath0p1 /dev/mapper/mpath0'
++ add_component /dev/mapper/mpath0p1 part
++ echo 'todo /dev/mapper/mpath0p1 part'
++ read type remainder
++ case $type in
+++ echo '/dev/mapper/mpath0 15726735360 unknown primary lvm /dev/mapper/mpath0p2'
+++ cut -d ' ' -f 1
++ disk=/dev/mapper/mpath0
+++ echo '/dev/mapper/mpath0 15726735360 unknown primary lvm /dev/mapper/mpath0p2'
+++ cut -d ' ' -f 6
++ name=/dev/mapper/mpath0p2
++ add_dependency /dev/mapper/mpath0p2 /dev/mapper/mpath0
++ echo '/dev/mapper/mpath0p2 /dev/mapper/mpath0'
++ add_component /dev/mapper/mpath0p2 part
++ echo 'todo /dev/mapper/mpath0p2 part'
++ read type remainder
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/52_exclude_components.sh
+ . /usr/share/rear/layout/prepare/default/52_exclude_components.sh
++ read multipath device slaves junk
+++ grep '^multipath' /var/lib/rear/layout/disklayout.conf
++ devices=()
++ local -a devices
++ OIFS='
'
++ IFS=,
++ for slave in '$slaves'
++ devices=("${devices[@]}" "$slave")
++ for slave in '$slaves'
++ devices=("${devices[@]}" "$slave")
++ for slave in '$slaves'
++ devices=("${devices[@]}" "$slave")
++ for slave in '$slaves'
++ devices=("${devices[@]}" "$slave")
++ IFS='
'
++ for slave in '"${devices[@]}"'
++ add_component /dev/sda
++ echo 'todo /dev/sda '
++ mark_as_done /dev/sda
++ Debug 'Marking /dev/sda as done.'
++ test ''
++ sed -i 's;todo\ /dev/sda\ ;done\ /dev/sda\ ;' /var/lib/rear/layout/disktodo.conf
++ for slave in '"${devices[@]}"'
++ add_component /dev/sdc
++ echo 'todo /dev/sdc '
++ mark_as_done /dev/sdc
++ Debug 'Marking /dev/sdc as done.'
++ test ''
++ sed -i 's;todo\ /dev/sdc\ ;done\ /dev/sdc\ ;' /var/lib/rear/layout/disktodo.conf
++ for slave in '"${devices[@]}"'
++ add_component /dev/sde
++ echo 'todo /dev/sde '
++ mark_as_done /dev/sde
++ Debug 'Marking /dev/sde as done.'
++ test ''
++ sed -i 's;todo\ /dev/sde\ ;done\ /dev/sde\ ;' /var/lib/rear/layout/disktodo.conf
++ for slave in '"${devices[@]}"'
++ add_component /dev/sdg
++ echo 'todo /dev/sdg '
++ mark_as_done /dev/sdg
++ Debug 'Marking /dev/sdg as done.'
++ test ''
++ sed -i 's;todo\ /dev/sdg\ ;done\ /dev/sdg\ ;' /var/lib/rear/layout/disktodo.conf
++ read multipath device slaves junk
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/54_generate_device_code.sh
+ . /usr/share/rear/layout/prepare/default/54_generate_device_code.sh
++ backup_file /var/lib/rear/layout/diskrestore.sh
++ [[ ! -r /var/lib/rear/layout/diskrestore.sh ]]
++ return
++ cat
++ all_done=
++ '[' -z '' ']'
++ willdodev=
++ willdotype=
++ cp /var/lib/rear/layout/disktodo.conf /var/lib/rear/layout/disktodo.conf.tmp
++ read status thisdev type
+++ grep '^todo' /var/lib/rear/layout/disktodo.conf
++ Debug 'Testing pv:/dev/mpath/mpath0p2 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^pv:/dev/mpath/mpath0p2\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mpath/mpath0p2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mpath/mpath0p2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/vg_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/vg_root\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): pv:/dev/mpath/mpath0p2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done pv:/dev/mpath/mpath0p2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_root\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_tmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_tmp\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_opt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_opt\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_autosys for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_autosys\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_var for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_var\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_home for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_home\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_usr for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_usr\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_tivoli for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_tivoli\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/ for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mapper/vg_root-lv_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/tmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/tmp\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_tmp fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_tmp ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/opt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/opt\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_opt fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_opt ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/opt/CA for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/opt/CA\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (3): /dev/mapper/vg_root-lv_autosys fs:/ fs:/opt'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_autosys ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/opt ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 3 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/var for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/var\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_var fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_var ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/home for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/home\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_home fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_home ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/usr for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/usr\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_usr fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_usr ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/usr/monitoring/Tivoli for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/usr/monitoring/Tivoli\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (3): /dev/mapper/vg_root-lv_tivoli fs:/ fs:/usr'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_tivoli ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/usr ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 3 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/boot for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/boot\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/mpath0p1 fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/mpath0p1 ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/mpath0 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/mpath0\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (4): /dev/sda /dev/sdc /dev/sde /dev/sdg'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sda ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sdc ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sde ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sdg ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 4 -eq 4 ']'
++ Debug 'All dependencies for /dev/mapper/mpath0 are present, processing...'
++ test ''
++ willdodev=/dev/mapper/mpath0
++ willdotype=multipath
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/mpath0 ']'
++ create_device /dev/mapper/mpath0 multipath
++ local device=/dev/mapper/mpath0
++ local type=multipath
++ local name
++ cat
++ echo '# Create /dev/mapper/mpath0 (multipath)'
++ type -t create_multipath
++ create_multipath /dev/mapper/mpath0
++ local multipath device
++ read multipath device junk
+++ grep 'multipath /dev/mapper/mpath0 ' /var/lib/rear/layout/disklayout.conf
++ create_partitions /dev/mapper/mpath0
++ local device=/dev/mapper/mpath0
++ local label=
++ names=()
++ local -a names
++ local part size pstart name junk
++ read part disk size pstart name junk
+++ grep '^part /dev/mapper/mpath0 ' /var/lib/rear/layout/disklayout.conf
++ names=("${names[@]}" $name)
++ case $name in
++ [[ -z '' ]]
++ Log 'Disk label for /dev/mapper/mpath0 detected as msdos.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 Disk label for /dev/mapper/mpath0 detected as msdos.'
2013-04-18 13:21:51 Disk label for /dev/mapper/mpath0 detected as msdos.
++ label=msdos
++ read part disk size pstart name junk
++ names=("${names[@]}" $name)
++ case $name in
++ [[ -z msdos ]]
++ read part disk size pstart name junk
++ [[ 2 -eq 0 ]]
++ [[ -z msdos ]]
++ cat
++ local block_size device_size sysfs_name
++ [[ -b /dev/mapper/mpath0 ]]
+++ get_sysfs_name /dev/mapper/mpath0
+++ local name=mapper/mpath0
+++ name=mapper/mpath0
+++ [[ -e /sys/block/mapper!mpath0 ]]
+++ [[ -h /dev/mapper/mpath0 ]]
++++ dmsetup info -c --noheadings -o major,minor mpath0
+++ local dev_number=253:0
+++ [[ -n 253:0 ]]
+++ local dev_name sysfs_device
+++ for sysfs_device in '/sys/block/*/dev'
+++ [[ 253:0 = \1\0\4\:\0 ]]
+++ for sysfs_device in '/sys/block/*/dev'
+++ [[ 253:0 = \2\5\3\:\0 ]]
+++ dev_name=dm-0/dev
+++ echo dm-0
+++ return 0
++ sysfs_name=dm-0
++ [[ -n dm-0 ]]
++ [[ -d /sys/block/dm-0 ]]
+++ get_block_size dm-0
+++ '[' -r /sys/block/dm-0/queue/logical_block_size ']'
+++ echo 512
++ block_size=512
+++ get_disk_size dm-0
+++ local disk_name=dm-0
++++ get_block_size dm-0
++++ '[' -r /sys/block/dm-0/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/dm-0/size ']'
+++ BugIfError 'Could not determine size of disk dm-0, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=104857600
+++ local disk_size=53687091200
+++ echo 53687091200
++ device_size=53687091200
++ [[ msdos == \g\p\t ]]
++ local start end start_mb end_mb
++ let start=32768
++ let end=0
++ local flags partition
+++ grep '^part /dev/mapper/mpath0' /var/lib/rear/layout/disklayout.conf
++ read part disk size pstart name flags partition junk
++ '[' -z '' ']'
++ '[' unknown = unknown ']'
++ end=106929152
++ [[ -n 53687091200 ]]
++ (( end > 53687091200 ))
++ [[ primary = \e\x\t\e\n\d\e\d ]]
++ [[ -n y ]]
++ [[ -n 106929152 ]]
++ end=106929151B
++ cat
++ start=106929152
+++ echo 106929152
+++ awk '{printf "%u", $1+4096-($1%4096);}'
++ start=106930176
+++ echo /dev/mapper/mpath0p1
+++ grep -o -E '[0-9]+$'
++ local number=1
+++ echo boot
+++ tr , ' '
++ local flags=boot
++ local flag
++ for flag in '$flags'
++ [[ boot = \n\o\n\e ]]
++ echo 'parted -s /dev/mapper/mpath0 set 1 boot on >&2'
++ [[ msdos = \g\p\t ]]
++ read part disk size pstart name flags partition junk
++ '[' -z '' ']'
++ '[' unknown = unknown ']'
++ end=15833665536
++ [[ -n 53687091200 ]]
++ (( end > 53687091200 ))
++ [[ primary = \e\x\t\e\n\d\e\d ]]
++ [[ -n y ]]
++ [[ -n 15833665536 ]]
++ end=15833665535B
++ cat
++ start=15833665536
+++ echo 15833665536
+++ awk '{printf "%u", $1+4096-($1%4096);}'
++ start=15833669632
+++ echo /dev/mapper/mpath0p2
+++ grep -o -E '[0-9]+$'
++ local number=2
+++ echo lvm
+++ tr , ' '
++ local flags=lvm
++ local flag
++ for flag in '$flags'
++ [[ lvm = \n\o\n\e ]]
++ echo 'parted -s /dev/mapper/mpath0 set 2 lvm on >&2'
++ [[ msdos = \g\p\t ]]
++ read part disk size pstart name flags partition junk
++ echo 'partprobe -s /dev/mapper/mpath0 >&2'
++ cat
++ mark_as_done /dev/mapper/mpath0
++ Debug 'Marking /dev/mapper/mpath0 as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/mpath0\ ;done\ /dev/mapper/mpath0\ ;' /var/lib/rear/layout/disktodo.conf
++ '[' -z '' ']'
++ willdodev=
++ willdotype=
++ cp /var/lib/rear/layout/disktodo.conf /var/lib/rear/layout/disktodo.conf.tmp
++ read status thisdev type
+++ grep '^todo' /var/lib/rear/layout/disktodo.conf
++ Debug 'Testing pv:/dev/mpath/mpath0p2 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^pv:/dev/mpath/mpath0p2\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mpath/mpath0p2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mpath/mpath0p2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/vg_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/vg_root\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): pv:/dev/mpath/mpath0p2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done pv:/dev/mpath/mpath0p2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_root\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_tmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_tmp\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_opt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_opt\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_autosys for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_autosys\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_var for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_var\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_home for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_home\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_usr for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_usr\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_tivoli for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_tivoli\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/ for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mapper/vg_root-lv_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/tmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/tmp\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_tmp fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_tmp ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/opt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/opt\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_opt fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_opt ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/opt/CA for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/opt/CA\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (3): /dev/mapper/vg_root-lv_autosys fs:/ fs:/opt'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_autosys ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/opt ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 3 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/var for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/var\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_var fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_var ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/home for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/home\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_home fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_home ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/usr for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/usr\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_usr fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_usr ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/usr/monitoring/Tivoli for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/usr/monitoring/Tivoli\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (3): /dev/mapper/vg_root-lv_tivoli fs:/ fs:/usr'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_tivoli ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/usr ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 3 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/boot for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/boot\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/mpath0p1 fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/mpath0p1 ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/mpath0p1 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/mpath0p1\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mapper/mpath0'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/mpath0 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/mpath0p1 are present, processing...'
++ test ''
++ willdodev=/dev/mapper/mpath0p1
++ willdotype=part
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/mpath0p1 ']'
++ create_device /dev/mapper/mpath0p1 part
++ local device=/dev/mapper/mpath0p1
++ local type=part
++ local name
++ cat
++ echo '# Create /dev/mapper/mpath0p1 (part)'
++ type -t create_part
++ cat
++ mark_as_done /dev/mapper/mpath0p1
++ Debug 'Marking /dev/mapper/mpath0p1 as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/mpath0p1\ ;done\ /dev/mapper/mpath0p1\ ;' /var/lib/rear/layout/disktodo.conf
++ '[' -z '' ']'
++ willdodev=
++ willdotype=
++ cp /var/lib/rear/layout/disktodo.conf /var/lib/rear/layout/disktodo.conf.tmp
++ read status thisdev type
+++ grep '^todo' /var/lib/rear/layout/disktodo.conf
++ Debug 'Testing pv:/dev/mpath/mpath0p2 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^pv:/dev/mpath/mpath0p2\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mpath/mpath0p2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mpath/mpath0p2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/vg_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/vg_root\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): pv:/dev/mpath/mpath0p2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done pv:/dev/mpath/mpath0p2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_root\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_tmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_tmp\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_opt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_opt\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_autosys for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_autosys\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_var for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vg_root-lv_var\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_home for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_home\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_usr for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_usr\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_tivoli for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_tivoli\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/ for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mapper/vg_root-lv_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/tmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/tmp\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_tmp fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_tmp ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/opt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^fs:/opt\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (2): /dev/mapper/vg_root-lv_opt fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_opt ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/opt/CA for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/opt/CA\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (3): /dev/mapper/vg_root-lv_autosys fs:/ fs:/opt'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_autosys ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/opt ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 3 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/var for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/var\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_var fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_var ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/home for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/home\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_home fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_home ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/usr for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/usr\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_usr fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_usr ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/usr/monitoring/Tivoli for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/usr/monitoring/Tivoli\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (3): /dev/mapper/vg_root-lv_tivoli fs:/ fs:/usr'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_tivoli ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/usr ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 3 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/boot for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/boot\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/mpath0p1 fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/mpath0p1 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 1 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/mpath0p2 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/mpath0p2\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mapper/mpath0'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/mpath0 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/mpath0p2 are present, processing...'
++ test ''
++ willdodev=/dev/mapper/mpath0p2
++ willdotype=part
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/mpath0p2 ']'
++ create_device /dev/mapper/mpath0p2 part
++ local device=/dev/mapper/mpath0p2
++ local type=part
++ local name
++ cat
++ echo '# Create /dev/mapper/mpath0p2 (part)'
++ type -t create_part
++ cat
++ mark_as_done /dev/mapper/mpath0p2
++ Debug 'Marking /dev/mapper/mpath0p2 as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/mpath0p2\ ;done\ /dev/mapper/mpath0p2\ ;' /var/lib/rear/layout/disktodo.conf
++ '[' -z '' ']'
++ willdodev=
++ willdotype=
++ cp /var/lib/rear/layout/disktodo.conf /var/lib/rear/layout/disktodo.conf.tmp
+++ grep '^todo' /var/lib/rear/layout/disktodo.conf
++ read status thisdev type
++ Debug 'Testing pv:/dev/mpath/mpath0p2 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^pv:/dev/mpath/mpath0p2\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mpath/mpath0p2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mpath/mpath0p2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/vg_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/vg_root\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): pv:/dev/mpath/mpath0p2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done pv:/dev/mpath/mpath0p2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vg_root-lv_root\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_tmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_tmp\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_opt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_opt\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_autosys for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_autosys\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_var for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_var\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_home for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_home\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_usr for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_usr\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing /dev/mapper/vg_root-lv_tivoli for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^/dev/mapper/vg_root-lv_tivoli\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/vg_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/ for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (1): /dev/mapper/vg_root-lv_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 1 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/tmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/tmp\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_tmp fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_tmp ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/opt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/opt\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_opt fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_opt ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/opt/CA for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/opt/CA\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (3): /dev/mapper/vg_root-lv_autosys fs:/ fs:/opt'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_autosys ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/opt ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 3 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/var for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/var\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_var fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_var ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/home for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/home\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_home fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_home ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/usr for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/usr\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/vg_root-lv_usr fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_usr ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/usr/monitoring/Tivoli for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/usr/monitoring/Tivoli\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (3): /dev/mapper/vg_root-lv_tivoli fs:/ fs:/usr'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_root-lv_tivoli ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/usr ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 3 -eq 0 ']'
++ read status thisdev type
++ Debug 'Testing fs:/boot for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ grep '^fs:/boot\ ' /var/lib/rear/layout/diskdeps.conf
+++ cut -d ' ' -f 2
++ Debug 'deps (2): /dev/mapper/mpath0p1 fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/mpath0p1 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ '[' 2 -eq 1 ']'
++ read status thisdev type
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n '' ']'
++ all_done=y
++ '[' -z y ']'
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/55_finalize_script.sh
+ . /usr/share/rear/layout/prepare/default/55_finalize_script.sh
++ cat
+ test 1
+ set +x
2013-04-18 13:21:51 Including layout/prepare/default/60_show_unprocessed.sh
+ . /usr/share/rear/layout/prepare/default/60_show_unprocessed.sh
++ read -u 3 status name type junk
+++ grep '^todo' /var/lib/rear/layout/disktodo.conf
++ LogPrint 'No code has been generated to restore device pv:/dev/mpath/mpath0p2 (lvmdev).
Please add code to /var/lib/rear/layout/diskrestore.sh to manually install it or choose abort.'
++ Log 'No code has been generated to restore device pv:/dev/mpath/mpath0p2 (lvmdev).
Please add code to /var/lib/rear/layout/diskrestore.sh to manually install it or choose abort.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:51 No code has been generated to restore device pv:/dev/mpath/mpath0p2 (lvmdev).
Please add code to /var/lib/rear/layout/diskrestore.sh to manually install it or choose abort.'
2013-04-18 13:21:51 No code has been generated to restore device pv:/dev/mpath/mpath0p2 (lvmdev).
Please add code to /var/lib/rear/layout/diskrestore.sh to manually install it or choose abort.
++ Print 'No code has been generated to restore device pv:/dev/mpath/mpath0p2 (lvmdev).
Please add code to /var/lib/rear/layout/diskrestore.sh to manually install it or choose abort.'
++ test 1
++ echo -e 'No code has been generated to restore device pv:/dev/mpath/mpath0p2 (lvmdev).
Please add code to /var/lib/rear/layout/diskrestore.sh to manually install it or choose abort.'
++ '[' Abort = Abort ']'
++ abort_recreate
++ Log 'Error detected during restore.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:55 Error detected during restore.'
2013-04-18 13:21:55 Error detected during restore.
++ Log 'Restoring backup of /var/lib/rear/layout/disklayout.conf'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:55 Restoring backup of /var/lib/rear/layout/disklayout.conf'
2013-04-18 13:21:55 Restoring backup of /var/lib/rear/layout/disklayout.conf
++ restore_backup /var/lib/rear/layout/disklayout.conf
++ cp -ar /var/lib/rear/layout/disklayout.conf.20130418.4164.bak /var/lib/rear/layout/disklayout.conf
++ Error 'User chose to abort the recovery.'
++ '[' User chose to abort the recovery. -eq User chose to abort the recovery. ']'
++ EXIT_CODE=1
++ VERBOSE=1
++ LogPrint 'ERROR: User chose to abort the recovery.'
++ Log 'ERROR: User chose to abort the recovery.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-04-18 13:21:55 ERROR: User chose to abort the recovery.'
2013-04-18 13:21:55 ERROR: User chose to abort the recovery.
++ Print 'ERROR: User chose to abort the recovery.'
++ test 1
++ echo -e 'ERROR: User chose to abort the recovery.'
++ has_binary caller
++ for bin in '$@'
++ type caller
++ return 0
++ echo '=== Stack trace ==='
=== Stack trace ===
++ local c=0
++ caller 0
++ awk '
{ l[NR]=$3":"$1" "$2 }
END { for (i=NR; i>0;) print "Trace "NR-i": "l[i--] }
'
++ :
++ caller 1
++ :
++ caller 2
++ :
++ caller 3
++ :
++ caller 4
++ :
++ caller 5
Trace 0: /bin/rear:245 main
Trace 1: /usr/share/rear/lib/recover-workflow.sh:29 WORKFLOW_recover
Trace 2: /usr/share/rear/lib/framework-functions.sh:79 SourceStage
Trace 3: /usr/share/rear/lib/framework-functions.sh:40 Source
Trace 4: /usr/share/rear/layout/prepare/default/60_show_unprocessed.sh:14 source
++ echo 'Message: User chose to abort the recovery.'
Message: User chose to abort the recovery.
++ echo ===================
===================
++ kill -USR1 4164
+++ echo 'Aborting due to an error, check /var/log/rear/rear-uxit400c.log for details'
+++ kill 4164
+++ DoExitTasks
+++ Log 'Running exit tasks.'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-04-18 13:21:55 Running exit tasks.'
2013-04-18 13:21:55 Running exit tasks.
+++ JOBS=($(jobs -p))
++++ jobs -p
+++ test ''
+++ for task in '"${EXIT_TASKS[@]}"'
+++ Debug 'Exit task '\''umount -f -v '\''/tmp/rear.UHlxviwaOpW4207/outputfs'\'' >&2'\'''
+++ test ''
+++ eval 'umount -f -v '\''/tmp/rear.UHlxviwaOpW4207/outputfs'\'' >&2'
++++ umount -f -v /tmp/rear.UHlxviwaOpW4207/outputfs
ks1.mux.isinfra.net:/nfsexports/rear/uxit400c umounted
+++ for task in '"${EXIT_TASKS[@]}"'
+++ Debug 'Exit task '\''rmdir -v /tmp/rear.UHlxviwaOpW4207/outputfs >&2'\'''
+++ test ''
+++ eval 'rmdir -v /tmp/rear.UHlxviwaOpW4207/outputfs >&2'
++++ rmdir -v /tmp/rear.UHlxviwaOpW4207/outputfs
rmdir: removing directory, /tmp/rear.UHlxviwaOpW4207/outputfs
+++ for task in '"${EXIT_TASKS[@]}"'
+++ Debug 'Exit task '\''cleanup_build_area_and_end_program'\'''
+++ test ''
+++ eval cleanup_build_area_and_end_program
++++ cleanup_build_area_and_end_program
++++ Log 'Finished in 7 seconds'
++++ test 1 -gt 0
+++++ Stamp
+++++ date '+%Y-%m-%d %H:%M:%S '
++++ echo '2013-04-18 13:21:55 Finished in 7 seconds'
2013-04-18 13:21:55 Finished in 7 seconds
++++ test ''
++++ Log 'Removing build area /tmp/rear.UHlxviwaOpW4207'
++++ test 1 -gt 0
+++++ Stamp
+++++ date '+%Y-%m-%d %H:%M:%S '
++++ echo '2013-04-18 13:21:55 Removing build area /tmp/rear.UHlxviwaOpW4207'
2013-04-18 13:21:55 Removing build area /tmp/rear.UHlxviwaOpW4207
++++ rm -Rf /tmp/rear.UHlxviwaOpW4207/tmp
++++ rm -Rf /tmp/rear.UHlxviwaOpW4207/rootfs
++++ rmdir -v /tmp/rear.UHlxviwaOpW4207
rmdir: removing directory, /tmp/rear.UHlxviwaOpW4207
++++ Log 'End of program reached'
++++ test 1 -gt 0
+++++ Stamp
+++++ date '+%Y-%m-%d %H:%M:%S '
++++ echo '2013-04-18 13:21:55 End of program reached'
2013-04-18 13:21:55 End of program reached
+++ for task in '"${EXIT_TASKS[@]}"'
+++ Debug 'Exit task '\''exec 8>&-'\'''
+++ test ''
+++ eval 'exec 8>&-'
++++ exec
+++ for task in '"${EXIT_TASKS[@]}"'
+++ Debug 'Exit task '\''exec 7>&-'\'''
+++ test ''
+++ eval 'exec 7>&-'
++++ exec
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment