Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save pramodbiradar89/257012b2d32f06935915 to your computer and use it in GitHub Desktop.
Save pramodbiradar89/257012b2d32f06935915 to your computer and use it in GitHub Desktop.
2014-09-19 12:05:25 Relax-and-Recover 1.16.1 / Git
2014-09-19 12:05:25 Command line options: /bin/rear recover -D
2014-09-19 12:05:25 Using log file: /var/log/rear/rear-RHEl6.log
2014-09-19 12:05:25 Including /etc/rear/os.conf
+ . /etc/rear/os.conf
++ OS_VENDOR=RedHatEnterpriseServer
++ OS_VERSION=6
++ ARCH=Linux-i386
++ OS=GNU/Linux
++ OS_VERSION=6
++ OS_VENDOR=RedHatEnterpriseServer
++ OS_VENDOR_VERSION=RedHatEnterpriseServer/6
++ OS_VENDOR_ARCH=RedHatEnterpriseServer/i386
+ test 1
+ set +x
2014-09-19 12:05:25 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
2014-09-19 12:05:25 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 nslookup 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 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 sg_inq)
++ 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 /usr/lib*/syslog-ng/*)
++ MODULES=(${MODULES[@]} vfat nls_iso8859_1 nls_utf8 nls_cp437 af_packet unix nfs nfsv4 nfsv3 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 /etc/terminfo /lib*/terminfo /usr/share/terminfo /etc/netconfig /etc/mke2fs.conf /etc/*-release /lib*/firmware /etc/localtime /etc/magic /usr/share/misc/magic /etc/dracut.conf /etc/dracut.conf.d /usr/lib/dracut)
++ 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 kvm)
+ test 1
+ set +x
2014-09-19 12:05:25 Including /etc/rear/local.conf
+ . /etc/rear/local.conf
++ BACKUP=ISO
++ BACKUP_URL=nfs://10.31.199.183/NFS_DATA
++ BACKUP=NETFS
+ test 1
+ set +x
2014-09-19 12:05:25 Including /etc/rear/rescue.conf
+ . /etc/rear/rescue.conf
++ SHARE_DIR=/usr/share/rear
++ CONFIG_DIR=/etc/rear
++ VAR_DIR=/var/lib/rear
++ LOG_DIR=/var/log/rear
++ NETFS_KEEP_OLD_BACKUP_COPY=
++ NETFS_PREFIX=RHEl6
++ unset TMPDIR
+ test 1
+ set +x
2014-09-19 12:05:25 Using build area '/tmp/rear.hlagJrkKfZ3o4H9'
mkdir: created directory `/tmp/rear.hlagJrkKfZ3o4H9/rootfs'
mkdir: created directory `/tmp/rear.hlagJrkKfZ3o4H9/tmp'
2014-09-19 12:05:25 Running recover workflow
2014-09-19 12:05:25 Running 'setup' stage
2014-09-19 12:05:25 Including setup/default/01_pre_recovery_script.sh
+ . /usr/share/rear/setup/default/01_pre_recovery_script.sh
++ test ''
+ test 1
+ set +x
2014-09-19 12:05:25 Finished running 'setup' stage in 0 seconds
2014-09-19 12:05:25 Running 'verify' stage
2014-09-19 12:05:25 Including verify/default/02_cciss_scsi_engage.sh
+ . /usr/share/rear/verify/default/02_cciss_scsi_engage.sh
++ grep -q '^cciss ' /proc/modules
++ return
+ test 1
+ set +x
2014-09-19 12:05:25 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://10.31.199.183/NFS_DATA
++ [[ -z '' ]]
++ [[ -z nfs://10.31.199.183/NFS_DATA ]]
++ [[ -z '' ]]
++ [[ -z nfs://10.31.199.183/NFS_DATA ]]
+ test 1
+ set +x
2014-09-19 12:05:25 Including verify/default/03_translate_tape.sh
+ . /usr/share/rear/verify/default/03_translate_tape.sh
++ [[ -n nfs://10.31.199.183/NFS_DATA ]]
+++ url_scheme nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
++ backup_scheme=nfs
++ [[ nfs == tape ]]
++ [[ nfs == obdr ]]
++ [[ -z nfs://10.31.199.183/NFS_DATA ]]
++ [[ -z nfs://10.31.199.183/NFS_DATA ]]
++ [[ -n '' ]]
+ test 1
+ set +x
2014-09-19 12:05:25 Including verify/default/04_validate_variables.sh
+ . /usr/share/rear/verify/default/04_validate_variables.sh
++ [[ ! -z 30 ]]
+++ is_numeric 30
+++ expr 30 + 0
+++ echo 30
++ WAIT_SECS=30
++ [[ 30 -eq 0 ]]
+ test 1
+ set +x
2014-09-19 12:05:25 Including verify/NETFS/default/05_check_NETFS_requirements.sh
+ . /usr/share/rear/verify/NETFS/default/05_check_NETFS_requirements.sh
++ [[ -n nfs://10.31.199.183/NFS_DATA ]]
++ StopIfError 'You must specify either BACKUP_URL or BACKUP_MOUNTCMD and BACKUP_UMOUNTCMD !'
++ (( 0 != 0 ))
++ [[ -n nfs://10.31.199.183/NFS_DATA ]]
+++ url_host nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local host=10.31.199.183/NFS_DATA
+++ echo 10.31.199.183
++ local host=10.31.199.183
+++ url_scheme nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
++ local scheme=nfs
+++ url_path nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local path=10.31.199.183/NFS_DATA
+++ echo /NFS_DATA
++ local path=/NFS_DATA
++ case $scheme in
++ [[ -n '' ]]
++ Log 'Skipping ping test'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:25 Skipping ping test'
2014-09-19 12:05:25 Skipping ping test
++ case "$(basename $BACKUP_PROG)" in
+++ basename tar
++ :
++ PROGS=("${PROGS[@]}" showmount 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://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
+++ url_scheme nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
+++ test ''
+++ test ''
++ [[ nfs = \s\s\h\f\s ]]
++ MODULES=("${MODULES[@]}" $(url_scheme $BACKUP_URL))
+++ url_scheme nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
+ test 1
+ set +x
2014-09-19 12:05:25 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
2014-09-19 12:05:25 Including verify/NETFS/default/06_mount_NETFS_path.sh
+ . /usr/share/rear/verify/NETFS/default/06_mount_NETFS_path.sh
++ mkdir -p -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs
mkdir: created directory `/tmp/rear.hlagJrkKfZ3o4H9/outputfs'
++ StopIfError 'Could not mkdir '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'''
++ (( 0 != 0 ))
++ AddExitTask 'rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2'
++ EXIT_TASKS=("$*" "${EXIT_TASKS[@]}")
++ Debug 'Added '\''rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2'\'' as an exit task'
++ test ''
++ [[ -n '' ]]
++ mount_url nfs://10.31.199.183/NFS_DATA /tmp/rear.hlagJrkKfZ3o4H9/outputfs
++ local url=nfs://10.31.199.183/NFS_DATA
++ local mountpoint=/tmp/rear.hlagJrkKfZ3o4H9/outputfs
++ local defaultoptions=rw,noatime,nolock
++ local options=rw,noatime,nolock
++ local mount_cmd
++ case $(url_scheme $url) in
+++ url_scheme nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
+++ url_scheme nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
+++ url_host nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local host=10.31.199.183/NFS_DATA
+++ echo 10.31.199.183
+++ url_path nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local path=10.31.199.183/NFS_DATA
+++ echo /NFS_DATA
++ mount_cmd='mount -v -t nfs -o rw,noatime,nolock 10.31.199.183:/NFS_DATA /tmp/rear.hlagJrkKfZ3o4H9/outputfs'
++ Log 'Mounting with '\''mount -v -t nfs -o rw,noatime,nolock 10.31.199.183:/NFS_DATA /tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'''
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:25 Mounting with '\''mount -v -t nfs -o rw,noatime,nolock 10.31.199.183:/NFS_DATA /tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'''
2014-09-19 12:05:25 Mounting with 'mount -v -t nfs -o rw,noatime,nolock 10.31.199.183:/NFS_DATA /tmp/rear.hlagJrkKfZ3o4H9/outputfs'
++ mount -v -t nfs -o rw,noatime,nolock 10.31.199.183:/NFS_DATA /tmp/rear.hlagJrkKfZ3o4H9/outputfs
mount.nfs: mount(2): Operation not permitted
mount.nfs: trying 10.31.199.183 prog 100003 vers 3 prot TCP port 2049
mount.nfs: trying 10.31.199.183 prog 100005 vers 3 prot UDP port 818
mount.nfs: timeout set for Fri Sep 19 12:07:25 2014
mount.nfs: trying text-based options 'nolock,vers=4,addr=10.31.199.183,clientaddr=10.31.199.181'
mount.nfs: trying text-based options 'nolock,addr=10.31.199.183'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: prog 100005, trying vers=3, prot=17
10.31.199.183:/NFS_DATA on /tmp/rear.hlagJrkKfZ3o4H9/outputfs type nfs (rw,noatime,nolock)
++ StopIfError 'Mount command '\''mount -v -t nfs -o rw,noatime,nolock 10.31.199.183:/NFS_DATA /tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' failed.'
++ (( 0 != 0 ))
++ AddExitTask 'umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2'
++ EXIT_TASKS=("$*" "${EXIT_TASKS[@]}")
++ Debug 'Added '\''umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2'\'' as an exit task'
++ test ''
++ return 0
+ test 1
+ set +x
2014-09-19 12:05:25 Including verify/NETFS/default/07_set_backup_archive.sh
+ . /usr/share/rear/verify/NETFS/default/07_set_backup_archive.sh
+++ url_scheme nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
++ local scheme=nfs
++ case "$TAPE_DEVICE:$scheme" in
++ '[' == incremental ']'
/usr/share/rear/verify/NETFS/default/07_set_backup_archive.sh: line 13: [: ==: unary operator expected
++ backuparchive=/tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz
++ restorearchive=/tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz
+ test 1
+ set +x
2014-09-19 12:05:26 Including verify/NETFS/default/08_start_required_daemons.sh
+ . /usr/share/rear/verify/NETFS/default/08_start_required_daemons.sh
+++ url_scheme nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
++ local scheme=nfs
++ case "$scheme" in
++ has_binary portmap
++ for bin in '$@'
++ type portmap
++ return 1
++ has_binary rpcbind
++ for bin in '$@'
++ type rpcbind
++ return 0
++ rpcinfo -p localhost
++ StopIfError 'Could not start port mapper [rpcbind] !'
++ (( 0 != 0 ))
++ max_portmap_checks=5
++ rpcinfo -p localhost
++ has_binary rpc.statd
++ for bin in '$@'
++ type rpc.statd
++ return 0
++ grep -q status
++ rpcinfo -p localhost
++ : noop, status is running
+ test 1
+ set +x
2014-09-19 12:05:26 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
2014-09-19 12:05:26 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
++ 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
))
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
+++ find /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/block /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/firewire /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/ide /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/ata /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/md /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/message /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/usb/storage -type f -name '*.ko*' -printf '%f\n'
find: `/lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/ide': No such file or directory
++ 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
))
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
+++ find /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/net -type f -name '*.ko*' -printf '%f\n'
++ 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
))
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
+++ find /lib/modules/2.6.32-71.el6.x86_64/kernel/crypto -type f -name '*.ko*' -printf '%f\n'
++ 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
))
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
+++ find /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/virtio /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/xen -type f -name '*.ko*' -printf '%f\n'
++ 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
))
+++ sed -e 's/^\(.*\)\.ko.*/\1/'
+++ find /lib/modules/2.6.32-71.el6.x86_64/extra /lib/modules/2.6.32-71.el6.x86_64/weak-updates -type f -name '*.ko*' -printf '%f\n'
find: `/lib/modules/2.6.32-71.el6.x86_64/extra': No such file or directory
find: `/lib/modules/2.6.32-71.el6.x86_64/weak-updates': No such file or directory
+ test 1
+ set +x
2014-09-19 12:05:26 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
++ return 0
++ return 0
++ FindStorageDrivers /tmp/rear.hlagJrkKfZ3o4H9/tmp/dev
++ (( 161 == 0 ))
++ sort -u
++ grep -v -E '(loop)'
++ read module junk
+++ lsmod
++ IsInArray Module osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=Module
++ shift
++ [[ Module == \o\s\d\b\l\k ]]
++ shift
++ [[ Module == \s\x\8 ]]
++ shift
++ [[ Module == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ Module == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ Module == \p\k\t\c\d\v\d ]]
++ shift
++ [[ Module == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ Module == \c\c\i\s\s ]]
++ shift
++ [[ Module == \f\l\o\p\p\y ]]
++ shift
++ [[ Module == \a\o\e ]]
++ shift
++ [[ Module == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ Module == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ Module == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ Module == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ Module == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ Module == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ Module == \s\a\t\a\_\n\v ]]
++ shift
++ [[ Module == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ Module == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ Module == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ Module == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ Module == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ Module == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ Module == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ Module == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ Module == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ Module == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ Module == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ Module == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ Module == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ Module == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ Module == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ Module == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ Module == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ Module == \s\a\t\a\_\m\v ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ Module == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ Module == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ Module == \a\h\c\i ]]
++ shift
++ [[ Module == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ Module == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ Module == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ Module == \l\i\n\e\a\r ]]
++ shift
++ [[ Module == \r\a\i\d\1 ]]
++ shift
++ [[ Module == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ Module == \d\m\-\m\o\d ]]
++ shift
++ [[ Module == \r\a\i\d\1\0 ]]
++ shift
++ [[ Module == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ Module == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ Module == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ Module == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ Module == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ Module == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ Module == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ Module == \f\a\u\l\t\y ]]
++ shift
++ [[ Module == \d\m\-\z\e\r\o ]]
++ shift
++ [[ Module == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ Module == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ Module == \r\a\i\d\0 ]]
++ shift
++ [[ Module == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ Module == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ Module == \d\m\-\l\o\g ]]
++ shift
++ [[ Module == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ Module == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ Module == \m\p\t\b\a\s\e ]]
++ shift
++ [[ Module == \m\p\t\s\a\s ]]
++ shift
++ [[ Module == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ Module == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ Module == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ Module == \l\i\b\f\c ]]
++ shift
++ [[ Module == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ Module == \l\i\b\s\r\p ]]
++ shift
++ [[ Module == \f\c\o\e ]]
++ shift
++ [[ Module == \l\i\b\f\c\o\e ]]
++ shift
++ [[ Module == \i\p\s ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ Module == \q\l\a\2\x\x\x ]]
++ shift
++ [[ Module == \q\l\a\4\x\x\x ]]
++ shift
++ [[ Module == \s\t ]]
++ shift
++ [[ Module == \a\i\c\9\4\x\x ]]
++ shift
++ [[ Module == \a\i\c\7\9\x\x ]]
++ shift
++ [[ Module == \a\i\c\7\x\x\x ]]
++ shift
++ [[ Module == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ Module == \b\n\x\2\i ]]
++ shift
++ [[ Module == \i\m\m ]]
++ shift
++ [[ Module == \s\r\_\m\o\d ]]
++ shift
++ [[ Module == \l\i\b\s\a\s ]]
++ shift
++ [[ Module == \a\r\c\m\s\r ]]
++ shift
++ [[ Module == \l\i\b\o\s\d ]]
++ shift
++ [[ Module == \o\s\d ]]
++ shift
++ [[ Module == \3\w\-\x\x\x\x ]]
++ shift
++ [[ Module == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ Module == \p\m\c\r\a\i\d ]]
++ shift
++ [[ Module == \s\t\e\x ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ Module == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ Module == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ Module == \l\p\f\c ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ Module == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ Module == \c\h ]]
++ shift
++ [[ Module == \m\p\t\2\s\a\s ]]
++ shift
++ [[ Module == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ Module == \i\n\i\t\i\o ]]
++ shift
++ [[ Module == \c\x\g\b\3\i ]]
++ shift
++ [[ Module == \a\a\c\r\a\i\d ]]
++ shift
++ [[ Module == \b\f\a ]]
++ shift
++ [[ Module == \h\p\t\i\o\p ]]
++ shift
++ [[ Module == \f\n\i\c ]]
++ shift
++ [[ Module == \o\s\s\t ]]
++ shift
++ [[ Module == \p\p\a ]]
++ shift
++ [[ Module == \s\g ]]
++ shift
++ [[ Module == \s\d\_\m\o\d ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ Module == \h\p\s\a ]]
++ shift
++ [[ Module == \m\v\s\a\s ]]
++ shift
++ [[ Module == \3\w\-\s\a\s ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ Module == \s\e\s ]]
++ shift
++ [[ Module == \3\w\-\9\x\x\x ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ Module == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ Module == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ Module == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ Module == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ Module == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ Module == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ Module == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ Module == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ Module == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ Module == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ Module == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ Module == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ Module == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray nfs osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=nfs
++ shift
++ [[ nfs == \o\s\d\b\l\k ]]
++ shift
++ [[ nfs == \s\x\8 ]]
++ shift
++ [[ nfs == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ nfs == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ nfs == \p\k\t\c\d\v\d ]]
++ shift
++ [[ nfs == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ nfs == \c\c\i\s\s ]]
++ shift
++ [[ nfs == \f\l\o\p\p\y ]]
++ shift
++ [[ nfs == \a\o\e ]]
++ shift
++ [[ nfs == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ nfs == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ nfs == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ nfs == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ nfs == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ nfs == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ nfs == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ nfs == \s\a\t\a\_\n\v ]]
++ shift
++ [[ nfs == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ nfs == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ nfs == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ nfs == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ nfs == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ nfs == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ nfs == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ nfs == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ nfs == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ nfs == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ nfs == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ nfs == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ nfs == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ nfs == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ nfs == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ nfs == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ nfs == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ nfs == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ nfs == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ nfs == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ nfs == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ nfs == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ nfs == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ nfs == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ nfs == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ nfs == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ nfs == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ nfs == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ nfs == \s\a\t\a\_\m\v ]]
++ shift
++ [[ nfs == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ nfs == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ nfs == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ nfs == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ nfs == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ nfs == \a\h\c\i ]]
++ shift
++ [[ nfs == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ nfs == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ nfs == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ nfs == \l\i\n\e\a\r ]]
++ shift
++ [[ nfs == \r\a\i\d\1 ]]
++ shift
++ [[ nfs == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ nfs == \d\m\-\m\o\d ]]
++ shift
++ [[ nfs == \r\a\i\d\1\0 ]]
++ shift
++ [[ nfs == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ nfs == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ nfs == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ nfs == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ nfs == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ nfs == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ nfs == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ nfs == \f\a\u\l\t\y ]]
++ shift
++ [[ nfs == \d\m\-\z\e\r\o ]]
++ shift
++ [[ nfs == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ nfs == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ nfs == \r\a\i\d\0 ]]
++ shift
++ [[ nfs == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ nfs == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ nfs == \d\m\-\l\o\g ]]
++ shift
++ [[ nfs == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ nfs == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ nfs == \m\p\t\b\a\s\e ]]
++ shift
++ [[ nfs == \m\p\t\s\a\s ]]
++ shift
++ [[ nfs == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ nfs == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ nfs == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nfs == \l\i\b\f\c ]]
++ shift
++ [[ nfs == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ nfs == \l\i\b\s\r\p ]]
++ shift
++ [[ nfs == \f\c\o\e ]]
++ shift
++ [[ nfs == \l\i\b\f\c\o\e ]]
++ shift
++ [[ nfs == \i\p\s ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ nfs == \q\l\a\2\x\x\x ]]
++ shift
++ [[ nfs == \q\l\a\4\x\x\x ]]
++ shift
++ [[ nfs == \s\t ]]
++ shift
++ [[ nfs == \a\i\c\9\4\x\x ]]
++ shift
++ [[ nfs == \a\i\c\7\9\x\x ]]
++ shift
++ [[ nfs == \a\i\c\7\x\x\x ]]
++ shift
++ [[ nfs == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ nfs == \b\n\x\2\i ]]
++ shift
++ [[ nfs == \i\m\m ]]
++ shift
++ [[ nfs == \s\r\_\m\o\d ]]
++ shift
++ [[ nfs == \l\i\b\s\a\s ]]
++ shift
++ [[ nfs == \a\r\c\m\s\r ]]
++ shift
++ [[ nfs == \l\i\b\o\s\d ]]
++ shift
++ [[ nfs == \o\s\d ]]
++ shift
++ [[ nfs == \3\w\-\x\x\x\x ]]
++ shift
++ [[ nfs == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ nfs == \p\m\c\r\a\i\d ]]
++ shift
++ [[ nfs == \s\t\e\x ]]
++ shift
++ [[ nfs == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ nfs == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ nfs == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ nfs == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ nfs == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ nfs == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ nfs == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ nfs == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nfs == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ nfs == \l\p\f\c ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ nfs == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ nfs == \c\h ]]
++ shift
++ [[ nfs == \m\p\t\2\s\a\s ]]
++ shift
++ [[ nfs == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ nfs == \i\n\i\t\i\o ]]
++ shift
++ [[ nfs == \c\x\g\b\3\i ]]
++ shift
++ [[ nfs == \a\a\c\r\a\i\d ]]
++ shift
++ [[ nfs == \b\f\a ]]
++ shift
++ [[ nfs == \h\p\t\i\o\p ]]
++ shift
++ [[ nfs == \f\n\i\c ]]
++ shift
++ [[ nfs == \o\s\s\t ]]
++ shift
++ [[ nfs == \p\p\a ]]
++ shift
++ [[ nfs == \s\g ]]
++ shift
++ [[ nfs == \s\d\_\m\o\d ]]
++ shift
++ [[ nfs == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ nfs == \h\p\s\a ]]
++ shift
++ [[ nfs == \m\v\s\a\s ]]
++ shift
++ [[ nfs == \3\w\-\s\a\s ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ nfs == \s\e\s ]]
++ shift
++ [[ nfs == \3\w\-\9\x\x\x ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ nfs == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ nfs == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ nfs == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ nfs == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ nfs == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ nfs == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ nfs == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ nfs == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ nfs == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ nfs == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ nfs == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ nfs == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ nfs == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ nfs == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray lockd osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=lockd
++ shift
++ [[ lockd == \o\s\d\b\l\k ]]
++ shift
++ [[ lockd == \s\x\8 ]]
++ shift
++ [[ lockd == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ lockd == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ lockd == \p\k\t\c\d\v\d ]]
++ shift
++ [[ lockd == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ lockd == \c\c\i\s\s ]]
++ shift
++ [[ lockd == \f\l\o\p\p\y ]]
++ shift
++ [[ lockd == \a\o\e ]]
++ shift
++ [[ lockd == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ lockd == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ lockd == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ lockd == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ lockd == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ lockd == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ lockd == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ lockd == \s\a\t\a\_\n\v ]]
++ shift
++ [[ lockd == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ lockd == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ lockd == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ lockd == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ lockd == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ lockd == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ lockd == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ lockd == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ lockd == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ lockd == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ lockd == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ lockd == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ lockd == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ lockd == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ lockd == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ lockd == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ lockd == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ lockd == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ lockd == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ lockd == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ lockd == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ lockd == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ lockd == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ lockd == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ lockd == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ lockd == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ lockd == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ lockd == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ lockd == \s\a\t\a\_\m\v ]]
++ shift
++ [[ lockd == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ lockd == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ lockd == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ lockd == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ lockd == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ lockd == \a\h\c\i ]]
++ shift
++ [[ lockd == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ lockd == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ lockd == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ lockd == \l\i\n\e\a\r ]]
++ shift
++ [[ lockd == \r\a\i\d\1 ]]
++ shift
++ [[ lockd == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ lockd == \d\m\-\m\o\d ]]
++ shift
++ [[ lockd == \r\a\i\d\1\0 ]]
++ shift
++ [[ lockd == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ lockd == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ lockd == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ lockd == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ lockd == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ lockd == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ lockd == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ lockd == \f\a\u\l\t\y ]]
++ shift
++ [[ lockd == \d\m\-\z\e\r\o ]]
++ shift
++ [[ lockd == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ lockd == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ lockd == \r\a\i\d\0 ]]
++ shift
++ [[ lockd == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ lockd == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ lockd == \d\m\-\l\o\g ]]
++ shift
++ [[ lockd == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ lockd == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ lockd == \m\p\t\b\a\s\e ]]
++ shift
++ [[ lockd == \m\p\t\s\a\s ]]
++ shift
++ [[ lockd == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ lockd == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ lockd == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ lockd == \l\i\b\f\c ]]
++ shift
++ [[ lockd == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ lockd == \l\i\b\s\r\p ]]
++ shift
++ [[ lockd == \f\c\o\e ]]
++ shift
++ [[ lockd == \l\i\b\f\c\o\e ]]
++ shift
++ [[ lockd == \i\p\s ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ lockd == \q\l\a\2\x\x\x ]]
++ shift
++ [[ lockd == \q\l\a\4\x\x\x ]]
++ shift
++ [[ lockd == \s\t ]]
++ shift
++ [[ lockd == \a\i\c\9\4\x\x ]]
++ shift
++ [[ lockd == \a\i\c\7\9\x\x ]]
++ shift
++ [[ lockd == \a\i\c\7\x\x\x ]]
++ shift
++ [[ lockd == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ lockd == \b\n\x\2\i ]]
++ shift
++ [[ lockd == \i\m\m ]]
++ shift
++ [[ lockd == \s\r\_\m\o\d ]]
++ shift
++ [[ lockd == \l\i\b\s\a\s ]]
++ shift
++ [[ lockd == \a\r\c\m\s\r ]]
++ shift
++ [[ lockd == \l\i\b\o\s\d ]]
++ shift
++ [[ lockd == \o\s\d ]]
++ shift
++ [[ lockd == \3\w\-\x\x\x\x ]]
++ shift
++ [[ lockd == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ lockd == \p\m\c\r\a\i\d ]]
++ shift
++ [[ lockd == \s\t\e\x ]]
++ shift
++ [[ lockd == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ lockd == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ lockd == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ lockd == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ lockd == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ lockd == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ lockd == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ lockd == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ lockd == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ lockd == \l\p\f\c ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ lockd == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ lockd == \c\h ]]
++ shift
++ [[ lockd == \m\p\t\2\s\a\s ]]
++ shift
++ [[ lockd == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ lockd == \i\n\i\t\i\o ]]
++ shift
++ [[ lockd == \c\x\g\b\3\i ]]
++ shift
++ [[ lockd == \a\a\c\r\a\i\d ]]
++ shift
++ [[ lockd == \b\f\a ]]
++ shift
++ [[ lockd == \h\p\t\i\o\p ]]
++ shift
++ [[ lockd == \f\n\i\c ]]
++ shift
++ [[ lockd == \o\s\s\t ]]
++ shift
++ [[ lockd == \p\p\a ]]
++ shift
++ [[ lockd == \s\g ]]
++ shift
++ [[ lockd == \s\d\_\m\o\d ]]
++ shift
++ [[ lockd == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ lockd == \h\p\s\a ]]
++ shift
++ [[ lockd == \m\v\s\a\s ]]
++ shift
++ [[ lockd == \3\w\-\s\a\s ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ lockd == \s\e\s ]]
++ shift
++ [[ lockd == \3\w\-\9\x\x\x ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ lockd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ lockd == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ lockd == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ lockd == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ lockd == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ lockd == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ lockd == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ lockd == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ lockd == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ lockd == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ lockd == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ lockd == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ lockd == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ lockd == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray fscache osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=fscache
++ shift
++ [[ fscache == \o\s\d\b\l\k ]]
++ shift
++ [[ fscache == \s\x\8 ]]
++ shift
++ [[ fscache == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ fscache == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ fscache == \p\k\t\c\d\v\d ]]
++ shift
++ [[ fscache == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ fscache == \c\c\i\s\s ]]
++ shift
++ [[ fscache == \f\l\o\p\p\y ]]
++ shift
++ [[ fscache == \a\o\e ]]
++ shift
++ [[ fscache == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ fscache == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ fscache == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ fscache == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ fscache == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ fscache == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ fscache == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ fscache == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ fscache == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ fscache == \s\a\t\a\_\n\v ]]
++ shift
++ [[ fscache == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ fscache == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ fscache == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ fscache == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ fscache == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ fscache == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ fscache == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ fscache == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ fscache == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ fscache == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ fscache == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ fscache == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ fscache == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ fscache == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ fscache == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ fscache == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ fscache == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ fscache == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ fscache == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ fscache == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ fscache == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ fscache == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ fscache == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ fscache == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ fscache == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ fscache == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ fscache == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ fscache == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ fscache == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ fscache == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ fscache == \s\a\t\a\_\m\v ]]
++ shift
++ [[ fscache == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ fscache == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ fscache == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ fscache == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ fscache == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ fscache == \a\h\c\i ]]
++ shift
++ [[ fscache == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ fscache == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ fscache == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ fscache == \l\i\n\e\a\r ]]
++ shift
++ [[ fscache == \r\a\i\d\1 ]]
++ shift
++ [[ fscache == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ fscache == \d\m\-\m\o\d ]]
++ shift
++ [[ fscache == \r\a\i\d\1\0 ]]
++ shift
++ [[ fscache == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ fscache == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ fscache == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ fscache == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ fscache == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ fscache == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ fscache == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ fscache == \f\a\u\l\t\y ]]
++ shift
++ [[ fscache == \d\m\-\z\e\r\o ]]
++ shift
++ [[ fscache == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ fscache == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ fscache == \r\a\i\d\0 ]]
++ shift
++ [[ fscache == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ fscache == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ fscache == \d\m\-\l\o\g ]]
++ shift
++ [[ fscache == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ fscache == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ fscache == \m\p\t\b\a\s\e ]]
++ shift
++ [[ fscache == \m\p\t\s\a\s ]]
++ shift
++ [[ fscache == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ fscache == \m\p\t\c\t\l ]]
++ shift
++ [[ fscache == \m\p\t\l\a\n ]]
++ shift
++ [[ fscache == \m\p\t\f\c ]]
++ shift
++ [[ fscache == \m\p\t\s\p\i ]]
++ shift
++ [[ fscache == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ fscache == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ fscache == \l\i\b\f\c ]]
++ shift
++ [[ fscache == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ fscache == \l\i\b\s\r\p ]]
++ shift
++ [[ fscache == \f\c\o\e ]]
++ shift
++ [[ fscache == \l\i\b\f\c\o\e ]]
++ shift
++ [[ fscache == \i\p\s ]]
++ shift
++ [[ fscache == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ fscache == \q\l\a\2\x\x\x ]]
++ shift
++ [[ fscache == \q\l\a\4\x\x\x ]]
++ shift
++ [[ fscache == \s\t ]]
++ shift
++ [[ fscache == \a\i\c\9\4\x\x ]]
++ shift
++ [[ fscache == \a\i\c\7\9\x\x ]]
++ shift
++ [[ fscache == \a\i\c\7\x\x\x ]]
++ shift
++ [[ fscache == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ fscache == \b\n\x\2\i ]]
++ shift
++ [[ fscache == \i\m\m ]]
++ shift
++ [[ fscache == \s\r\_\m\o\d ]]
++ shift
++ [[ fscache == \l\i\b\s\a\s ]]
++ shift
++ [[ fscache == \a\r\c\m\s\r ]]
++ shift
++ [[ fscache == \l\i\b\o\s\d ]]
++ shift
++ [[ fscache == \o\s\d ]]
++ shift
++ [[ fscache == \3\w\-\x\x\x\x ]]
++ shift
++ [[ fscache == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ fscache == \p\m\c\r\a\i\d ]]
++ shift
++ [[ fscache == \s\t\e\x ]]
++ shift
++ [[ fscache == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ fscache == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ fscache == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ fscache == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ fscache == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ fscache == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ fscache == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ fscache == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ fscache == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ fscache == \l\p\f\c ]]
++ shift
++ [[ fscache == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ fscache == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ fscache == \c\h ]]
++ shift
++ [[ fscache == \m\p\t\2\s\a\s ]]
++ shift
++ [[ fscache == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ fscache == \i\n\i\t\i\o ]]
++ shift
++ [[ fscache == \c\x\g\b\3\i ]]
++ shift
++ [[ fscache == \a\a\c\r\a\i\d ]]
++ shift
++ [[ fscache == \b\f\a ]]
++ shift
++ [[ fscache == \h\p\t\i\o\p ]]
++ shift
++ [[ fscache == \f\n\i\c ]]
++ shift
++ [[ fscache == \o\s\s\t ]]
++ shift
++ [[ fscache == \p\p\a ]]
++ shift
++ [[ fscache == \s\g ]]
++ shift
++ [[ fscache == \s\d\_\m\o\d ]]
++ shift
++ [[ fscache == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ fscache == \h\p\s\a ]]
++ shift
++ [[ fscache == \m\v\s\a\s ]]
++ shift
++ [[ fscache == \3\w\-\s\a\s ]]
++ shift
++ [[ fscache == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ fscache == \s\e\s ]]
++ shift
++ [[ fscache == \3\w\-\9\x\x\x ]]
++ shift
++ [[ fscache == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ fscache == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ fscache == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ fscache == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ fscache == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ fscache == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ fscache == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ fscache == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ fscache == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ fscache == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ fscache == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ fscache == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ fscache == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ fscache == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ fscache == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray nfs_acl osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=nfs_acl
++ shift
++ [[ nfs_acl == \o\s\d\b\l\k ]]
++ shift
++ [[ nfs_acl == \s\x\8 ]]
++ shift
++ [[ nfs_acl == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ nfs_acl == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ nfs_acl == \p\k\t\c\d\v\d ]]
++ shift
++ [[ nfs_acl == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ nfs_acl == \c\c\i\s\s ]]
++ shift
++ [[ nfs_acl == \f\l\o\p\p\y ]]
++ shift
++ [[ nfs_acl == \a\o\e ]]
++ shift
++ [[ nfs_acl == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ 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\-\n\e\t ]]
++ shift
++ [[ nfs_acl == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\n\v ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ nfs_acl == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ nfs_acl == \s\a\t\a\_\m\v ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ nfs_acl == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ nfs_acl == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ nfs_acl == \a\h\c\i ]]
++ shift
++ [[ nfs_acl == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ nfs_acl == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ nfs_acl == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ nfs_acl == \l\i\n\e\a\r ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\1 ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ nfs_acl == \d\m\-\m\o\d ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\1\0 ]]
++ shift
++ [[ nfs_acl == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ nfs_acl == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ nfs_acl == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ nfs_acl == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ nfs_acl == \f\a\u\l\t\y ]]
++ shift
++ [[ nfs_acl == \d\m\-\z\e\r\o ]]
++ shift
++ [[ nfs_acl == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\0 ]]
++ shift
++ [[ nfs_acl == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ nfs_acl == \d\m\-\l\o\g ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ nfs_acl == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ nfs_acl == \m\p\t\b\a\s\e ]]
++ shift
++ [[ nfs_acl == \m\p\t\s\a\s ]]
++ shift
++ [[ nfs_acl == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ nfs_acl == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ nfs_acl == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nfs_acl == \l\i\b\f\c ]]
++ shift
++ [[ nfs_acl == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ nfs_acl == \l\i\b\s\r\p ]]
++ shift
++ [[ nfs_acl == \f\c\o\e ]]
++ shift
++ [[ nfs_acl == \l\i\b\f\c\o\e ]]
++ shift
++ [[ nfs_acl == \i\p\s ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ nfs_acl == \q\l\a\2\x\x\x ]]
++ shift
++ [[ nfs_acl == \q\l\a\4\x\x\x ]]
++ shift
++ [[ nfs_acl == \s\t ]]
++ shift
++ [[ nfs_acl == \a\i\c\9\4\x\x ]]
++ shift
++ [[ nfs_acl == \a\i\c\7\9\x\x ]]
++ shift
++ [[ nfs_acl == \a\i\c\7\x\x\x ]]
++ shift
++ [[ nfs_acl == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ nfs_acl == \b\n\x\2\i ]]
++ shift
++ [[ nfs_acl == \i\m\m ]]
++ shift
++ [[ nfs_acl == \s\r\_\m\o\d ]]
++ shift
++ [[ nfs_acl == \l\i\b\s\a\s ]]
++ shift
++ [[ nfs_acl == \a\r\c\m\s\r ]]
++ shift
++ [[ nfs_acl == \l\i\b\o\s\d ]]
++ shift
++ [[ nfs_acl == \o\s\d ]]
++ shift
++ [[ nfs_acl == \3\w\-\x\x\x\x ]]
++ shift
++ [[ nfs_acl == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ nfs_acl == \p\m\c\r\a\i\d ]]
++ shift
++ [[ nfs_acl == \s\t\e\x ]]
++ shift
++ [[ nfs_acl == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ nfs_acl == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ nfs_acl == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ nfs_acl == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nfs_acl == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ nfs_acl == \l\p\f\c ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ nfs_acl == \c\h ]]
++ shift
++ [[ nfs_acl == \m\p\t\2\s\a\s ]]
++ shift
++ [[ nfs_acl == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ nfs_acl == \i\n\i\t\i\o ]]
++ shift
++ [[ nfs_acl == \c\x\g\b\3\i ]]
++ shift
++ [[ nfs_acl == \a\a\c\r\a\i\d ]]
++ shift
++ [[ nfs_acl == \b\f\a ]]
++ shift
++ [[ nfs_acl == \h\p\t\i\o\p ]]
++ shift
++ [[ nfs_acl == \f\n\i\c ]]
++ shift
++ [[ nfs_acl == \o\s\s\t ]]
++ shift
++ [[ nfs_acl == \p\p\a ]]
++ shift
++ [[ nfs_acl == \s\g ]]
++ shift
++ [[ nfs_acl == \s\d\_\m\o\d ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ nfs_acl == \h\p\s\a ]]
++ shift
++ [[ nfs_acl == \m\v\s\a\s ]]
++ shift
++ [[ nfs_acl == \3\w\-\s\a\s ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ nfs_acl == \s\e\s ]]
++ shift
++ [[ nfs_acl == \3\w\-\9\x\x\x ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ nfs_acl == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ nfs_acl == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ nfs_acl == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ nfs_acl == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray auth_rpcgss osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=auth_rpcgss
++ shift
++ [[ auth_rpcgss == \o\s\d\b\l\k ]]
++ shift
++ [[ auth_rpcgss == \s\x\8 ]]
++ shift
++ [[ auth_rpcgss == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ auth_rpcgss == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ auth_rpcgss == \p\k\t\c\d\v\d ]]
++ shift
++ [[ auth_rpcgss == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ auth_rpcgss == \c\c\i\s\s ]]
++ shift
++ [[ auth_rpcgss == \f\l\o\p\p\y ]]
++ shift
++ [[ auth_rpcgss == \a\o\e ]]
++ shift
++ [[ auth_rpcgss == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ auth_rpcgss == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ auth_rpcgss == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ auth_rpcgss == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\n\v ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ auth_rpcgss == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ auth_rpcgss == \s\a\t\a\_\m\v ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ auth_rpcgss == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ auth_rpcgss == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ auth_rpcgss == \a\h\c\i ]]
++ shift
++ [[ auth_rpcgss == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ auth_rpcgss == \l\i\n\e\a\r ]]
++ shift
++ [[ auth_rpcgss == \r\a\i\d\1 ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\m\o\d ]]
++ shift
++ [[ auth_rpcgss == \r\a\i\d\1\0 ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ auth_rpcgss == \f\a\u\l\t\y ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\z\e\r\o ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ auth_rpcgss == \r\a\i\d\0 ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ auth_rpcgss == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\l\o\g ]]
++ shift
++ [[ auth_rpcgss == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ auth_rpcgss == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ auth_rpcgss == \m\p\t\b\a\s\e ]]
++ shift
++ [[ auth_rpcgss == \m\p\t\s\a\s ]]
++ shift
++ [[ auth_rpcgss == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ auth_rpcgss == \m\p\t\c\t\l ]]
++ shift
++ [[ auth_rpcgss == \m\p\t\l\a\n ]]
++ shift
++ [[ auth_rpcgss == \m\p\t\f\c ]]
++ shift
++ [[ auth_rpcgss == \m\p\t\s\p\i ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ auth_rpcgss == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ auth_rpcgss == \l\i\b\f\c ]]
++ shift
++ [[ auth_rpcgss == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ auth_rpcgss == \l\i\b\s\r\p ]]
++ shift
++ [[ auth_rpcgss == \f\c\o\e ]]
++ shift
++ [[ auth_rpcgss == \l\i\b\f\c\o\e ]]
++ shift
++ [[ auth_rpcgss == \i\p\s ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ auth_rpcgss == \q\l\a\2\x\x\x ]]
++ shift
++ [[ auth_rpcgss == \q\l\a\4\x\x\x ]]
++ shift
++ [[ auth_rpcgss == \s\t ]]
++ shift
++ [[ auth_rpcgss == \a\i\c\9\4\x\x ]]
++ shift
++ [[ auth_rpcgss == \a\i\c\7\9\x\x ]]
++ shift
++ [[ auth_rpcgss == \a\i\c\7\x\x\x ]]
++ shift
++ [[ auth_rpcgss == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ auth_rpcgss == \b\n\x\2\i ]]
++ shift
++ [[ auth_rpcgss == \i\m\m ]]
++ shift
++ [[ auth_rpcgss == \s\r\_\m\o\d ]]
++ shift
++ [[ auth_rpcgss == \l\i\b\s\a\s ]]
++ shift
++ [[ auth_rpcgss == \a\r\c\m\s\r ]]
++ shift
++ [[ auth_rpcgss == \l\i\b\o\s\d ]]
++ shift
++ [[ auth_rpcgss == \o\s\d ]]
++ shift
++ [[ auth_rpcgss == \3\w\-\x\x\x\x ]]
++ shift
++ [[ auth_rpcgss == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ auth_rpcgss == \p\m\c\r\a\i\d ]]
++ shift
++ [[ auth_rpcgss == \s\t\e\x ]]
++ shift
++ [[ auth_rpcgss == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ auth_rpcgss == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ auth_rpcgss == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ auth_rpcgss == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ auth_rpcgss == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ auth_rpcgss == \l\p\f\c ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ auth_rpcgss == \c\h ]]
++ shift
++ [[ auth_rpcgss == \m\p\t\2\s\a\s ]]
++ shift
++ [[ auth_rpcgss == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ auth_rpcgss == \i\n\i\t\i\o ]]
++ shift
++ [[ auth_rpcgss == \c\x\g\b\3\i ]]
++ shift
++ [[ auth_rpcgss == \a\a\c\r\a\i\d ]]
++ shift
++ [[ auth_rpcgss == \b\f\a ]]
++ shift
++ [[ auth_rpcgss == \h\p\t\i\o\p ]]
++ shift
++ [[ auth_rpcgss == \f\n\i\c ]]
++ shift
++ [[ auth_rpcgss == \o\s\s\t ]]
++ shift
++ [[ auth_rpcgss == \p\p\a ]]
++ shift
++ [[ auth_rpcgss == \s\g ]]
++ shift
++ [[ auth_rpcgss == \s\d\_\m\o\d ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ auth_rpcgss == \h\p\s\a ]]
++ shift
++ [[ auth_rpcgss == \m\v\s\a\s ]]
++ shift
++ [[ auth_rpcgss == \3\w\-\s\a\s ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ auth_rpcgss == \s\e\s ]]
++ shift
++ [[ auth_rpcgss == \3\w\-\9\x\x\x ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ auth_rpcgss == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ auth_rpcgss == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ auth_rpcgss == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ auth_rpcgss == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray sunrpc osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=sunrpc
++ shift
++ [[ sunrpc == \o\s\d\b\l\k ]]
++ shift
++ [[ sunrpc == \s\x\8 ]]
++ shift
++ [[ sunrpc == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sunrpc == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ sunrpc == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sunrpc == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sunrpc == \c\c\i\s\s ]]
++ shift
++ [[ sunrpc == \f\l\o\p\p\y ]]
++ shift
++ [[ sunrpc == \a\o\e ]]
++ shift
++ [[ sunrpc == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ sunrpc == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ sunrpc == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ sunrpc == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ sunrpc == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ sunrpc == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sunrpc == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ sunrpc == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sunrpc == \a\h\c\i ]]
++ shift
++ [[ sunrpc == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ sunrpc == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sunrpc == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sunrpc == \l\i\n\e\a\r ]]
++ shift
++ [[ sunrpc == \r\a\i\d\1 ]]
++ shift
++ [[ sunrpc == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ sunrpc == \d\m\-\m\o\d ]]
++ shift
++ [[ sunrpc == \r\a\i\d\1\0 ]]
++ shift
++ [[ sunrpc == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ sunrpc == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sunrpc == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ sunrpc == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ sunrpc == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sunrpc == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ sunrpc == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ sunrpc == \f\a\u\l\t\y ]]
++ shift
++ [[ sunrpc == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sunrpc == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sunrpc == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ sunrpc == \r\a\i\d\0 ]]
++ shift
++ [[ sunrpc == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ sunrpc == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ sunrpc == \d\m\-\l\o\g ]]
++ shift
++ [[ sunrpc == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sunrpc == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ sunrpc == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sunrpc == \m\p\t\s\a\s ]]
++ shift
++ [[ sunrpc == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sunrpc == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ sunrpc == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sunrpc == \l\i\b\f\c ]]
++ shift
++ [[ sunrpc == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ sunrpc == \l\i\b\s\r\p ]]
++ shift
++ [[ sunrpc == \f\c\o\e ]]
++ shift
++ [[ sunrpc == \l\i\b\f\c\o\e ]]
++ shift
++ [[ sunrpc == \i\p\s ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sunrpc == \q\l\a\2\x\x\x ]]
++ shift
++ [[ sunrpc == \q\l\a\4\x\x\x ]]
++ shift
++ [[ sunrpc == \s\t ]]
++ shift
++ [[ sunrpc == \a\i\c\9\4\x\x ]]
++ shift
++ [[ sunrpc == \a\i\c\7\9\x\x ]]
++ shift
++ [[ sunrpc == \a\i\c\7\x\x\x ]]
++ shift
++ [[ sunrpc == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ sunrpc == \b\n\x\2\i ]]
++ shift
++ [[ sunrpc == \i\m\m ]]
++ shift
++ [[ sunrpc == \s\r\_\m\o\d ]]
++ shift
++ [[ sunrpc == \l\i\b\s\a\s ]]
++ shift
++ [[ sunrpc == \a\r\c\m\s\r ]]
++ shift
++ [[ sunrpc == \l\i\b\o\s\d ]]
++ shift
++ [[ sunrpc == \o\s\d ]]
++ shift
++ [[ sunrpc == \3\w\-\x\x\x\x ]]
++ shift
++ [[ sunrpc == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ sunrpc == \p\m\c\r\a\i\d ]]
++ shift
++ [[ sunrpc == \s\t\e\x ]]
++ shift
++ [[ sunrpc == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ sunrpc == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ sunrpc == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ sunrpc == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sunrpc == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ sunrpc == \l\p\f\c ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ sunrpc == \c\h ]]
++ shift
++ [[ sunrpc == \m\p\t\2\s\a\s ]]
++ shift
++ [[ sunrpc == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ sunrpc == \i\n\i\t\i\o ]]
++ shift
++ [[ sunrpc == \c\x\g\b\3\i ]]
++ shift
++ [[ sunrpc == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sunrpc == \b\f\a ]]
++ shift
++ [[ sunrpc == \h\p\t\i\o\p ]]
++ shift
++ [[ sunrpc == \f\n\i\c ]]
++ shift
++ [[ sunrpc == \o\s\s\t ]]
++ shift
++ [[ sunrpc == \p\p\a ]]
++ shift
++ [[ sunrpc == \s\g ]]
++ shift
++ [[ sunrpc == \s\d\_\m\o\d ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ sunrpc == \h\p\s\a ]]
++ shift
++ [[ sunrpc == \m\v\s\a\s ]]
++ shift
++ [[ sunrpc == \3\w\-\s\a\s ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ sunrpc == \s\e\s ]]
++ shift
++ [[ sunrpc == \3\w\-\9\x\x\x ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ sunrpc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ sunrpc == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ sunrpc == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ sunrpc == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ sunrpc == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ sunrpc == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ sunrpc == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ sunrpc == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ sunrpc == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ sunrpc == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ sunrpc == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ sunrpc == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ sunrpc == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ sunrpc == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ipv6 osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=ipv6
++ shift
++ [[ ipv6 == \o\s\d\b\l\k ]]
++ shift
++ [[ ipv6 == \s\x\8 ]]
++ shift
++ [[ ipv6 == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ipv6 == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ipv6 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ipv6 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ipv6 == \c\c\i\s\s ]]
++ shift
++ [[ ipv6 == \f\l\o\p\p\y ]]
++ shift
++ [[ ipv6 == \a\o\e ]]
++ shift
++ [[ ipv6 == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ ipv6 == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ ipv6 == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ ipv6 == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ipv6 == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ ipv6 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ ipv6 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ipv6 == \a\h\c\i ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ ipv6 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ ipv6 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ipv6 == \l\i\n\e\a\r ]]
++ shift
++ [[ ipv6 == \r\a\i\d\1 ]]
++ shift
++ [[ ipv6 == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ ipv6 == \d\m\-\m\o\d ]]
++ shift
++ [[ ipv6 == \r\a\i\d\1\0 ]]
++ shift
++ [[ ipv6 == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ ipv6 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ ipv6 == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ ipv6 == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ ipv6 == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ ipv6 == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ ipv6 == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ ipv6 == \f\a\u\l\t\y ]]
++ shift
++ [[ ipv6 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ ipv6 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ ipv6 == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ ipv6 == \r\a\i\d\0 ]]
++ shift
++ [[ ipv6 == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ ipv6 == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ ipv6 == \d\m\-\l\o\g ]]
++ shift
++ [[ ipv6 == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ ipv6 == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ ipv6 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ ipv6 == \m\p\t\s\a\s ]]
++ shift
++ [[ ipv6 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ ipv6 == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ ipv6 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ipv6 == \l\i\b\f\c ]]
++ shift
++ [[ ipv6 == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ ipv6 == \l\i\b\s\r\p ]]
++ shift
++ [[ ipv6 == \f\c\o\e ]]
++ shift
++ [[ ipv6 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ ipv6 == \i\p\s ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ ipv6 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ ipv6 == \q\l\a\4\x\x\x ]]
++ shift
++ [[ ipv6 == \s\t ]]
++ shift
++ [[ ipv6 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ ipv6 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ ipv6 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ ipv6 == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ ipv6 == \b\n\x\2\i ]]
++ shift
++ [[ ipv6 == \i\m\m ]]
++ shift
++ [[ ipv6 == \s\r\_\m\o\d ]]
++ shift
++ [[ ipv6 == \l\i\b\s\a\s ]]
++ shift
++ [[ ipv6 == \a\r\c\m\s\r ]]
++ shift
++ [[ ipv6 == \l\i\b\o\s\d ]]
++ shift
++ [[ ipv6 == \o\s\d ]]
++ shift
++ [[ ipv6 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ ipv6 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ ipv6 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ ipv6 == \s\t\e\x ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ ipv6 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ipv6 == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ ipv6 == \l\p\f\c ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ ipv6 == \c\h ]]
++ shift
++ [[ ipv6 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ ipv6 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ ipv6 == \i\n\i\t\i\o ]]
++ shift
++ [[ ipv6 == \c\x\g\b\3\i ]]
++ shift
++ [[ ipv6 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ ipv6 == \b\f\a ]]
++ shift
++ [[ ipv6 == \h\p\t\i\o\p ]]
++ shift
++ [[ ipv6 == \f\n\i\c ]]
++ shift
++ [[ ipv6 == \o\s\s\t ]]
++ shift
++ [[ ipv6 == \p\p\a ]]
++ shift
++ [[ ipv6 == \s\g ]]
++ shift
++ [[ ipv6 == \s\d\_\m\o\d ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ ipv6 == \h\p\s\a ]]
++ shift
++ [[ ipv6 == \m\v\s\a\s ]]
++ shift
++ [[ ipv6 == \3\w\-\s\a\s ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ ipv6 == \s\e\s ]]
++ shift
++ [[ ipv6 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ ipv6 == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ ipv6 == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ ipv6 == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ ipv6 == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ ipv6 == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ ipv6 == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ ipv6 == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ ipv6 == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ ipv6 == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ ipv6 == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ ipv6 == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ ipv6 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ ipv6 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray dm_mod osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=dm_mod
++ shift
++ [[ dm_mod == \o\s\d\b\l\k ]]
++ shift
++ [[ dm_mod == \s\x\8 ]]
++ shift
++ [[ dm_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ dm_mod == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ dm_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ dm_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ dm_mod == \c\c\i\s\s ]]
++ shift
++ [[ dm_mod == \f\l\o\p\p\y ]]
++ shift
++ [[ dm_mod == \a\o\e ]]
++ shift
++ [[ dm_mod == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ 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\-\n\e\t ]]
++ shift
++ [[ dm_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ dm_mod == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ dm_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ dm_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ dm_mod == \a\h\c\i ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ dm_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ dm_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ dm_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ dm_mod == \r\a\i\d\1 ]]
++ shift
++ [[ dm_mod == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ dm_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ dm_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ dm_mod == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ dm_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ dm_mod == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ dm_mod == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ dm_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ dm_mod == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ dm_mod == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ dm_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ dm_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ dm_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ dm_mod == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ dm_mod == \r\a\i\d\0 ]]
++ shift
++ [[ dm_mod == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ dm_mod == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ dm_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ dm_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ dm_mod == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ dm_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ dm_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ dm_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ dm_mod == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ dm_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ dm_mod == \l\i\b\f\c ]]
++ shift
++ [[ dm_mod == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ dm_mod == \l\i\b\s\r\p ]]
++ shift
++ [[ dm_mod == \f\c\o\e ]]
++ shift
++ [[ dm_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ dm_mod == \i\p\s ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ dm_mod == \q\l\a\2\x\x\x ]]
++ shift
++ [[ dm_mod == \q\l\a\4\x\x\x ]]
++ shift
++ [[ dm_mod == \s\t ]]
++ shift
++ [[ dm_mod == \a\i\c\9\4\x\x ]]
++ shift
++ [[ dm_mod == \a\i\c\7\9\x\x ]]
++ shift
++ [[ dm_mod == \a\i\c\7\x\x\x ]]
++ shift
++ [[ dm_mod == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ dm_mod == \b\n\x\2\i ]]
++ shift
++ [[ dm_mod == \i\m\m ]]
++ shift
++ [[ dm_mod == \s\r\_\m\o\d ]]
++ shift
++ [[ dm_mod == \l\i\b\s\a\s ]]
++ shift
++ [[ dm_mod == \a\r\c\m\s\r ]]
++ shift
++ [[ dm_mod == \l\i\b\o\s\d ]]
++ shift
++ [[ dm_mod == \o\s\d ]]
++ shift
++ [[ dm_mod == \3\w\-\x\x\x\x ]]
++ shift
++ [[ dm_mod == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ dm_mod == \p\m\c\r\a\i\d ]]
++ shift
++ [[ dm_mod == \s\t\e\x ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ dm_mod == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ dm_mod == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ dm_mod == \l\p\f\c ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ dm_mod == \c\h ]]
++ shift
++ [[ dm_mod == \m\p\t\2\s\a\s ]]
++ shift
++ [[ dm_mod == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ dm_mod == \i\n\i\t\i\o ]]
++ shift
++ [[ dm_mod == \c\x\g\b\3\i ]]
++ shift
++ [[ dm_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ dm_mod == \b\f\a ]]
++ shift
++ [[ dm_mod == \h\p\t\i\o\p ]]
++ shift
++ [[ dm_mod == \f\n\i\c ]]
++ shift
++ [[ dm_mod == \o\s\s\t ]]
++ shift
++ [[ dm_mod == \p\p\a ]]
++ shift
++ [[ dm_mod == \s\g ]]
++ shift
++ [[ dm_mod == \s\d\_\m\o\d ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ dm_mod == \h\p\s\a ]]
++ shift
++ [[ dm_mod == \m\v\s\a\s ]]
++ shift
++ [[ dm_mod == \3\w\-\s\a\s ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ dm_mod == \s\e\s ]]
++ shift
++ [[ dm_mod == \3\w\-\9\x\x\x ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ dm_mod == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ dm_mod == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ dm_mod == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ dm_mod == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ dm_mod == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ dm_mod == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ dm_mod == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ dm_mod == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ dm_mod == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ dm_mod == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ dm_mod == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ dm_mod == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ dm_mod == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ppdev osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=ppdev
++ shift
++ [[ ppdev == \o\s\d\b\l\k ]]
++ shift
++ [[ ppdev == \s\x\8 ]]
++ shift
++ [[ ppdev == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ppdev == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ppdev == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ppdev == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ppdev == \c\c\i\s\s ]]
++ shift
++ [[ ppdev == \f\l\o\p\p\y ]]
++ shift
++ [[ ppdev == \a\o\e ]]
++ shift
++ [[ ppdev == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ ppdev == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ ppdev == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ ppdev == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ppdev == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\m\v ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ ppdev == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ ppdev == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ppdev == \a\h\c\i ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ ppdev == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ ppdev == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ppdev == \l\i\n\e\a\r ]]
++ shift
++ [[ ppdev == \r\a\i\d\1 ]]
++ shift
++ [[ ppdev == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ ppdev == \d\m\-\m\o\d ]]
++ shift
++ [[ ppdev == \r\a\i\d\1\0 ]]
++ shift
++ [[ ppdev == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ ppdev == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ ppdev == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ ppdev == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ ppdev == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ ppdev == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ ppdev == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ ppdev == \f\a\u\l\t\y ]]
++ shift
++ [[ ppdev == \d\m\-\z\e\r\o ]]
++ shift
++ [[ ppdev == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ ppdev == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ ppdev == \r\a\i\d\0 ]]
++ shift
++ [[ ppdev == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ ppdev == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ ppdev == \d\m\-\l\o\g ]]
++ shift
++ [[ ppdev == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ ppdev == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ ppdev == \m\p\t\b\a\s\e ]]
++ shift
++ [[ ppdev == \m\p\t\s\a\s ]]
++ shift
++ [[ ppdev == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ ppdev == \m\p\t\c\t\l ]]
++ shift
++ [[ ppdev == \m\p\t\l\a\n ]]
++ shift
++ [[ ppdev == \m\p\t\f\c ]]
++ shift
++ [[ ppdev == \m\p\t\s\p\i ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ ppdev == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ppdev == \l\i\b\f\c ]]
++ shift
++ [[ ppdev == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ ppdev == \l\i\b\s\r\p ]]
++ shift
++ [[ ppdev == \f\c\o\e ]]
++ shift
++ [[ ppdev == \l\i\b\f\c\o\e ]]
++ shift
++ [[ ppdev == \i\p\s ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ ppdev == \q\l\a\2\x\x\x ]]
++ shift
++ [[ ppdev == \q\l\a\4\x\x\x ]]
++ shift
++ [[ ppdev == \s\t ]]
++ shift
++ [[ ppdev == \a\i\c\9\4\x\x ]]
++ shift
++ [[ ppdev == \a\i\c\7\9\x\x ]]
++ shift
++ [[ ppdev == \a\i\c\7\x\x\x ]]
++ shift
++ [[ ppdev == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ ppdev == \b\n\x\2\i ]]
++ shift
++ [[ ppdev == \i\m\m ]]
++ shift
++ [[ ppdev == \s\r\_\m\o\d ]]
++ shift
++ [[ ppdev == \l\i\b\s\a\s ]]
++ shift
++ [[ ppdev == \a\r\c\m\s\r ]]
++ shift
++ [[ ppdev == \l\i\b\o\s\d ]]
++ shift
++ [[ ppdev == \o\s\d ]]
++ shift
++ [[ ppdev == \3\w\-\x\x\x\x ]]
++ shift
++ [[ ppdev == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ ppdev == \p\m\c\r\a\i\d ]]
++ shift
++ [[ ppdev == \s\t\e\x ]]
++ shift
++ [[ ppdev == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ ppdev == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ ppdev == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ ppdev == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ppdev == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ ppdev == \l\p\f\c ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ ppdev == \c\h ]]
++ shift
++ [[ ppdev == \m\p\t\2\s\a\s ]]
++ shift
++ [[ ppdev == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ ppdev == \i\n\i\t\i\o ]]
++ shift
++ [[ ppdev == \c\x\g\b\3\i ]]
++ shift
++ [[ ppdev == \a\a\c\r\a\i\d ]]
++ shift
++ [[ ppdev == \b\f\a ]]
++ shift
++ [[ ppdev == \h\p\t\i\o\p ]]
++ shift
++ [[ ppdev == \f\n\i\c ]]
++ shift
++ [[ ppdev == \o\s\s\t ]]
++ shift
++ [[ ppdev == \p\p\a ]]
++ shift
++ [[ ppdev == \s\g ]]
++ shift
++ [[ ppdev == \s\d\_\m\o\d ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ ppdev == \h\p\s\a ]]
++ shift
++ [[ ppdev == \m\v\s\a\s ]]
++ shift
++ [[ ppdev == \3\w\-\s\a\s ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ ppdev == \s\e\s ]]
++ shift
++ [[ ppdev == \3\w\-\9\x\x\x ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ ppdev == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ ppdev == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ ppdev == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ ppdev == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ ppdev == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ ppdev == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ ppdev == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ ppdev == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ ppdev == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ ppdev == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ ppdev == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ ppdev == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ ppdev == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray parport_pc osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=parport_pc
++ shift
++ [[ parport_pc == \o\s\d\b\l\k ]]
++ shift
++ [[ parport_pc == \s\x\8 ]]
++ shift
++ [[ parport_pc == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ parport_pc == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ parport_pc == \p\k\t\c\d\v\d ]]
++ shift
++ [[ parport_pc == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ parport_pc == \c\c\i\s\s ]]
++ shift
++ [[ parport_pc == \f\l\o\p\p\y ]]
++ shift
++ [[ parport_pc == \a\o\e ]]
++ shift
++ [[ parport_pc == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ parport_pc == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ parport_pc == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ parport_pc == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\n\v ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ parport_pc == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\m\v ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ parport_pc == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ parport_pc == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ parport_pc == \a\h\c\i ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ parport_pc == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ parport_pc == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ parport_pc == \l\i\n\e\a\r ]]
++ shift
++ [[ parport_pc == \r\a\i\d\1 ]]
++ shift
++ [[ parport_pc == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ parport_pc == \d\m\-\m\o\d ]]
++ shift
++ [[ parport_pc == \r\a\i\d\1\0 ]]
++ shift
++ [[ parport_pc == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ parport_pc == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ parport_pc == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ parport_pc == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ parport_pc == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ parport_pc == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ parport_pc == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ parport_pc == \f\a\u\l\t\y ]]
++ shift
++ [[ parport_pc == \d\m\-\z\e\r\o ]]
++ shift
++ [[ parport_pc == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ parport_pc == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ parport_pc == \r\a\i\d\0 ]]
++ shift
++ [[ parport_pc == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ parport_pc == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ parport_pc == \d\m\-\l\o\g ]]
++ shift
++ [[ parport_pc == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ parport_pc == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ parport_pc == \m\p\t\b\a\s\e ]]
++ shift
++ [[ parport_pc == \m\p\t\s\a\s ]]
++ shift
++ [[ parport_pc == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ parport_pc == \m\p\t\c\t\l ]]
++ shift
++ [[ parport_pc == \m\p\t\l\a\n ]]
++ shift
++ [[ parport_pc == \m\p\t\f\c ]]
++ shift
++ [[ parport_pc == \m\p\t\s\p\i ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ parport_pc == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ parport_pc == \l\i\b\f\c ]]
++ shift
++ [[ parport_pc == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ parport_pc == \l\i\b\s\r\p ]]
++ shift
++ [[ parport_pc == \f\c\o\e ]]
++ shift
++ [[ parport_pc == \l\i\b\f\c\o\e ]]
++ shift
++ [[ parport_pc == \i\p\s ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ parport_pc == \q\l\a\2\x\x\x ]]
++ shift
++ [[ parport_pc == \q\l\a\4\x\x\x ]]
++ shift
++ [[ parport_pc == \s\t ]]
++ shift
++ [[ parport_pc == \a\i\c\9\4\x\x ]]
++ shift
++ [[ parport_pc == \a\i\c\7\9\x\x ]]
++ shift
++ [[ parport_pc == \a\i\c\7\x\x\x ]]
++ shift
++ [[ parport_pc == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ parport_pc == \b\n\x\2\i ]]
++ shift
++ [[ parport_pc == \i\m\m ]]
++ shift
++ [[ parport_pc == \s\r\_\m\o\d ]]
++ shift
++ [[ parport_pc == \l\i\b\s\a\s ]]
++ shift
++ [[ parport_pc == \a\r\c\m\s\r ]]
++ shift
++ [[ parport_pc == \l\i\b\o\s\d ]]
++ shift
++ [[ parport_pc == \o\s\d ]]
++ shift
++ [[ parport_pc == \3\w\-\x\x\x\x ]]
++ shift
++ [[ parport_pc == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ parport_pc == \p\m\c\r\a\i\d ]]
++ shift
++ [[ parport_pc == \s\t\e\x ]]
++ shift
++ [[ parport_pc == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ parport_pc == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ parport_pc == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ parport_pc == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ parport_pc == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ parport_pc == \l\p\f\c ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ parport_pc == \c\h ]]
++ shift
++ [[ parport_pc == \m\p\t\2\s\a\s ]]
++ shift
++ [[ parport_pc == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ parport_pc == \i\n\i\t\i\o ]]
++ shift
++ [[ parport_pc == \c\x\g\b\3\i ]]
++ shift
++ [[ parport_pc == \a\a\c\r\a\i\d ]]
++ shift
++ [[ parport_pc == \b\f\a ]]
++ shift
++ [[ parport_pc == \h\p\t\i\o\p ]]
++ shift
++ [[ parport_pc == \f\n\i\c ]]
++ shift
++ [[ parport_pc == \o\s\s\t ]]
++ shift
++ [[ parport_pc == \p\p\a ]]
++ shift
++ [[ parport_pc == \s\g ]]
++ shift
++ [[ parport_pc == \s\d\_\m\o\d ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ parport_pc == \h\p\s\a ]]
++ shift
++ [[ parport_pc == \m\v\s\a\s ]]
++ shift
++ [[ parport_pc == \3\w\-\s\a\s ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ parport_pc == \s\e\s ]]
++ shift
++ [[ parport_pc == \3\w\-\9\x\x\x ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ parport_pc == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ parport_pc == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ parport_pc == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ parport_pc == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ parport_pc == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ parport_pc == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ parport_pc == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ parport_pc == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ parport_pc == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ parport_pc == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ parport_pc == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ parport_pc == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ parport_pc == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray parport osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=parport
++ shift
++ [[ parport == \o\s\d\b\l\k ]]
++ shift
++ [[ parport == \s\x\8 ]]
++ shift
++ [[ parport == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ parport == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ parport == \p\k\t\c\d\v\d ]]
++ shift
++ [[ parport == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ parport == \c\c\i\s\s ]]
++ shift
++ [[ parport == \f\l\o\p\p\y ]]
++ shift
++ [[ parport == \a\o\e ]]
++ shift
++ [[ parport == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ parport == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ parport == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ parport == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ parport == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ parport == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ parport == \s\a\t\a\_\n\v ]]
++ shift
++ [[ parport == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ parport == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ parport == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ parport == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ parport == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ parport == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ parport == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ parport == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ parport == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ parport == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ parport == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ parport == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ parport == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ parport == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ parport == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ parport == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ parport == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ parport == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ parport == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ parport == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ parport == \s\a\t\a\_\m\v ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ parport == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ parport == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ parport == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ parport == \a\h\c\i ]]
++ shift
++ [[ parport == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ parport == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ parport == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ parport == \l\i\n\e\a\r ]]
++ shift
++ [[ parport == \r\a\i\d\1 ]]
++ shift
++ [[ parport == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ parport == \d\m\-\m\o\d ]]
++ shift
++ [[ parport == \r\a\i\d\1\0 ]]
++ shift
++ [[ parport == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ parport == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ parport == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ parport == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ parport == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ parport == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ parport == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ parport == \f\a\u\l\t\y ]]
++ shift
++ [[ parport == \d\m\-\z\e\r\o ]]
++ shift
++ [[ parport == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ parport == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ parport == \r\a\i\d\0 ]]
++ shift
++ [[ parport == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ parport == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ parport == \d\m\-\l\o\g ]]
++ shift
++ [[ parport == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ parport == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ parport == \m\p\t\b\a\s\e ]]
++ shift
++ [[ parport == \m\p\t\s\a\s ]]
++ shift
++ [[ parport == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ parport == \m\p\t\c\t\l ]]
++ shift
++ [[ parport == \m\p\t\l\a\n ]]
++ shift
++ [[ parport == \m\p\t\f\c ]]
++ shift
++ [[ parport == \m\p\t\s\p\i ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ parport == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ parport == \l\i\b\f\c ]]
++ shift
++ [[ parport == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ parport == \l\i\b\s\r\p ]]
++ shift
++ [[ parport == \f\c\o\e ]]
++ shift
++ [[ parport == \l\i\b\f\c\o\e ]]
++ shift
++ [[ parport == \i\p\s ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ parport == \q\l\a\2\x\x\x ]]
++ shift
++ [[ parport == \q\l\a\4\x\x\x ]]
++ shift
++ [[ parport == \s\t ]]
++ shift
++ [[ parport == \a\i\c\9\4\x\x ]]
++ shift
++ [[ parport == \a\i\c\7\9\x\x ]]
++ shift
++ [[ parport == \a\i\c\7\x\x\x ]]
++ shift
++ [[ parport == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ parport == \b\n\x\2\i ]]
++ shift
++ [[ parport == \i\m\m ]]
++ shift
++ [[ parport == \s\r\_\m\o\d ]]
++ shift
++ [[ parport == \l\i\b\s\a\s ]]
++ shift
++ [[ parport == \a\r\c\m\s\r ]]
++ shift
++ [[ parport == \l\i\b\o\s\d ]]
++ shift
++ [[ parport == \o\s\d ]]
++ shift
++ [[ parport == \3\w\-\x\x\x\x ]]
++ shift
++ [[ parport == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ parport == \p\m\c\r\a\i\d ]]
++ shift
++ [[ parport == \s\t\e\x ]]
++ shift
++ [[ parport == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ parport == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ parport == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ parport == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ parport == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ parport == \l\p\f\c ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ parport == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ parport == \c\h ]]
++ shift
++ [[ parport == \m\p\t\2\s\a\s ]]
++ shift
++ [[ parport == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ parport == \i\n\i\t\i\o ]]
++ shift
++ [[ parport == \c\x\g\b\3\i ]]
++ shift
++ [[ parport == \a\a\c\r\a\i\d ]]
++ shift
++ [[ parport == \b\f\a ]]
++ shift
++ [[ parport == \h\p\t\i\o\p ]]
++ shift
++ [[ parport == \f\n\i\c ]]
++ shift
++ [[ parport == \o\s\s\t ]]
++ shift
++ [[ parport == \p\p\a ]]
++ shift
++ [[ parport == \s\g ]]
++ shift
++ [[ parport == \s\d\_\m\o\d ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ parport == \h\p\s\a ]]
++ shift
++ [[ parport == \m\v\s\a\s ]]
++ shift
++ [[ parport == \3\w\-\s\a\s ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ parport == \s\e\s ]]
++ shift
++ [[ parport == \3\w\-\9\x\x\x ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ parport == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ parport == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ parport == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ parport == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ parport == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ parport == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ parport == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ parport == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ parport == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ parport == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ parport == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ parport == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ parport == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray sg osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=sg
++ shift
++ [[ sg == \o\s\d\b\l\k ]]
++ shift
++ [[ sg == \s\x\8 ]]
++ shift
++ [[ sg == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sg == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ sg == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sg == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sg == \c\c\i\s\s ]]
++ shift
++ [[ sg == \f\l\o\p\p\y ]]
++ shift
++ [[ sg == \a\o\e ]]
++ shift
++ [[ sg == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ sg == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ sg == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ sg == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ sg == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sg == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ sg == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sg == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ sg == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ sg == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sg == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sg == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ sg == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ sg == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ sg == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sg == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ sg == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ sg == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ sg == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ sg == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ sg == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ sg == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sg == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sg == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ sg == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sg == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ sg == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sg == \a\h\c\i ]]
++ shift
++ [[ sg == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ sg == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sg == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sg == \l\i\n\e\a\r ]]
++ shift
++ [[ sg == \r\a\i\d\1 ]]
++ shift
++ [[ sg == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ sg == \d\m\-\m\o\d ]]
++ shift
++ [[ sg == \r\a\i\d\1\0 ]]
++ shift
++ [[ sg == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ sg == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sg == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ sg == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ sg == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sg == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ sg == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ sg == \f\a\u\l\t\y ]]
++ shift
++ [[ sg == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sg == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sg == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ sg == \r\a\i\d\0 ]]
++ shift
++ [[ sg == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ sg == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ sg == \d\m\-\l\o\g ]]
++ shift
++ [[ sg == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sg == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ sg == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sg == \m\p\t\s\a\s ]]
++ shift
++ [[ sg == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sg == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ sg == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sg == \l\i\b\f\c ]]
++ shift
++ [[ sg == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ sg == \l\i\b\s\r\p ]]
++ shift
++ [[ sg == \f\c\o\e ]]
++ shift
++ [[ sg == \l\i\b\f\c\o\e ]]
++ shift
++ [[ sg == \i\p\s ]]
++ shift
++ [[ sg == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sg == \q\l\a\2\x\x\x ]]
++ shift
++ [[ sg == \q\l\a\4\x\x\x ]]
++ shift
++ [[ sg == \s\t ]]
++ shift
++ [[ sg == \a\i\c\9\4\x\x ]]
++ shift
++ [[ sg == \a\i\c\7\9\x\x ]]
++ shift
++ [[ sg == \a\i\c\7\x\x\x ]]
++ shift
++ [[ sg == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ sg == \b\n\x\2\i ]]
++ shift
++ [[ sg == \i\m\m ]]
++ shift
++ [[ sg == \s\r\_\m\o\d ]]
++ shift
++ [[ sg == \l\i\b\s\a\s ]]
++ shift
++ [[ sg == \a\r\c\m\s\r ]]
++ shift
++ [[ sg == \l\i\b\o\s\d ]]
++ shift
++ [[ sg == \o\s\d ]]
++ shift
++ [[ sg == \3\w\-\x\x\x\x ]]
++ shift
++ [[ sg == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ sg == \p\m\c\r\a\i\d ]]
++ shift
++ [[ sg == \s\t\e\x ]]
++ shift
++ [[ sg == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ sg == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ sg == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ sg == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ sg == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ sg == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ sg == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ sg == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sg == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ sg == \l\p\f\c ]]
++ shift
++ [[ sg == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ sg == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ sg == \c\h ]]
++ shift
++ [[ sg == \m\p\t\2\s\a\s ]]
++ shift
++ [[ sg == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ sg == \i\n\i\t\i\o ]]
++ shift
++ [[ sg == \c\x\g\b\3\i ]]
++ shift
++ [[ sg == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sg == \b\f\a ]]
++ shift
++ [[ sg == \h\p\t\i\o\p ]]
++ shift
++ [[ sg == \f\n\i\c ]]
++ shift
++ [[ sg == \o\s\s\t ]]
++ shift
++ [[ sg == \p\p\a ]]
++ shift
++ [[ sg == \s\g ]]
++ return 0
++ echo sg
++ read module junk
++ IsInArray sd_mod osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=sd_mod
++ shift
++ [[ sd_mod == \o\s\d\b\l\k ]]
++ shift
++ [[ sd_mod == \s\x\8 ]]
++ shift
++ [[ sd_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sd_mod == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ sd_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sd_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sd_mod == \c\c\i\s\s ]]
++ shift
++ [[ sd_mod == \f\l\o\p\p\y ]]
++ shift
++ [[ sd_mod == \a\o\e ]]
++ shift
++ [[ sd_mod == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ 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\-\n\e\t ]]
++ shift
++ [[ sd_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ sd_mod == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sd_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ sd_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sd_mod == \a\h\c\i ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ sd_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sd_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sd_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ sd_mod == \r\a\i\d\1 ]]
++ shift
++ [[ sd_mod == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ sd_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ sd_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ sd_mod == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ sd_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sd_mod == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ sd_mod == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ sd_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sd_mod == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ sd_mod == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ sd_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ sd_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sd_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sd_mod == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ sd_mod == \r\a\i\d\0 ]]
++ shift
++ [[ sd_mod == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ sd_mod == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ sd_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ sd_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sd_mod == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ sd_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sd_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ sd_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sd_mod == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ sd_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sd_mod == \l\i\b\f\c ]]
++ shift
++ [[ sd_mod == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ sd_mod == \l\i\b\s\r\p ]]
++ shift
++ [[ sd_mod == \f\c\o\e ]]
++ shift
++ [[ sd_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ sd_mod == \i\p\s ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sd_mod == \q\l\a\2\x\x\x ]]
++ shift
++ [[ sd_mod == \q\l\a\4\x\x\x ]]
++ shift
++ [[ sd_mod == \s\t ]]
++ shift
++ [[ sd_mod == \a\i\c\9\4\x\x ]]
++ shift
++ [[ sd_mod == \a\i\c\7\9\x\x ]]
++ shift
++ [[ sd_mod == \a\i\c\7\x\x\x ]]
++ shift
++ [[ sd_mod == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ sd_mod == \b\n\x\2\i ]]
++ shift
++ [[ sd_mod == \i\m\m ]]
++ shift
++ [[ sd_mod == \s\r\_\m\o\d ]]
++ shift
++ [[ sd_mod == \l\i\b\s\a\s ]]
++ shift
++ [[ sd_mod == \a\r\c\m\s\r ]]
++ shift
++ [[ sd_mod == \l\i\b\o\s\d ]]
++ shift
++ [[ sd_mod == \o\s\d ]]
++ shift
++ [[ sd_mod == \3\w\-\x\x\x\x ]]
++ shift
++ [[ sd_mod == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ sd_mod == \p\m\c\r\a\i\d ]]
++ shift
++ [[ sd_mod == \s\t\e\x ]]
++ shift
++ [[ sd_mod == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ sd_mod == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ sd_mod == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ sd_mod == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sd_mod == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ sd_mod == \l\p\f\c ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ sd_mod == \c\h ]]
++ shift
++ [[ sd_mod == \m\p\t\2\s\a\s ]]
++ shift
++ [[ sd_mod == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ sd_mod == \i\n\i\t\i\o ]]
++ shift
++ [[ sd_mod == \c\x\g\b\3\i ]]
++ shift
++ [[ sd_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sd_mod == \b\f\a ]]
++ shift
++ [[ sd_mod == \h\p\t\i\o\p ]]
++ shift
++ [[ sd_mod == \f\n\i\c ]]
++ shift
++ [[ sd_mod == \o\s\s\t ]]
++ shift
++ [[ sd_mod == \p\p\a ]]
++ shift
++ [[ sd_mod == \s\g ]]
++ shift
++ [[ sd_mod == \s\d\_\m\o\d ]]
++ return 0
++ echo sd_mod
++ read module junk
++ IsInArray crc_t10dif osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=crc_t10dif
++ shift
++ [[ crc_t10dif == \o\s\d\b\l\k ]]
++ shift
++ [[ crc_t10dif == \s\x\8 ]]
++ shift
++ [[ crc_t10dif == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ crc_t10dif == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ crc_t10dif == \p\k\t\c\d\v\d ]]
++ shift
++ [[ crc_t10dif == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ crc_t10dif == \c\c\i\s\s ]]
++ shift
++ [[ crc_t10dif == \f\l\o\p\p\y ]]
++ shift
++ [[ crc_t10dif == \a\o\e ]]
++ shift
++ [[ crc_t10dif == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ crc_t10dif == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ crc_t10dif == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ crc_t10dif == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\n\v ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ crc_t10dif == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\m\v ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ crc_t10dif == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ crc_t10dif == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ crc_t10dif == \a\h\c\i ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ crc_t10dif == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ crc_t10dif == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ crc_t10dif == \l\i\n\e\a\r ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\1 ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ crc_t10dif == \d\m\-\m\o\d ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\1\0 ]]
++ shift
++ [[ crc_t10dif == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ crc_t10dif == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ crc_t10dif == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ crc_t10dif == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ crc_t10dif == \f\a\u\l\t\y ]]
++ shift
++ [[ crc_t10dif == \d\m\-\z\e\r\o ]]
++ shift
++ [[ crc_t10dif == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\0 ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ crc_t10dif == \d\m\-\l\o\g ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ crc_t10dif == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ crc_t10dif == \m\p\t\b\a\s\e ]]
++ shift
++ [[ crc_t10dif == \m\p\t\s\a\s ]]
++ shift
++ [[ crc_t10dif == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ crc_t10dif == \m\p\t\c\t\l ]]
++ shift
++ [[ crc_t10dif == \m\p\t\l\a\n ]]
++ shift
++ [[ crc_t10dif == \m\p\t\f\c ]]
++ shift
++ [[ crc_t10dif == \m\p\t\s\p\i ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ crc_t10dif == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ crc_t10dif == \l\i\b\f\c ]]
++ shift
++ [[ crc_t10dif == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ crc_t10dif == \l\i\b\s\r\p ]]
++ shift
++ [[ crc_t10dif == \f\c\o\e ]]
++ shift
++ [[ crc_t10dif == \l\i\b\f\c\o\e ]]
++ shift
++ [[ crc_t10dif == \i\p\s ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ crc_t10dif == \q\l\a\2\x\x\x ]]
++ shift
++ [[ crc_t10dif == \q\l\a\4\x\x\x ]]
++ shift
++ [[ crc_t10dif == \s\t ]]
++ shift
++ [[ crc_t10dif == \a\i\c\9\4\x\x ]]
++ shift
++ [[ crc_t10dif == \a\i\c\7\9\x\x ]]
++ shift
++ [[ crc_t10dif == \a\i\c\7\x\x\x ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ crc_t10dif == \b\n\x\2\i ]]
++ shift
++ [[ crc_t10dif == \i\m\m ]]
++ shift
++ [[ crc_t10dif == \s\r\_\m\o\d ]]
++ shift
++ [[ crc_t10dif == \l\i\b\s\a\s ]]
++ shift
++ [[ crc_t10dif == \a\r\c\m\s\r ]]
++ shift
++ [[ crc_t10dif == \l\i\b\o\s\d ]]
++ shift
++ [[ crc_t10dif == \o\s\d ]]
++ shift
++ [[ crc_t10dif == \3\w\-\x\x\x\x ]]
++ shift
++ [[ crc_t10dif == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ crc_t10dif == \p\m\c\r\a\i\d ]]
++ shift
++ [[ crc_t10dif == \s\t\e\x ]]
++ shift
++ [[ crc_t10dif == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ crc_t10dif == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ crc_t10dif == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ crc_t10dif == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ crc_t10dif == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ crc_t10dif == \l\p\f\c ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ crc_t10dif == \c\h ]]
++ shift
++ [[ crc_t10dif == \m\p\t\2\s\a\s ]]
++ shift
++ [[ crc_t10dif == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ crc_t10dif == \i\n\i\t\i\o ]]
++ shift
++ [[ crc_t10dif == \c\x\g\b\3\i ]]
++ shift
++ [[ crc_t10dif == \a\a\c\r\a\i\d ]]
++ shift
++ [[ crc_t10dif == \b\f\a ]]
++ shift
++ [[ crc_t10dif == \h\p\t\i\o\p ]]
++ shift
++ [[ crc_t10dif == \f\n\i\c ]]
++ shift
++ [[ crc_t10dif == \o\s\s\t ]]
++ shift
++ [[ crc_t10dif == \p\p\a ]]
++ shift
++ [[ crc_t10dif == \s\g ]]
++ shift
++ [[ crc_t10dif == \s\d\_\m\o\d ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ crc_t10dif == \h\p\s\a ]]
++ shift
++ [[ crc_t10dif == \m\v\s\a\s ]]
++ shift
++ [[ crc_t10dif == \3\w\-\s\a\s ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ crc_t10dif == \s\e\s ]]
++ shift
++ [[ crc_t10dif == \3\w\-\9\x\x\x ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ crc_t10dif == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ crc_t10dif == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray sr_mod osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=sr_mod
++ shift
++ [[ sr_mod == \o\s\d\b\l\k ]]
++ shift
++ [[ sr_mod == \s\x\8 ]]
++ shift
++ [[ sr_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sr_mod == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ sr_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sr_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sr_mod == \c\c\i\s\s ]]
++ shift
++ [[ sr_mod == \f\l\o\p\p\y ]]
++ shift
++ [[ sr_mod == \a\o\e ]]
++ shift
++ [[ sr_mod == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ 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\-\n\e\t ]]
++ shift
++ [[ sr_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ sr_mod == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sr_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ sr_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sr_mod == \a\h\c\i ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ sr_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sr_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sr_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ sr_mod == \r\a\i\d\1 ]]
++ shift
++ [[ sr_mod == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ sr_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ sr_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ sr_mod == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ sr_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sr_mod == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ sr_mod == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ sr_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sr_mod == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ sr_mod == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ sr_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ sr_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sr_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sr_mod == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ sr_mod == \r\a\i\d\0 ]]
++ shift
++ [[ sr_mod == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ sr_mod == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ sr_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ sr_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sr_mod == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ sr_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sr_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ sr_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sr_mod == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ sr_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sr_mod == \l\i\b\f\c ]]
++ shift
++ [[ sr_mod == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ sr_mod == \l\i\b\s\r\p ]]
++ shift
++ [[ sr_mod == \f\c\o\e ]]
++ shift
++ [[ sr_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ sr_mod == \i\p\s ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sr_mod == \q\l\a\2\x\x\x ]]
++ shift
++ [[ sr_mod == \q\l\a\4\x\x\x ]]
++ shift
++ [[ sr_mod == \s\t ]]
++ shift
++ [[ sr_mod == \a\i\c\9\4\x\x ]]
++ shift
++ [[ sr_mod == \a\i\c\7\9\x\x ]]
++ shift
++ [[ sr_mod == \a\i\c\7\x\x\x ]]
++ shift
++ [[ sr_mod == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ sr_mod == \b\n\x\2\i ]]
++ shift
++ [[ sr_mod == \i\m\m ]]
++ shift
++ [[ sr_mod == \s\r\_\m\o\d ]]
++ return 0
++ echo sr_mod
++ read module junk
++ IsInArray cdrom osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=cdrom
++ shift
++ [[ cdrom == \o\s\d\b\l\k ]]
++ shift
++ [[ cdrom == \s\x\8 ]]
++ shift
++ [[ cdrom == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ cdrom == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ cdrom == \p\k\t\c\d\v\d ]]
++ shift
++ [[ cdrom == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ cdrom == \c\c\i\s\s ]]
++ shift
++ [[ cdrom == \f\l\o\p\p\y ]]
++ shift
++ [[ cdrom == \a\o\e ]]
++ shift
++ [[ cdrom == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ cdrom == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ cdrom == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ cdrom == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\n\v ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ cdrom == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\m\v ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ cdrom == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ cdrom == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ cdrom == \a\h\c\i ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ cdrom == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ cdrom == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ cdrom == \l\i\n\e\a\r ]]
++ shift
++ [[ cdrom == \r\a\i\d\1 ]]
++ shift
++ [[ cdrom == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ cdrom == \d\m\-\m\o\d ]]
++ shift
++ [[ cdrom == \r\a\i\d\1\0 ]]
++ shift
++ [[ cdrom == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ cdrom == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ cdrom == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ cdrom == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ cdrom == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ cdrom == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ cdrom == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ cdrom == \f\a\u\l\t\y ]]
++ shift
++ [[ cdrom == \d\m\-\z\e\r\o ]]
++ shift
++ [[ cdrom == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ cdrom == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ cdrom == \r\a\i\d\0 ]]
++ shift
++ [[ cdrom == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ cdrom == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ cdrom == \d\m\-\l\o\g ]]
++ shift
++ [[ cdrom == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ cdrom == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ cdrom == \m\p\t\b\a\s\e ]]
++ shift
++ [[ cdrom == \m\p\t\s\a\s ]]
++ shift
++ [[ cdrom == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ cdrom == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ cdrom == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ cdrom == \l\i\b\f\c ]]
++ shift
++ [[ cdrom == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ cdrom == \l\i\b\s\r\p ]]
++ shift
++ [[ cdrom == \f\c\o\e ]]
++ shift
++ [[ cdrom == \l\i\b\f\c\o\e ]]
++ shift
++ [[ cdrom == \i\p\s ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ cdrom == \q\l\a\2\x\x\x ]]
++ shift
++ [[ cdrom == \q\l\a\4\x\x\x ]]
++ shift
++ [[ cdrom == \s\t ]]
++ shift
++ [[ cdrom == \a\i\c\9\4\x\x ]]
++ shift
++ [[ cdrom == \a\i\c\7\9\x\x ]]
++ shift
++ [[ cdrom == \a\i\c\7\x\x\x ]]
++ shift
++ [[ cdrom == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ cdrom == \b\n\x\2\i ]]
++ shift
++ [[ cdrom == \i\m\m ]]
++ shift
++ [[ cdrom == \s\r\_\m\o\d ]]
++ shift
++ [[ cdrom == \l\i\b\s\a\s ]]
++ shift
++ [[ cdrom == \a\r\c\m\s\r ]]
++ shift
++ [[ cdrom == \l\i\b\o\s\d ]]
++ shift
++ [[ cdrom == \o\s\d ]]
++ shift
++ [[ cdrom == \3\w\-\x\x\x\x ]]
++ shift
++ [[ cdrom == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ cdrom == \p\m\c\r\a\i\d ]]
++ shift
++ [[ cdrom == \s\t\e\x ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ cdrom == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ cdrom == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ cdrom == \l\p\f\c ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ cdrom == \c\h ]]
++ shift
++ [[ cdrom == \m\p\t\2\s\a\s ]]
++ shift
++ [[ cdrom == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ cdrom == \i\n\i\t\i\o ]]
++ shift
++ [[ cdrom == \c\x\g\b\3\i ]]
++ shift
++ [[ cdrom == \a\a\c\r\a\i\d ]]
++ shift
++ [[ cdrom == \b\f\a ]]
++ shift
++ [[ cdrom == \h\p\t\i\o\p ]]
++ shift
++ [[ cdrom == \f\n\i\c ]]
++ shift
++ [[ cdrom == \o\s\s\t ]]
++ shift
++ [[ cdrom == \p\p\a ]]
++ shift
++ [[ cdrom == \s\g ]]
++ shift
++ [[ cdrom == \s\d\_\m\o\d ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ cdrom == \h\p\s\a ]]
++ shift
++ [[ cdrom == \m\v\s\a\s ]]
++ shift
++ [[ cdrom == \3\w\-\s\a\s ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ cdrom == \s\e\s ]]
++ shift
++ [[ cdrom == \3\w\-\9\x\x\x ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ cdrom == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ cdrom == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ cdrom == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ cdrom == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ cdrom == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ cdrom == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ cdrom == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ cdrom == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ cdrom == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ cdrom == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ cdrom == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ cdrom == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ cdrom == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray vmxnet3 osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=vmxnet3
++ shift
++ [[ vmxnet3 == \o\s\d\b\l\k ]]
++ shift
++ [[ vmxnet3 == \s\x\8 ]]
++ shift
++ [[ vmxnet3 == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ vmxnet3 == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ vmxnet3 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ vmxnet3 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ vmxnet3 == \c\c\i\s\s ]]
++ shift
++ [[ vmxnet3 == \f\l\o\p\p\y ]]
++ shift
++ [[ vmxnet3 == \a\o\e ]]
++ shift
++ [[ vmxnet3 == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ vmxnet3 == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ vmxnet3 == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ vmxnet3 == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ vmxnet3 == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ vmxnet3 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ vmxnet3 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ vmxnet3 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ vmxnet3 == \a\h\c\i ]]
++ shift
++ [[ vmxnet3 == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ vmxnet3 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ vmxnet3 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ vmxnet3 == \l\i\n\e\a\r ]]
++ shift
++ [[ vmxnet3 == \r\a\i\d\1 ]]
++ shift
++ [[ vmxnet3 == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ vmxnet3 == \d\m\-\m\o\d ]]
++ shift
++ [[ vmxnet3 == \r\a\i\d\1\0 ]]
++ shift
++ [[ vmxnet3 == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ vmxnet3 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ vmxnet3 == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ vmxnet3 == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ vmxnet3 == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ vmxnet3 == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ vmxnet3 == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ vmxnet3 == \f\a\u\l\t\y ]]
++ shift
++ [[ vmxnet3 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ vmxnet3 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ vmxnet3 == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ vmxnet3 == \r\a\i\d\0 ]]
++ shift
++ [[ vmxnet3 == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ vmxnet3 == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ vmxnet3 == \d\m\-\l\o\g ]]
++ shift
++ [[ vmxnet3 == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ vmxnet3 == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ vmxnet3 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ vmxnet3 == \m\p\t\s\a\s ]]
++ shift
++ [[ vmxnet3 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ vmxnet3 == \m\p\t\c\t\l ]]
++ shift
++ [[ vmxnet3 == \m\p\t\l\a\n ]]
++ shift
++ [[ vmxnet3 == \m\p\t\f\c ]]
++ shift
++ [[ vmxnet3 == \m\p\t\s\p\i ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ vmxnet3 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ vmxnet3 == \l\i\b\f\c ]]
++ shift
++ [[ vmxnet3 == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ vmxnet3 == \l\i\b\s\r\p ]]
++ shift
++ [[ vmxnet3 == \f\c\o\e ]]
++ shift
++ [[ vmxnet3 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ vmxnet3 == \i\p\s ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ vmxnet3 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ vmxnet3 == \q\l\a\4\x\x\x ]]
++ shift
++ [[ vmxnet3 == \s\t ]]
++ shift
++ [[ vmxnet3 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ vmxnet3 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ vmxnet3 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ vmxnet3 == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ vmxnet3 == \b\n\x\2\i ]]
++ shift
++ [[ vmxnet3 == \i\m\m ]]
++ shift
++ [[ vmxnet3 == \s\r\_\m\o\d ]]
++ shift
++ [[ vmxnet3 == \l\i\b\s\a\s ]]
++ shift
++ [[ vmxnet3 == \a\r\c\m\s\r ]]
++ shift
++ [[ vmxnet3 == \l\i\b\o\s\d ]]
++ shift
++ [[ vmxnet3 == \o\s\d ]]
++ shift
++ [[ vmxnet3 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ vmxnet3 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ vmxnet3 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ vmxnet3 == \s\t\e\x ]]
++ shift
++ [[ vmxnet3 == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ vmxnet3 == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ vmxnet3 == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ vmxnet3 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ vmxnet3 == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ vmxnet3 == \l\p\f\c ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ vmxnet3 == \c\h ]]
++ shift
++ [[ vmxnet3 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ vmxnet3 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ vmxnet3 == \i\n\i\t\i\o ]]
++ shift
++ [[ vmxnet3 == \c\x\g\b\3\i ]]
++ shift
++ [[ vmxnet3 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ vmxnet3 == \b\f\a ]]
++ shift
++ [[ vmxnet3 == \h\p\t\i\o\p ]]
++ shift
++ [[ vmxnet3 == \f\n\i\c ]]
++ shift
++ [[ vmxnet3 == \o\s\s\t ]]
++ shift
++ [[ vmxnet3 == \p\p\a ]]
++ shift
++ [[ vmxnet3 == \s\g ]]
++ shift
++ [[ vmxnet3 == \s\d\_\m\o\d ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ vmxnet3 == \h\p\s\a ]]
++ shift
++ [[ vmxnet3 == \m\v\s\a\s ]]
++ shift
++ [[ vmxnet3 == \3\w\-\s\a\s ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ vmxnet3 == \s\e\s ]]
++ shift
++ [[ vmxnet3 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ vmxnet3 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ vmxnet3 == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ vmxnet3 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ vmxnet3 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray vmw_pvscsi osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=vmw_pvscsi
++ shift
++ [[ vmw_pvscsi == \o\s\d\b\l\k ]]
++ shift
++ [[ vmw_pvscsi == \s\x\8 ]]
++ shift
++ [[ vmw_pvscsi == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ vmw_pvscsi == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ vmw_pvscsi == \p\k\t\c\d\v\d ]]
++ shift
++ [[ vmw_pvscsi == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ vmw_pvscsi == \c\c\i\s\s ]]
++ shift
++ [[ vmw_pvscsi == \f\l\o\p\p\y ]]
++ shift
++ [[ vmw_pvscsi == \a\o\e ]]
++ shift
++ [[ vmw_pvscsi == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ vmw_pvscsi == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ vmw_pvscsi == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ vmw_pvscsi == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\n\v ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ vmw_pvscsi == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ vmw_pvscsi == \s\a\t\a\_\m\v ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ vmw_pvscsi == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ vmw_pvscsi == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ vmw_pvscsi == \a\h\c\i ]]
++ shift
++ [[ vmw_pvscsi == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ vmw_pvscsi == \l\i\n\e\a\r ]]
++ shift
++ [[ vmw_pvscsi == \r\a\i\d\1 ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\m\o\d ]]
++ shift
++ [[ vmw_pvscsi == \r\a\i\d\1\0 ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ vmw_pvscsi == \f\a\u\l\t\y ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\z\e\r\o ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ vmw_pvscsi == \r\a\i\d\0 ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ vmw_pvscsi == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\l\o\g ]]
++ shift
++ [[ vmw_pvscsi == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ vmw_pvscsi == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ vmw_pvscsi == \m\p\t\b\a\s\e ]]
++ shift
++ [[ vmw_pvscsi == \m\p\t\s\a\s ]]
++ shift
++ [[ vmw_pvscsi == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ vmw_pvscsi == \m\p\t\c\t\l ]]
++ shift
++ [[ vmw_pvscsi == \m\p\t\l\a\n ]]
++ shift
++ [[ vmw_pvscsi == \m\p\t\f\c ]]
++ shift
++ [[ vmw_pvscsi == \m\p\t\s\p\i ]]
++ shift
++ [[ vmw_pvscsi == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ vmw_pvscsi == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ vmw_pvscsi == \l\i\b\f\c ]]
++ shift
++ [[ vmw_pvscsi == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ vmw_pvscsi == \l\i\b\s\r\p ]]
++ shift
++ [[ vmw_pvscsi == \f\c\o\e ]]
++ shift
++ [[ vmw_pvscsi == \l\i\b\f\c\o\e ]]
++ shift
++ [[ vmw_pvscsi == \i\p\s ]]
++ shift
++ [[ vmw_pvscsi == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ vmw_pvscsi == \q\l\a\2\x\x\x ]]
++ shift
++ [[ vmw_pvscsi == \q\l\a\4\x\x\x ]]
++ shift
++ [[ vmw_pvscsi == \s\t ]]
++ shift
++ [[ vmw_pvscsi == \a\i\c\9\4\x\x ]]
++ shift
++ [[ vmw_pvscsi == \a\i\c\7\9\x\x ]]
++ shift
++ [[ vmw_pvscsi == \a\i\c\7\x\x\x ]]
++ shift
++ [[ vmw_pvscsi == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ vmw_pvscsi == \b\n\x\2\i ]]
++ shift
++ [[ vmw_pvscsi == \i\m\m ]]
++ shift
++ [[ vmw_pvscsi == \s\r\_\m\o\d ]]
++ shift
++ [[ vmw_pvscsi == \l\i\b\s\a\s ]]
++ shift
++ [[ vmw_pvscsi == \a\r\c\m\s\r ]]
++ shift
++ [[ vmw_pvscsi == \l\i\b\o\s\d ]]
++ shift
++ [[ vmw_pvscsi == \o\s\d ]]
++ shift
++ [[ vmw_pvscsi == \3\w\-\x\x\x\x ]]
++ shift
++ [[ vmw_pvscsi == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ vmw_pvscsi == \p\m\c\r\a\i\d ]]
++ shift
++ [[ vmw_pvscsi == \s\t\e\x ]]
++ shift
++ [[ vmw_pvscsi == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ vmw_pvscsi == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ vmw_pvscsi == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ vmw_pvscsi == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ vmw_pvscsi == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ vmw_pvscsi == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ vmw_pvscsi == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ vmw_pvscsi == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ vmw_pvscsi == \v\m\w\_\p\v\s\c\s\i ]]
++ return 0
++ echo vmw_pvscsi
++ read module junk
++ IsInArray vmware_balloon osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=vmware_balloon
++ shift
++ [[ vmware_balloon == \o\s\d\b\l\k ]]
++ shift
++ [[ vmware_balloon == \s\x\8 ]]
++ shift
++ [[ vmware_balloon == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ vmware_balloon == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ vmware_balloon == \p\k\t\c\d\v\d ]]
++ shift
++ [[ vmware_balloon == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ vmware_balloon == \c\c\i\s\s ]]
++ shift
++ [[ vmware_balloon == \f\l\o\p\p\y ]]
++ shift
++ [[ vmware_balloon == \a\o\e ]]
++ shift
++ [[ vmware_balloon == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ vmware_balloon == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ vmware_balloon == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ vmware_balloon == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\n\v ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ vmware_balloon == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ vmware_balloon == \s\a\t\a\_\m\v ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ vmware_balloon == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ vmware_balloon == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ vmware_balloon == \a\h\c\i ]]
++ shift
++ [[ vmware_balloon == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ vmware_balloon == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ vmware_balloon == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ vmware_balloon == \l\i\n\e\a\r ]]
++ shift
++ [[ vmware_balloon == \r\a\i\d\1 ]]
++ shift
++ [[ vmware_balloon == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ vmware_balloon == \d\m\-\m\o\d ]]
++ shift
++ [[ vmware_balloon == \r\a\i\d\1\0 ]]
++ shift
++ [[ vmware_balloon == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ vmware_balloon == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ vmware_balloon == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ vmware_balloon == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ vmware_balloon == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ vmware_balloon == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ vmware_balloon == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ vmware_balloon == \f\a\u\l\t\y ]]
++ shift
++ [[ vmware_balloon == \d\m\-\z\e\r\o ]]
++ shift
++ [[ vmware_balloon == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ vmware_balloon == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ vmware_balloon == \r\a\i\d\0 ]]
++ shift
++ [[ vmware_balloon == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ vmware_balloon == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ vmware_balloon == \d\m\-\l\o\g ]]
++ shift
++ [[ vmware_balloon == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ vmware_balloon == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ vmware_balloon == \m\p\t\b\a\s\e ]]
++ shift
++ [[ vmware_balloon == \m\p\t\s\a\s ]]
++ shift
++ [[ vmware_balloon == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ vmware_balloon == \m\p\t\c\t\l ]]
++ shift
++ [[ vmware_balloon == \m\p\t\l\a\n ]]
++ shift
++ [[ vmware_balloon == \m\p\t\f\c ]]
++ shift
++ [[ vmware_balloon == \m\p\t\s\p\i ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ vmware_balloon == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ vmware_balloon == \l\i\b\f\c ]]
++ shift
++ [[ vmware_balloon == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ vmware_balloon == \l\i\b\s\r\p ]]
++ shift
++ [[ vmware_balloon == \f\c\o\e ]]
++ shift
++ [[ vmware_balloon == \l\i\b\f\c\o\e ]]
++ shift
++ [[ vmware_balloon == \i\p\s ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ vmware_balloon == \q\l\a\2\x\x\x ]]
++ shift
++ [[ vmware_balloon == \q\l\a\4\x\x\x ]]
++ shift
++ [[ vmware_balloon == \s\t ]]
++ shift
++ [[ vmware_balloon == \a\i\c\9\4\x\x ]]
++ shift
++ [[ vmware_balloon == \a\i\c\7\9\x\x ]]
++ shift
++ [[ vmware_balloon == \a\i\c\7\x\x\x ]]
++ shift
++ [[ vmware_balloon == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ vmware_balloon == \b\n\x\2\i ]]
++ shift
++ [[ vmware_balloon == \i\m\m ]]
++ shift
++ [[ vmware_balloon == \s\r\_\m\o\d ]]
++ shift
++ [[ vmware_balloon == \l\i\b\s\a\s ]]
++ shift
++ [[ vmware_balloon == \a\r\c\m\s\r ]]
++ shift
++ [[ vmware_balloon == \l\i\b\o\s\d ]]
++ shift
++ [[ vmware_balloon == \o\s\d ]]
++ shift
++ [[ vmware_balloon == \3\w\-\x\x\x\x ]]
++ shift
++ [[ vmware_balloon == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ vmware_balloon == \p\m\c\r\a\i\d ]]
++ shift
++ [[ vmware_balloon == \s\t\e\x ]]
++ shift
++ [[ vmware_balloon == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ vmware_balloon == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ vmware_balloon == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ vmware_balloon == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ vmware_balloon == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ vmware_balloon == \l\p\f\c ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ vmware_balloon == \c\h ]]
++ shift
++ [[ vmware_balloon == \m\p\t\2\s\a\s ]]
++ shift
++ [[ vmware_balloon == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ vmware_balloon == \i\n\i\t\i\o ]]
++ shift
++ [[ vmware_balloon == \c\x\g\b\3\i ]]
++ shift
++ [[ vmware_balloon == \a\a\c\r\a\i\d ]]
++ shift
++ [[ vmware_balloon == \b\f\a ]]
++ shift
++ [[ vmware_balloon == \h\p\t\i\o\p ]]
++ shift
++ [[ vmware_balloon == \f\n\i\c ]]
++ shift
++ [[ vmware_balloon == \o\s\s\t ]]
++ shift
++ [[ vmware_balloon == \p\p\a ]]
++ shift
++ [[ vmware_balloon == \s\g ]]
++ shift
++ [[ vmware_balloon == \s\d\_\m\o\d ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ vmware_balloon == \h\p\s\a ]]
++ shift
++ [[ vmware_balloon == \m\v\s\a\s ]]
++ shift
++ [[ vmware_balloon == \3\w\-\s\a\s ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ vmware_balloon == \s\e\s ]]
++ shift
++ [[ vmware_balloon == \3\w\-\9\x\x\x ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ vmware_balloon == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ vmware_balloon == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ vmware_balloon == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ vmware_balloon == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ata_generic osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=ata_generic
++ shift
++ [[ ata_generic == \o\s\d\b\l\k ]]
++ shift
++ [[ ata_generic == \s\x\8 ]]
++ shift
++ [[ ata_generic == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ata_generic == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ata_generic == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ata_generic == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ata_generic == \c\c\i\s\s ]]
++ shift
++ [[ ata_generic == \f\l\o\p\p\y ]]
++ shift
++ [[ ata_generic == \a\o\e ]]
++ shift
++ [[ ata_generic == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ ata_generic == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ ata_generic == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ ata_generic == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ata_generic == \a\t\a\_\g\e\n\e\r\i\c ]]
++ return 0
++ echo ata_generic
++ read module junk
++ IsInArray pata_acpi osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=pata_acpi
++ shift
++ [[ pata_acpi == \o\s\d\b\l\k ]]
++ shift
++ [[ pata_acpi == \s\x\8 ]]
++ shift
++ [[ pata_acpi == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ pata_acpi == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ pata_acpi == \p\k\t\c\d\v\d ]]
++ shift
++ [[ pata_acpi == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ pata_acpi == \c\c\i\s\s ]]
++ shift
++ [[ pata_acpi == \f\l\o\p\p\y ]]
++ shift
++ [[ pata_acpi == \a\o\e ]]
++ shift
++ [[ pata_acpi == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ pata_acpi == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ pata_acpi == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ pata_acpi == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\n\v ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\c\p\i ]]
++ return 0
++ echo pata_acpi
++ read module junk
++ IsInArray ata_piix osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=ata_piix
++ shift
++ [[ ata_piix == \o\s\d\b\l\k ]]
++ shift
++ [[ ata_piix == \s\x\8 ]]
++ shift
++ [[ ata_piix == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ata_piix == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ata_piix == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ata_piix == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ata_piix == \c\c\i\s\s ]]
++ shift
++ [[ ata_piix == \f\l\o\p\p\y ]]
++ shift
++ [[ ata_piix == \a\o\e ]]
++ shift
++ [[ ata_piix == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ ata_piix == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ ata_piix == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ ata_piix == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ata_piix == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\m\v ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ ata_piix == \a\t\a\_\p\i\i\x ]]
++ return 0
++ echo ata_piix
++ read module junk
++ IsInArray i2c_piix4 osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=i2c_piix4
++ shift
++ [[ i2c_piix4 == \o\s\d\b\l\k ]]
++ shift
++ [[ i2c_piix4 == \s\x\8 ]]
++ shift
++ [[ i2c_piix4 == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ i2c_piix4 == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ i2c_piix4 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ i2c_piix4 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ i2c_piix4 == \c\c\i\s\s ]]
++ shift
++ [[ i2c_piix4 == \f\l\o\p\p\y ]]
++ shift
++ [[ i2c_piix4 == \a\o\e ]]
++ shift
++ [[ i2c_piix4 == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ i2c_piix4 == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ i2c_piix4 == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ i2c_piix4 == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_piix4 == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ i2c_piix4 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ i2c_piix4 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ i2c_piix4 == \a\h\c\i ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i2c_piix4 == \l\i\n\e\a\r ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\1 ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\1\0 ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ i2c_piix4 == \f\a\u\l\t\y ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\0 ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\l\o\g ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\c\t\l ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\l\a\n ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\f\c ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\s\p\i ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\f\c ]]
++ shift
++ [[ i2c_piix4 == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\s\r\p ]]
++ shift
++ [[ i2c_piix4 == \f\c\o\e ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ i2c_piix4 == \i\p\s ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \q\l\a\4\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \s\t ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ i2c_piix4 == \b\n\x\2\i ]]
++ shift
++ [[ i2c_piix4 == \i\m\m ]]
++ shift
++ [[ i2c_piix4 == \s\r\_\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \a\r\c\m\s\r ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\o\s\d ]]
++ shift
++ [[ i2c_piix4 == \o\s\d ]]
++ shift
++ [[ i2c_piix4 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ i2c_piix4 == \s\t\e\x ]]
++ shift
++ [[ i2c_piix4 == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ i2c_piix4 == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ i2c_piix4 == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ i2c_piix4 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_piix4 == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \l\p\f\c ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ i2c_piix4 == \c\h ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ i2c_piix4 == \i\n\i\t\i\o ]]
++ shift
++ [[ i2c_piix4 == \c\x\g\b\3\i ]]
++ shift
++ [[ i2c_piix4 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ i2c_piix4 == \b\f\a ]]
++ shift
++ [[ i2c_piix4 == \h\p\t\i\o\p ]]
++ shift
++ [[ i2c_piix4 == \f\n\i\c ]]
++ shift
++ [[ i2c_piix4 == \o\s\s\t ]]
++ shift
++ [[ i2c_piix4 == \p\p\a ]]
++ shift
++ [[ i2c_piix4 == \s\g ]]
++ shift
++ [[ i2c_piix4 == \s\d\_\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ i2c_piix4 == \h\p\s\a ]]
++ shift
++ [[ i2c_piix4 == \m\v\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \3\w\-\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ i2c_piix4 == \s\e\s ]]
++ shift
++ [[ i2c_piix4 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ i2c_piix4 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ i2c_piix4 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray i2c_core osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=i2c_core
++ shift
++ [[ i2c_core == \o\s\d\b\l\k ]]
++ shift
++ [[ i2c_core == \s\x\8 ]]
++ shift
++ [[ i2c_core == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ i2c_core == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ i2c_core == \p\k\t\c\d\v\d ]]
++ shift
++ [[ i2c_core == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ i2c_core == \c\c\i\s\s ]]
++ shift
++ [[ i2c_core == \f\l\o\p\p\y ]]
++ shift
++ [[ i2c_core == \a\o\e ]]
++ shift
++ [[ i2c_core == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ i2c_core == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ i2c_core == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ i2c_core == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\n\v ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_core == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\m\v ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ i2c_core == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ i2c_core == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ i2c_core == \a\h\c\i ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ i2c_core == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ i2c_core == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i2c_core == \l\i\n\e\a\r ]]
++ shift
++ [[ i2c_core == \r\a\i\d\1 ]]
++ shift
++ [[ i2c_core == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ i2c_core == \d\m\-\m\o\d ]]
++ shift
++ [[ i2c_core == \r\a\i\d\1\0 ]]
++ shift
++ [[ i2c_core == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ i2c_core == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ i2c_core == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ i2c_core == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ i2c_core == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ i2c_core == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ i2c_core == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ i2c_core == \f\a\u\l\t\y ]]
++ shift
++ [[ i2c_core == \d\m\-\z\e\r\o ]]
++ shift
++ [[ i2c_core == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ i2c_core == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ i2c_core == \r\a\i\d\0 ]]
++ shift
++ [[ i2c_core == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ i2c_core == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ i2c_core == \d\m\-\l\o\g ]]
++ shift
++ [[ i2c_core == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ i2c_core == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ i2c_core == \m\p\t\b\a\s\e ]]
++ shift
++ [[ i2c_core == \m\p\t\s\a\s ]]
++ shift
++ [[ i2c_core == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ i2c_core == \m\p\t\c\t\l ]]
++ shift
++ [[ i2c_core == \m\p\t\l\a\n ]]
++ shift
++ [[ i2c_core == \m\p\t\f\c ]]
++ shift
++ [[ i2c_core == \m\p\t\s\p\i ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ i2c_core == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_core == \l\i\b\f\c ]]
++ shift
++ [[ i2c_core == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ i2c_core == \l\i\b\s\r\p ]]
++ shift
++ [[ i2c_core == \f\c\o\e ]]
++ shift
++ [[ i2c_core == \l\i\b\f\c\o\e ]]
++ shift
++ [[ i2c_core == \i\p\s ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ i2c_core == \q\l\a\2\x\x\x ]]
++ shift
++ [[ i2c_core == \q\l\a\4\x\x\x ]]
++ shift
++ [[ i2c_core == \s\t ]]
++ shift
++ [[ i2c_core == \a\i\c\9\4\x\x ]]
++ shift
++ [[ i2c_core == \a\i\c\7\9\x\x ]]
++ shift
++ [[ i2c_core == \a\i\c\7\x\x\x ]]
++ shift
++ [[ i2c_core == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ i2c_core == \b\n\x\2\i ]]
++ shift
++ [[ i2c_core == \i\m\m ]]
++ shift
++ [[ i2c_core == \s\r\_\m\o\d ]]
++ shift
++ [[ i2c_core == \l\i\b\s\a\s ]]
++ shift
++ [[ i2c_core == \a\r\c\m\s\r ]]
++ shift
++ [[ i2c_core == \l\i\b\o\s\d ]]
++ shift
++ [[ i2c_core == \o\s\d ]]
++ shift
++ [[ i2c_core == \3\w\-\x\x\x\x ]]
++ shift
++ [[ i2c_core == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ i2c_core == \p\m\c\r\a\i\d ]]
++ shift
++ [[ i2c_core == \s\t\e\x ]]
++ shift
++ [[ i2c_core == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ i2c_core == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ i2c_core == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ i2c_core == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_core == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ i2c_core == \l\p\f\c ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ i2c_core == \c\h ]]
++ shift
++ [[ i2c_core == \m\p\t\2\s\a\s ]]
++ shift
++ [[ i2c_core == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ i2c_core == \i\n\i\t\i\o ]]
++ shift
++ [[ i2c_core == \c\x\g\b\3\i ]]
++ shift
++ [[ i2c_core == \a\a\c\r\a\i\d ]]
++ shift
++ [[ i2c_core == \b\f\a ]]
++ shift
++ [[ i2c_core == \h\p\t\i\o\p ]]
++ shift
++ [[ i2c_core == \f\n\i\c ]]
++ shift
++ [[ i2c_core == \o\s\s\t ]]
++ shift
++ [[ i2c_core == \p\p\a ]]
++ shift
++ [[ i2c_core == \s\g ]]
++ shift
++ [[ i2c_core == \s\d\_\m\o\d ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ i2c_core == \h\p\s\a ]]
++ shift
++ [[ i2c_core == \m\v\s\a\s ]]
++ shift
++ [[ i2c_core == \3\w\-\s\a\s ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ i2c_core == \s\e\s ]]
++ shift
++ [[ i2c_core == \3\w\-\9\x\x\x ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ i2c_core == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ i2c_core == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ i2c_core == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ i2c_core == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ i2c_core == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ i2c_core == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ i2c_core == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ i2c_core == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ i2c_core == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ i2c_core == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ i2c_core == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ i2c_core == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ i2c_core == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray shpchp osdblk sx8 cryptoloop xen-blkfront pktcdvd virtio_blk cciss floppy aoe firewire-ohci firewire-sbp2 firewire-net firewire-core pata_artop sata_qstor sata_sil24 sata_sx4 pata_hpt3x2n sata_nv pata_ninja32 pata_atp867x pata_pcmcia pata_it821x pata_pdc2027x pata_it8213 sata_inic162x sata_via sata_uli pata_rdc pata_sch pata_hpt37x sata_promise pata_hpt3x3 pata_oldpiix pata_ali pata_acpi sata_vsc pata_sis sata_svw pata_hpt366 sata_sis pata_atiixp pata_serverworks pata_via ata_generic pata_netcell sata_sil pata_marvell pata_jmicron sata_mv pata_amd pata_sil680 ata_piix pata_pdc202xx_old pdc_adma ahci pata_cmd64x dm-mirror dm-multipath linear raid1 dm-registry dm-mod raid10 dm-queue-length dm-crypt dm-repl-slink-blockdev dm-delay dm-round-robin dm-region-hash dm-log-userspace faulty dm-zero dm-snapshot dm-replicator raid0 dm-repl-log-ringbuffer raid6_pq dm-log raid456 dm-service-time mptbase mptsas mptscsih mptctl mptlan mptfc mptspi scsi_tgt libiscsi_tcp libfc be2iscsi libsrp fcoe libfcoe ips scsi_transport_sas qla2xxx qla4xxx st aic94xx aic79xx aic7xxx raid_class bnx2i imm sr_mod libsas arcmsr libosd osd 3w-xxxx libiscsi pmcraid stex megaraid_mm megaraid_mbox megaraid_sas scsi_dh_emc scsi_dh_alua scsi_dh_rdac scsi_dh_hp_sw iscsi_tcp vmw_pvscsi lpfc scsi_transport_spi scsi_wait_scan ch mpt2sas sym53c8xx initio cxgb3i aacraid bfa hptiop fnic osst ppa sg sd_mod scsi_debug hpsa mvsas 3w-sas scsi_transport_fc ses 3w-9xxx scsi_transport_srp scsi_transport_iscsi ums-sddr55 ums-usbat ums-sddr09 ums-isd200 ums-karma ums-onetouch ums-datafab ums-alauda ums-jumpshot ums-freecom ums-cypress usb-storage
++ local needle=shpchp
++ shift
++ [[ shpchp == \o\s\d\b\l\k ]]
++ shift
++ [[ shpchp == \s\x\8 ]]
++ shift
++ [[ shpchp == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ shpchp == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ shpchp == \p\k\t\c\d\v\d ]]
++ shift
++ [[ shpchp == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ shpchp == \c\c\i\s\s ]]
++ shift
++ [[ shpchp == \f\l\o\p\p\y ]]
++ shift
++ [[ shpchp == \a\o\e ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\n\v ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ shpchp == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\m\v ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ shpchp == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ shpchp == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ shpchp == \a\h\c\i ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ shpchp == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ shpchp == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ shpchp == \l\i\n\e\a\r ]]
++ shift
++ [[ shpchp == \r\a\i\d\1 ]]
++ shift
++ [[ shpchp == \d\m\-\r\e\g\i\s\t\r\y ]]
++ shift
++ [[ shpchp == \d\m\-\m\o\d ]]
++ shift
++ [[ shpchp == \r\a\i\d\1\0 ]]
++ shift
++ [[ shpchp == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ shpchp == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ shpchp == \d\m\-\r\e\p\l\-\s\l\i\n\k\-\b\l\o\c\k\d\e\v ]]
++ shift
++ [[ shpchp == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ shpchp == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ shpchp == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ shpchp == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ shpchp == \f\a\u\l\t\y ]]
++ shift
++ [[ shpchp == \d\m\-\z\e\r\o ]]
++ shift
++ [[ shpchp == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ shpchp == \d\m\-\r\e\p\l\i\c\a\t\o\r ]]
++ shift
++ [[ shpchp == \r\a\i\d\0 ]]
++ shift
++ [[ shpchp == \d\m\-\r\e\p\l\-\l\o\g\-\r\i\n\g\b\u\f\f\e\r ]]
++ shift
++ [[ shpchp == \r\a\i\d\6\_\p\q ]]
++ shift
++ [[ shpchp == \d\m\-\l\o\g ]]
++ shift
++ [[ shpchp == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ shpchp == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ shpchp == \m\p\t\b\a\s\e ]]
++ shift
++ [[ shpchp == \m\p\t\s\a\s ]]
++ shift
++ [[ shpchp == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ shpchp == \m\p\t\c\t\l ]]
++ 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 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ shpchp == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ shpchp == \l\i\b\f\c ]]
++ shift
++ [[ shpchp == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ shpchp == \l\i\b\s\r\p ]]
++ shift
++ [[ shpchp == \f\c\o\e ]]
++ shift
++ [[ shpchp == \l\i\b\f\c\o\e ]]
++ shift
++ [[ shpchp == \i\p\s ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ shpchp == \q\l\a\2\x\x\x ]]
++ shift
++ [[ shpchp == \q\l\a\4\x\x\x ]]
++ shift
++ [[ shpchp == \s\t ]]
++ shift
++ [[ shpchp == \a\i\c\9\4\x\x ]]
++ shift
++ [[ shpchp == \a\i\c\7\9\x\x ]]
++ shift
++ [[ shpchp == \a\i\c\7\x\x\x ]]
++ shift
++ [[ shpchp == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ shpchp == \b\n\x\2\i ]]
++ shift
++ [[ shpchp == \i\m\m ]]
++ shift
++ [[ shpchp == \s\r\_\m\o\d ]]
++ shift
++ [[ shpchp == \l\i\b\s\a\s ]]
++ shift
++ [[ shpchp == \a\r\c\m\s\r ]]
++ shift
++ [[ shpchp == \l\i\b\o\s\d ]]
++ shift
++ [[ shpchp == \o\s\d ]]
++ shift
++ [[ shpchp == \3\w\-\x\x\x\x ]]
++ shift
++ [[ shpchp == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ shpchp == \p\m\c\r\a\i\d ]]
++ shift
++ [[ shpchp == \s\t\e\x ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ shpchp == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ shpchp == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ shpchp == \l\p\f\c ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ shpchp == \c\h ]]
++ shift
++ [[ shpchp == \m\p\t\2\s\a\s ]]
++ shift
++ [[ shpchp == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ shpchp == \i\n\i\t\i\o ]]
++ shift
++ [[ shpchp == \c\x\g\b\3\i ]]
++ shift
++ [[ shpchp == \a\a\c\r\a\i\d ]]
++ shift
++ [[ shpchp == \b\f\a ]]
++ shift
++ [[ shpchp == \h\p\t\i\o\p ]]
++ shift
++ [[ shpchp == \f\n\i\c ]]
++ shift
++ [[ shpchp == \o\s\s\t ]]
++ shift
++ [[ shpchp == \p\p\a ]]
++ shift
++ [[ shpchp == \s\g ]]
++ shift
++ [[ shpchp == \s\d\_\m\o\d ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ shpchp == \h\p\s\a ]]
++ shift
++ [[ shpchp == \m\v\s\a\s ]]
++ shift
++ [[ shpchp == \3\w\-\s\a\s ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ shpchp == \s\e\s ]]
++ shift
++ [[ shpchp == \3\w\-\9\x\x\x ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ shpchp == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ shpchp == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ shpchp == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ shpchp == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ shpchp == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ shpchp == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ shpchp == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ shpchp == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ shpchp == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ shpchp == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ shpchp == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ shpchp == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ shpchp == '' ]]
++ shift
++ return 1
++ read module junk
++ find /tmp/rear.hlagJrkKfZ3o4H9/tmp/dev -name storage_drivers -exec cat '{}' ';'
find: `/tmp/rear.hlagJrkKfZ3o4H9/tmp/dev': No such file or directory
++ return 0
++ diff -u /var/lib/rear/recovery/storage_drivers /tmp/rear.hlagJrkKfZ3o4H9/tmp/storage_drivers
--- /var/lib/rear/recovery/storage_drivers 2014-09-17 14:50:36.000000000 +0530
+++ /tmp/rear.hlagJrkKfZ3o4H9/tmp/storage_drivers 2014-09-19 12:05:26.173329418 +0530
@@ -1,10 +1,7 @@
ata_generic
ata_piix
-mptbase
-mptscsih
-mptspi
pata_acpi
-scsi_transport_spi
sd_mod
sg
sr_mod
+vmw_pvscsi
++ have_udev
++ local relpath=
++ shift
++ '[' -d /etc/udev/rules.d ']'
++ has_binary udevadm udevstart udevtrigger
++ for bin in '$@'
++ type udevadm
++ 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 '2014-09-19 12:05:26 NOTICE: Will do driver migration'
2014-09-19 12:05:26 NOTICE: Will do driver migration
++ Print 'NOTICE: Will do driver migration'
++ test 1
++ echo -e 'NOTICE: Will do driver migration'
+ test 1
+ set +x
2014-09-19 12:05:26 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://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
++ '[' == incremental ']'
/usr/share/rear/verify/NETFS/default/55_check_backup_archive.sh: line 10: [: ==: unary operator expected
+++ dirname /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz
++ '[' -s /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz -o -d /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz -o -f /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.splitted ']'
++ StopIfError 'Backup archive '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/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 '2014-09-19 12:05:26 Calculating backup archive size'
2014-09-19 12:05:26 Calculating backup archive size
++ Print 'Calculating backup archive size'
++ test 1
++ echo -e 'Calculating backup archive size'
+++ dirname /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz
++ [[ -f /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.splitted ]]
++ cut -d ' ' -f1
++ du -sh /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz
++ StopIfError 'Failed to determine backup archive size.'
++ (( 0 != 0 ))
++ read backuparchive_size
++ LogPrint 'Backup archive size is 1.1G /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz (compressed)'
++ Log 'Backup archive size is 1.1G /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz (compressed)'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:26 Backup archive size is 1.1G /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz (compressed)'
2014-09-19 12:05:26 Backup archive size is 1.1G /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz (compressed)
++ Print 'Backup archive size is 1.1G /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz (compressed)'
++ test 1
++ echo -e 'Backup archive size is 1.1G /tmp/rear.hlagJrkKfZ3o4H9/outputfs/RHEl6/backup.tar.gz (compressed)'
++ [[ '' =~ ^[yY1] ]]
+ test 1
+ set +x
2014-09-19 12:05:26 Including verify/NETFS/default/60_check_encryption_key.sh
+ . /usr/share/rear/verify/NETFS/default/60_check_encryption_key.sh
++ '[' 0 -ne 1 ']'
++ return
+ test 1
+ set +x
2014-09-19 12:05:26 Including verify/NETFS/default/98_umount_NETFS_dir.sh
+ . /usr/share/rear/verify/NETFS/default/98_umount_NETFS_dir.sh
++ [[ -n '' ]]
++ umount_url nfs://10.31.199.183/NFS_DATA /tmp/rear.hlagJrkKfZ3o4H9/outputfs
++ local url=nfs://10.31.199.183/NFS_DATA
++ local mountpoint=/tmp/rear.hlagJrkKfZ3o4H9/outputfs
++ case $(url_scheme $url) in
+++ url_scheme nfs://10.31.199.183/NFS_DATA
+++ local url=nfs://10.31.199.183/NFS_DATA
+++ local scheme=nfs
+++ grep -q :
+++ echo nfs
+++ echo nfs
++ umount_mountpoint /tmp/rear.hlagJrkKfZ3o4H9/outputfs
++ local mountpoint=/tmp/rear.hlagJrkKfZ3o4H9/outputfs
++ Log 'Unmounting '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'''
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:26 Unmounting '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'''
2014-09-19 12:05:26 Unmounting '/tmp/rear.hlagJrkKfZ3o4H9/outputfs'
++ umount -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs
10.31.199.183:/NFS_DATA umounted
++ [[ 0 -eq 0 ]]
++ return 0
++ StopIfError 'Unmounting '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' failed.'
++ (( 0 != 0 ))
++ RemoveExitTask 'umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2'
++ local removed=
++ (( c=0 ))
++ (( c<5 ))
++ test 'umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2' == 'umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2'
++ unset 'EXIT_TASKS[c]'
++ removed=yes
++ Debug 'Removed '\''umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2'\'' from the list of exit tasks'
++ test ''
++ (( c++ ))
++ (( c<4 ))
++ test 'rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2' == 'umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2'
++ (( c++ ))
++ (( c<4 ))
++ test cleanup_build_area_and_end_program == 'umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2'
++ (( c++ ))
++ (( c<4 ))
++ test 'exec 8>&-' == 'umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2'
++ (( c++ ))
++ (( c<4 ))
++ '[' yes == yes ']'
+++ for task in '"${EXIT_TASKS[@]}"'
+++ echo 'rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2'
+++ for task in '"${EXIT_TASKS[@]}"'
+++ echo cleanup_build_area_and_end_program
+++ for task in '"${EXIT_TASKS[@]}"'
+++ echo 'exec 8>&-'
+++ for task in '"${EXIT_TASKS[@]}"'
+++ echo 'exec 7>&-'
++ LogIfError 'Could not remove exit task '\''umount -f -v '\''/tmp/rear.hlagJrkKfZ3o4H9/outputfs'\'' >&2'\'' (not found). Exit Tasks:
rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2
cleanup_build_area_and_end_program
exec 8>&-
exec 7>&-'
++ (( 0 != 0 ))
++ return 0
++ rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs
rmdir: removing directory, `/tmp/rear.hlagJrkKfZ3o4H9/outputfs'
++ [[ 0 -eq 0 ]]
++ RemoveExitTask 'rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2'
++ local removed=
++ (( c=0 ))
++ (( c<4 ))
++ test '' == 'rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2'
++ (( c++ ))
++ (( c<4 ))
++ test 'rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2' == 'rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2'
++ unset 'EXIT_TASKS[c]'
++ removed=yes
++ Debug 'Removed '\''rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2'\'' from the list of exit tasks'
++ test ''
++ (( c++ ))
++ (( c<3 ))
++ test cleanup_build_area_and_end_program == 'rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2'
++ (( c++ ))
++ (( c<3 ))
++ '[' yes == yes ']'
+++ for task in '"${EXIT_TASKS[@]}"'
+++ echo cleanup_build_area_and_end_program
+++ for task in '"${EXIT_TASKS[@]}"'
+++ echo 'exec 8>&-'
+++ for task in '"${EXIT_TASKS[@]}"'
+++ echo 'exec 7>&-'
++ LogIfError 'Could not remove exit task '\''rmdir -v /tmp/rear.hlagJrkKfZ3o4H9/outputfs >&2'\'' (not found). Exit Tasks:
cleanup_build_area_and_end_program
exec 8>&-
exec 7>&-'
++ (( 0 != 0 ))
+ test 1
+ set +x
2014-09-19 12:05:26 Finished running 'verify' stage in 1 seconds
2014-09-19 12:05:26 Running 'layout/prepare' stage
2014-09-19 12:05:26 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.hlagJrkKfZ3o4H9/tmp/touch
++ '[' -e /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch ']'
++ mkdir -p /tmp/rear.hlagJrkKfZ3o4H9/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.20140919.4435.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
2014-09-19 12:05:26 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
+++ head -1
+++ sed -rn 's/^[^0-9\.]*([0-9]+\.[-0-9a-z\.]+).*$/\1/p'
+++ TERM=dumb
+++ parted -v
++ parted_version=2.1
++ '[' 2.1 ']'
++ BugIfError 'Function get_version could not detect parted version.'
++ (( 0 != 0 ))
++ version_newer 2.1 2.0
++ v1list=(${1//[-.]/ })
++ local v1list
++ v2list=(${2//[-.]/ })
++ local v2list
++ local max=2
++ (( 2 < 2 ))
++ local pos
+++ seq 0 1
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#02 < 10#02 ))
++ (( 10#02 > 10#02 ))
++ for pos in '$(seq 0 $(( max -1 )))'
++ (( 10#01 < 10#00 ))
++ (( 10#01 > 10#00 ))
++ return 0
++ FEATURE_PARTED_ANYUNIT=y
++ FEATURE_PARTED_ALIGNMENT=y
+ test 1
+ set +x
2014-09-19 12:05:26 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
+++ head -1
+++ sed -rn 's/^[^0-9\.]*([0-9]+\.[-0-9a-z\.]+).*$/\1/p'
+++ TERM=dumb
+++ lvm version
++ lvm_version=2.02.72
++ '[' 2.02.72 ']'
++ BugIfError 'Function get_version could not detect lvm version.'
++ (( 0 != 0 ))
++ version_newer 2.02.72 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#072 < 10#073 ))
++ return 1
+ test 1
+ set +x
2014-09-19 12:05:26 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
2014-09-19 12:05:26 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
2014-09-19 12:05:26 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
+++ head -1
+++ sed -rn 's/^[^0-9\.]*([0-9]+\.[-0-9a-z\.]+).*$/\1/p'
+++ TERM=dumb
+++ mkswap --version
++ mkswap_version=2.17.2
++ version_newer 2.17.2 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#017 < 10#013 ))
++ (( 10#017 > 10#013 ))
++ return 0
++ FEATURE_MKSWAP_UUID=y
+ test 1
+ set +x
2014-09-19 12:05:26 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
2014-09-19 12:05:26 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
2014-09-19 12:05:26 Including layout/prepare/GNU/Linux/17_include_hpraid_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/17_include_hpraid_code.sh
++ define_HPSSACLI
++ has_binary hpacucli
++ for bin in '$@'
++ type hpacucli
++ return 1
++ has_binary hpssacli
++ for bin in '$@'
++ type hpssacli
++ return 1
+ test 1
+ set +x
2014-09-19 12:05:26 Including layout/prepare/default/20_recreate_hpraid.sh
+ . /usr/share/rear/layout/prepare/default/20_recreate_hpraid.sh
++ grep -q '^cciss ' /proc/modules
++ return
+ test 1
+ set +x
2014-09-19 12:05:26 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
+ test 1
+ set +x
2014-09-19 12:05:26 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 '2014-09-19 12:05:26 Comparing disks.'
2014-09-19 12:05:26 Comparing disks.
++ Print 'Comparing disks.'
++ test 1
++ echo -e 'Comparing disks.'
++ MIGRATION_MODE=
++ read disk dev size junk
+++ grep '^disk' /var/lib/rear/layout/disklayout.conf
+++ get_sysfs_name /dev/sda
+++ local name=sda
+++ name=sda
+++ [[ -e /sys/block/sda ]]
+++ echo sda
+++ return 0
++ dev=sda
++ Log 'Looking for sda...'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:26 Looking for sda...'
2014-09-19 12:05:26 Looking for sda...
++ '[' -e /sys/block/sda ']'
++ Log 'Device sda exists.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:26 Device sda exists.'
2014-09-19 12:05:26 Device sda exists.
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=595591168
+++ local disk_size=304942678016
+++ echo 304942678016
++ newsize=304942678016
++ '[' 304942678016 -eq 17179869184 ']'
++ LogPrint 'Device sda has size 304942678016, 17179869184 expected'
++ Log 'Device sda has size 304942678016, 17179869184 expected'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:26 Device sda has size 304942678016, 17179869184 expected'
2014-09-19 12:05:26 Device sda has size 304942678016, 17179869184 expected
++ Print 'Device sda has size 304942678016, 17179869184 expected'
++ test 1
++ echo -e 'Device sda has size 304942678016, 17179869184 expected'
++ MIGRATION_MODE=true
++ read disk dev size junk
++ '[' -n true ']'
++ LogPrint 'Switching to manual disk layout configuration.'
++ Log 'Switching to manual disk layout configuration.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:26 Switching to manual disk layout configuration.'
2014-09-19 12:05:26 Switching to manual disk layout configuration.
++ Print 'Switching to manual disk layout configuration.'
++ test 1
++ echo -e 'Switching to manual disk layout configuration.'
+ test 1
+ set +x
2014-09-19 12:05:26 Including layout/prepare/default/30_map_disks.sh
+ . /usr/share/rear/layout/prepare/default/30_map_disks.sh
++ '[' -z true ']'
++ MAPPING_FILE=/var/lib/rear/layout/disk_mappings
++ :
++ 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
+++ cut -d ' ' -f 1
+++ echo '/dev/sda 17179869184 msdos'
++ name=/dev/sda
++ add_component /dev/sda disk
++ echo 'todo /dev/sda disk'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sda 524288000 1048576 primary boot /dev/sda1'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 524288000 1048576 primary boot /dev/sda1'
++ name=/dev/sda1
++ add_dependency /dev/sda1 /dev/sda
++ echo '/dev/sda1 /dev/sda'
++ add_component /dev/sda1 part
++ echo 'todo /dev/sda1 part'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sda 16654532608 525336576 primary lvm /dev/sda2'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 16654532608 525336576 primary lvm /dev/sda2'
++ name=/dev/sda2
++ add_dependency /dev/sda2 /dev/sda
++ echo '/dev/sda2 /dev/sda'
++ add_component /dev/sda2 part
++ echo 'todo /dev/sda2 part'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_dpadcloudqa1 /dev/sda2 kfW8hC-cod6-KpJI-KBCR-CB3D-QYgc-Q8vz6L 32528384'
++ vgrp=/dev/vg_dpadcloudqa1
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_dpadcloudqa1 /dev/sda2 kfW8hC-cod6-KpJI-KBCR-CB3D-QYgc-Q8vz6L 32528384'
++ part=/dev/sda2
++ add_dependency /dev/vg_dpadcloudqa1 pv:/dev/sda2
++ echo '/dev/vg_dpadcloudqa1 pv:/dev/sda2'
++ add_dependency pv:/dev/sda2 /dev/sda2
++ echo 'pv:/dev/sda2 /dev/sda2'
++ add_component pv:/dev/sda2 lvmdev
++ echo 'todo pv:/dev/sda2 lvmdev'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_dpadcloudqa1 4096 3970 16261120'
++ name=/dev/vg_dpadcloudqa1
++ add_component /dev/vg_dpadcloudqa1 lvmgrp
++ echo 'todo /dev/vg_dpadcloudqa1 lvmgrp'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_dpadcloudqa1 lv_root 2962 24264704'
++ vgrp=/dev/vg_dpadcloudqa1
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_dpadcloudqa1 lv_root 2962 24264704'
++ lvol=lv_root
++ dm_vgrp=/dev/vg_dpadcloudqa1
++ dm_lvol=lv_root
++ add_dependency /dev/mapper/vg_dpadcloudqa1-lv_root /dev/vg_dpadcloudqa1
++ echo '/dev/mapper/vg_dpadcloudqa1-lv_root /dev/vg_dpadcloudqa1'
++ add_component /dev/mapper/vg_dpadcloudqa1-lv_root lvmvol
++ echo 'todo /dev/mapper/vg_dpadcloudqa1-lv_root lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_dpadcloudqa1 lv_swap 1008 8257536'
++ vgrp=/dev/vg_dpadcloudqa1
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_dpadcloudqa1 lv_swap 1008 8257536'
++ lvol=lv_swap
++ dm_vgrp=/dev/vg_dpadcloudqa1
++ dm_lvol=lv_swap
++ add_dependency /dev/mapper/vg_dpadcloudqa1-lv_swap /dev/vg_dpadcloudqa1
++ echo '/dev/mapper/vg_dpadcloudqa1-lv_swap /dev/vg_dpadcloudqa1'
++ add_component /dev/mapper/vg_dpadcloudqa1-lv_swap lvmvol
++ echo 'todo /dev/mapper/vg_dpadcloudqa1-lv_swap lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vg_dpadcloudqa1-lv_root / ext4 uuid=4deec41e-778d-4d93-9ab5-e0db86ebd7a1 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16370 default_mount_options=user_xattr,acl options=rw'
++ dev=/dev/mapper/vg_dpadcloudqa1-lv_root
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vg_dpadcloudqa1-lv_root / ext4 uuid=4deec41e-778d-4d93-9ab5-e0db86ebd7a1 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16370 default_mount_options=user_xattr,acl options=rw'
++ mp=/
++ add_dependency fs:/ /dev/mapper/vg_dpadcloudqa1-lv_root
++ echo 'fs:/ /dev/mapper/vg_dpadcloudqa1-lv_root'
++ add_component fs:/ fs
++ echo 'todo fs:/ fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' '' '!=' / ']'
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sda1 /boot ext4 uuid=0c0738f7-02ce-4981-a102-215c238c4ccd label= blocksize=1024 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=4095 default_mount_options=user_xattr,acl options=rw'
++ dev=/dev/sda1
+++ cut -d ' ' -f 2
+++ echo '/dev/sda1 /boot ext4 uuid=0c0738f7-02ce-4981-a102-215c238c4ccd label= blocksize=1024 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=4095 default_mount_options=user_xattr,acl options=rw'
++ mp=/boot
++ add_dependency fs:/boot /dev/sda1
++ echo 'fs:/boot /dev/sda1'
++ add_component fs:/boot fs
++ echo 'todo fs:/boot fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' boot '!=' /boot ']'
++ '[' /boot '!=' / ']'
++ add_dependency fs:/boot fs:/
++ echo 'fs:/boot fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vg_dpadcloudqa1-lv_swap uuid=eef6c338-2d64-4bd9-b748-ab862a44cfba label='
++ dev=/dev/mapper/vg_dpadcloudqa1-lv_swap
++ add_dependency swap:/dev/mapper/vg_dpadcloudqa1-lv_swap /dev/mapper/vg_dpadcloudqa1-lv_swap
++ echo 'swap:/dev/mapper/vg_dpadcloudqa1-lv_swap /dev/mapper/vg_dpadcloudqa1-lv_swap'
++ add_component swap:/dev/mapper/vg_dpadcloudqa1-lv_swap swap
++ echo 'todo swap:/dev/mapper/vg_dpadcloudqa1-lv_swap swap'
++ read type remainder
++ '[' -e /etc/rear/mappings/disk_devices ']'
++ read disk dev size junk
+++ grep '^disk ' /var/lib/rear/layout/disklayout.conf
++ mapping_exists /dev/sda
++ grep -q '^/dev/sda ' /var/lib/rear/layout/disk_mappings
++ return 1
+++ get_sysfs_name /dev/sda
+++ local name=sda
+++ name=sda
+++ [[ -e /sys/block/sda ]]
+++ echo sda
+++ return 0
++ '[' -e /sys/block/sda ']'
++++ get_sysfs_name /dev/sda
++++ local name=sda
++++ name=sda
++++ [[ -e /sys/block/sda ]]
++++ echo sda
++++ return 0
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=595591168
+++ local disk_size=304942678016
+++ echo 304942678016
++ newsize=304942678016
++ '[' 17179869184 -eq 304942678016 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/loop0/size ']'
++ '[' '!' -d /sys/block/loop0/queue ']'
+++ get_disk_size loop0
+++ local disk_name=loop0
++++ get_block_size loop0
++++ '[' -r /sys/block/loop0/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/loop0/size ']'
+++ BugIfError 'Could not determine size of disk loop0, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=0
+++ local disk_size=0
+++ echo 0
++ newsize=0
++ '[' 17179869184 -eq 0 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/loop1/size ']'
++ '[' '!' -d /sys/block/loop1/queue ']'
+++ get_disk_size loop1
+++ local disk_name=loop1
++++ get_block_size loop1
++++ '[' -r /sys/block/loop1/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/loop1/size ']'
+++ BugIfError 'Could not determine size of disk loop1, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=0
+++ local disk_size=0
+++ echo 0
++ newsize=0
++ '[' 17179869184 -eq 0 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/loop2/size ']'
++ '[' '!' -d /sys/block/loop2/queue ']'
+++ get_disk_size loop2
+++ local disk_name=loop2
++++ get_block_size loop2
++++ '[' -r /sys/block/loop2/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/loop2/size ']'
+++ BugIfError 'Could not determine size of disk loop2, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=0
+++ local disk_size=0
+++ echo 0
++ newsize=0
++ '[' 17179869184 -eq 0 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/loop3/size ']'
++ '[' '!' -d /sys/block/loop3/queue ']'
+++ get_disk_size loop3
+++ local disk_name=loop3
++++ get_block_size loop3
++++ '[' -r /sys/block/loop3/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/loop3/size ']'
+++ BugIfError 'Could not determine size of disk loop3, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=0
+++ local disk_size=0
+++ echo 0
++ newsize=0
++ '[' 17179869184 -eq 0 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/loop4/size ']'
++ '[' '!' -d /sys/block/loop4/queue ']'
+++ get_disk_size loop4
+++ local disk_name=loop4
++++ get_block_size loop4
++++ '[' -r /sys/block/loop4/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/loop4/size ']'
+++ BugIfError 'Could not determine size of disk loop4, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=0
+++ local disk_size=0
+++ echo 0
++ newsize=0
++ '[' 17179869184 -eq 0 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/loop5/size ']'
++ '[' '!' -d /sys/block/loop5/queue ']'
+++ get_disk_size loop5
+++ local disk_name=loop5
++++ get_block_size loop5
++++ '[' -r /sys/block/loop5/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/loop5/size ']'
+++ BugIfError 'Could not determine size of disk loop5, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=0
+++ local disk_size=0
+++ echo 0
++ newsize=0
++ '[' 17179869184 -eq 0 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/loop6/size ']'
++ '[' '!' -d /sys/block/loop6/queue ']'
+++ get_disk_size loop6
+++ local disk_name=loop6
++++ get_block_size loop6
++++ '[' -r /sys/block/loop6/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/loop6/size ']'
+++ BugIfError 'Could not determine size of disk loop6, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=0
+++ local disk_size=0
+++ echo 0
++ newsize=0
++ '[' 17179869184 -eq 0 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/loop7/size ']'
++ '[' '!' -d /sys/block/loop7/queue ']'
+++ get_disk_size loop7
+++ local disk_name=loop7
++++ get_block_size loop7
++++ '[' -r /sys/block/loop7/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/loop7/size ']'
+++ BugIfError 'Could not determine size of disk loop7, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=0
+++ local disk_size=0
+++ echo 0
++ newsize=0
++ '[' 17179869184 -eq 0 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram0/size ']'
++ '[' '!' -d /sys/block/ram0/queue ']'
+++ get_disk_size ram0
+++ local disk_name=ram0
++++ get_block_size ram0
++++ '[' -r /sys/block/ram0/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram0/size ']'
+++ BugIfError 'Could not determine size of disk ram0, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram1/size ']'
++ '[' '!' -d /sys/block/ram1/queue ']'
+++ get_disk_size ram1
+++ local disk_name=ram1
++++ get_block_size ram1
++++ '[' -r /sys/block/ram1/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram1/size ']'
+++ BugIfError 'Could not determine size of disk ram1, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram10/size ']'
++ '[' '!' -d /sys/block/ram10/queue ']'
+++ get_disk_size ram10
+++ local disk_name=ram10
++++ get_block_size ram10
++++ '[' -r /sys/block/ram10/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram10/size ']'
+++ BugIfError 'Could not determine size of disk ram10, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram11/size ']'
++ '[' '!' -d /sys/block/ram11/queue ']'
+++ get_disk_size ram11
+++ local disk_name=ram11
++++ get_block_size ram11
++++ '[' -r /sys/block/ram11/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram11/size ']'
+++ BugIfError 'Could not determine size of disk ram11, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram12/size ']'
++ '[' '!' -d /sys/block/ram12/queue ']'
+++ get_disk_size ram12
+++ local disk_name=ram12
++++ get_block_size ram12
++++ '[' -r /sys/block/ram12/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram12/size ']'
+++ BugIfError 'Could not determine size of disk ram12, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram13/size ']'
++ '[' '!' -d /sys/block/ram13/queue ']'
+++ get_disk_size ram13
+++ local disk_name=ram13
++++ get_block_size ram13
++++ '[' -r /sys/block/ram13/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram13/size ']'
+++ BugIfError 'Could not determine size of disk ram13, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram14/size ']'
++ '[' '!' -d /sys/block/ram14/queue ']'
+++ get_disk_size ram14
+++ local disk_name=ram14
++++ get_block_size ram14
++++ '[' -r /sys/block/ram14/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram14/size ']'
+++ BugIfError 'Could not determine size of disk ram14, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram15/size ']'
++ '[' '!' -d /sys/block/ram15/queue ']'
+++ get_disk_size ram15
+++ local disk_name=ram15
++++ get_block_size ram15
++++ '[' -r /sys/block/ram15/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram15/size ']'
+++ BugIfError 'Could not determine size of disk ram15, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram2/size ']'
++ '[' '!' -d /sys/block/ram2/queue ']'
+++ get_disk_size ram2
+++ local disk_name=ram2
++++ get_block_size ram2
++++ '[' -r /sys/block/ram2/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram2/size ']'
+++ BugIfError 'Could not determine size of disk ram2, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram3/size ']'
++ '[' '!' -d /sys/block/ram3/queue ']'
+++ get_disk_size ram3
+++ local disk_name=ram3
++++ get_block_size ram3
++++ '[' -r /sys/block/ram3/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram3/size ']'
+++ BugIfError 'Could not determine size of disk ram3, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram4/size ']'
++ '[' '!' -d /sys/block/ram4/queue ']'
+++ get_disk_size ram4
+++ local disk_name=ram4
++++ get_block_size ram4
++++ '[' -r /sys/block/ram4/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram4/size ']'
+++ BugIfError 'Could not determine size of disk ram4, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram5/size ']'
++ '[' '!' -d /sys/block/ram5/queue ']'
+++ get_disk_size ram5
+++ local disk_name=ram5
++++ get_block_size ram5
++++ '[' -r /sys/block/ram5/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram5/size ']'
+++ BugIfError 'Could not determine size of disk ram5, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram6/size ']'
++ '[' '!' -d /sys/block/ram6/queue ']'
+++ get_disk_size ram6
+++ local disk_name=ram6
++++ get_block_size ram6
++++ '[' -r /sys/block/ram6/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram6/size ']'
+++ BugIfError 'Could not determine size of disk ram6, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram7/size ']'
++ '[' '!' -d /sys/block/ram7/queue ']'
+++ get_disk_size ram7
+++ local disk_name=ram7
++++ get_block_size ram7
++++ '[' -r /sys/block/ram7/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram7/size ']'
+++ BugIfError 'Could not determine size of disk ram7, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram8/size ']'
++ '[' '!' -d /sys/block/ram8/queue ']'
+++ get_disk_size ram8
+++ local disk_name=ram8
++++ get_block_size ram8
++++ '[' -r /sys/block/ram8/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram8/size ']'
+++ BugIfError 'Could not determine size of disk ram8, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/ram9/size ']'
++ '[' '!' -d /sys/block/ram9/queue ']'
+++ get_disk_size ram9
+++ local disk_name=ram9
++++ get_block_size ram9
++++ '[' -r /sys/block/ram9/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/ram9/size ']'
+++ BugIfError 'Could not determine size of disk ram9, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=32768
+++ local disk_size=16777216
+++ echo 16777216
++ newsize=16777216
++ '[' 17179869184 -eq 16777216 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/sda/size ']'
++ '[' '!' -d /sys/block/sda/queue ']'
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=595591168
+++ local disk_size=304942678016
+++ echo 304942678016
++ newsize=304942678016
++ '[' 17179869184 -eq 304942678016 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/sr0/size ']'
++ '[' '!' -d /sys/block/sr0/queue ']'
+++ get_disk_size sr0
+++ local disk_name=sr0
++++ get_block_size sr0
++++ '[' -r /sys/block/sr0/queue/logical_block_size ']'
++++ echo 2048
+++ local block_size=2048
+++ '[' -r /sys/block/sr0/size ']'
+++ BugIfError 'Could not determine size of disk sr0, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=71792
+++ local disk_size=147030016
+++ echo 147030016
++ newsize=147030016
++ '[' 17179869184 -eq 147030016 ']'
++ read disk dev size junk
++ read -u 3 disk dev size junk
+++ grep '^disk ' /var/lib/rear/layout/disklayout.conf
++ mapping_exists /dev/sda
++ grep -q '^/dev/sda ' /var/lib/rear/layout/disk_mappings
++ return 1
++ possible_targets=()
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ skip=y
++ [[ -n y ]]
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n '' ]]
+++ get_device_name /sys/block/sda
+++ local name=/sys/block/sda
+++ name=sda
+++ [[ -n sda ]]
+++ BugIfError 'Empty string passed to get_device_name'
+++ (( 0 != 0 ))
+++ local device dev_number mapper_number
+++ [[ -d /sys/block/sda ]]
+++ [[ -r /sys/block/sda/dm/name ]]
+++ dev_number=8:0
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor control
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vg_dpadcloudqa1-lv_root
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vg_dpadcloudqa1-lv_swap
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ name=sda
+++ echo /dev/sda
+++ return 1
++ reverse_mapping_exists /dev/sda
++ grep -q ' /dev/sda$' /var/lib/rear/layout/disk_mappings
++ return 1
++ '[' -d /sys/block/sda/queue ']'
++ possible_targets=("${possible_targets[@]}" "$(get_device_name $path)")
+++ get_device_name /sys/block/sda
+++ local name=/sys/block/sda
+++ name=sda
+++ [[ -n sda ]]
+++ BugIfError 'Empty string passed to get_device_name'
+++ (( 0 != 0 ))
+++ local device dev_number mapper_number
+++ [[ -d /sys/block/sda ]]
+++ [[ -r /sys/block/sda/dm/name ]]
+++ dev_number=8:0
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor control
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vg_dpadcloudqa1-lv_root
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vg_dpadcloudqa1-lv_swap
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ name=sda
+++ echo /dev/sda
+++ return 1
++ for path in '/sys/block/*'
++ '[' 1 = 1 ']'
++ continue
+++ get_device_name /dev/sda
+++ local name=sda
+++ name=sda
+++ [[ -n sda ]]
+++ BugIfError 'Empty string passed to get_device_name'
+++ (( 0 != 0 ))
+++ local device dev_number mapper_number
+++ [[ -d /sys/block/sda ]]
+++ [[ -r /sys/block/sda/dm/name ]]
+++ dev_number=8:0
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor control
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vg_dpadcloudqa1-lv_root
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vg_dpadcloudqa1-lv_swap
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ name=sda
+++ echo /dev/sda
+++ return 1
++ LogPrint 'Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
++ Log 'Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:26 Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
2014-09-19 12:05:26 Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.
++ Print 'Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
++ test 1
++ echo -e 'Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
++ read -u 3 disk dev size junk
++ LogPrint 'This is the disk mapping table:'
++ Log 'This is the disk mapping table:'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:28 This is the disk mapping table:'
2014-09-19 12:05:28 This is the disk mapping table:
++ Print 'This is the disk mapping table:'
++ test 1
++ echo -e 'This is the disk mapping table:'
+++ sed -e 's|^| |' /var/lib/rear/layout/disk_mappings
++ LogPrint ' /dev/sda /dev/sda'
++ Log ' /dev/sda /dev/sda'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:28 /dev/sda /dev/sda'
2014-09-19 12:05:28 /dev/sda /dev/sda
++ Print ' /dev/sda /dev/sda'
++ test 1
++ echo -e ' /dev/sda /dev/sda'
++ read disk dev junk
+++ grep '^disk ' /var/lib/rear/layout/disklayout.conf
++ mapping_exists /dev/sda
++ grep -q '^/dev/sda ' /var/lib/rear/layout/disk_mappings
++ return 0
++ read disk dev junk
+ test 1
+ set +x
2014-09-19 12:05:28 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 ']'
++ read done name type junk
+++ grep '^done' /var/lib/rear/layout/disktodo.conf
++ read status name junk
+++ grep -E '^done [^ ]+ lvmgrp' /var/lib/rear/layout/disktodo.conf
+ test 1
+ set +x
2014-09-19 12:05:28 Including layout/prepare/default/32_apply_mappings.sh
+ . /usr/share/rear/layout/prepare/default/32_apply_mappings.sh
++ '[' -z true ']'
++ replaced_count=0
++ replacement_file=/tmp/rear.hlagJrkKfZ3o4H9/tmp/replacement_file
++ :
++ read source target junk
++ has_replacement /dev/sda
++ grep -q '^/dev/sda ' /tmp/rear.hlagJrkKfZ3o4H9/tmp/replacement_file
++ return 1
++ add_replacement /dev/sda
++ echo '/dev/sda _REAR0_'
++ let replaced_count++
++ has_replacement /dev/sda
++ grep -q '^/dev/sda ' /tmp/rear.hlagJrkKfZ3o4H9/tmp/replacement_file
++ return 0
++ read source target junk
++ read original replacement junk
++ part_base=/dev/sda
++ case "$original" in
++ sed -i -r '\|/dev/sda|s|/dev/sda([0-9]+)|_REAR0_\1|g' /var/lib/rear/layout/disklayout.conf
++ sed -i -r '\|/dev/sda|s|/\<dev/sda\>|_REAR0_|g' /var/lib/rear/layout/disklayout.conf
++ read original replacement junk
++ read source target junk
+++ get_replacement /dev/sda
+++ local item replacement junk
+++ read item replacement junk
++++ grep '^/dev/sda ' /tmp/rear.hlagJrkKfZ3o4H9/tmp/replacement_file
+++ echo _REAR0_
++ replacement=_REAR0_
++ sed -i -r '\|_REAR0_|s|_REAR0_\>|/dev/sda|g' /var/lib/rear/layout/disklayout.conf
++ case "$target" in
++ sed -i -r '\|_REAR0_|s|_REAR0_([0-9]+)|/dev/sda\1|g' /var/lib/rear/layout/disklayout.conf
++ read source target junk
+ test 1
+ set +x
2014-09-19 12:05:28 Including layout/prepare/default/40_autoresize_disks.sh
+ . /usr/share/rear/layout/prepare/default/40_autoresize_disks.sh
++ [[ -z true ]]
++ cp /var/lib/rear/layout/disklayout.conf /var/lib/rear/layout/disklayout.conf.tmp
++ backup_file /var/lib/rear/layout/disklayout.conf
++ [[ ! -r /var/lib/rear/layout/disklayout.conf ]]
++ IsInArray /var/lib/rear/layout/disklayout.conf /var/lib/rear/layout/disklayout.conf
++ local needle=/var/lib/rear/layout/disklayout.conf
++ shift
++ [[ /var/lib/rear/layout/disklayout.conf == \/\v\a\r\/\l\i\b\/\r\e\a\r\/\l\a\y\o\u\t\/\d\i\s\k\l\a\y\o\u\t\.\c\o\n\f ]]
++ return 0
++ read type device size junk
+++ grep '^disk ' /var/lib/rear/layout/disklayout.conf
+++ get_sysfs_name /dev/sda
+++ local name=sda
+++ name=sda
+++ [[ -e /sys/block/sda ]]
+++ echo sda
+++ return 0
++ sysfsname=sda
++ [[ -d /sys/block/sda ]]
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=595591168
+++ local disk_size=304942678016
+++ echo 304942678016
++ newsize=304942678016
++ (( 304942678016 == 17179869184 ))
++ oldsize=17179869184
++ difference=287762808832
++ Log 'Total resize of 287762808832B'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:28 Total resize of 287762808832B'
2014-09-19 12:05:28 Total resize of 287762808832B
++ Log 'Searching for resizeable partitions on disk /dev/sda (304942678016B)'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:28 Searching for resizeable partitions on disk /dev/sda (304942678016B)'
2014-09-19 12:05:28 Searching for resizeable partitions on disk /dev/sda (304942678016B)
++ partitions=()
++ resizeable_space=0
++ available_space=304942678016
++ read type part size start name flags name junk
+++ grep '^part /dev/sda' /var/lib/rear/layout/disklayout.conf
++++ cut '-d ' -f 2
++++ grep '^swap /dev/sda' /var/lib/rear/layout/disklayout.conf
+++ grep -v
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
++ (( 0 == 0 ))
++ Log 'No resizeable partitions found.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:28 No resizeable partitions found.'
2014-09-19 12:05:28 No resizeable partitions found.
++ continue
++ read type device size junk
++ mv /var/lib/rear/layout/disklayout.conf.tmp /var/lib/rear/layout/disklayout.conf
+ test 1
+ set +x
2014-09-19 12:05:28 Including layout/prepare/default/50_confirm_layout.sh
+ . /usr/share/rear/layout/prepare/default/50_confirm_layout.sh
++ [[ -z true ]]
++ LogPrint 'Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
++ Log 'Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:28 Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
2014-09-19 12:05:28 Please confirm that '/var/lib/rear/layout/disklayout.conf' is as you expect.
++ Print 'Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
++ test 1
++ echo -e 'Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
++ Print ''
++ test 1
++ echo -e ''
++ choices=("View disk layout (disklayout.conf)" "Edit disk layout (disklayout.conf)" "View original disk space usage" "Go to Relax-and-Recover shell" "Continue recovery" "Abort Relax-and-Recover")
++ Log 'User selected: 5) Continue recovery'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:31 User selected: 5) Continue recovery'
2014-09-19 12:05:31 User selected: 5) Continue recovery
++ (( REPLY == 6 ))
+ test 1
+ set +x
2014-09-19 12:05:31 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
+++ cut -d ' ' -f 1
+++ echo '/dev/sda 17179869184 msdos'
++ name=/dev/sda
++ add_component /dev/sda disk
++ echo 'todo /dev/sda disk'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sda 524288000 1048576 primary boot /dev/sda1'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 524288000 1048576 primary boot /dev/sda1'
++ name=/dev/sda1
++ add_dependency /dev/sda1 /dev/sda
++ echo '/dev/sda1 /dev/sda'
++ add_component /dev/sda1 part
++ echo 'todo /dev/sda1 part'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sda 16654532608 525336576 primary lvm /dev/sda2'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 16654532608 525336576 primary lvm /dev/sda2'
++ name=/dev/sda2
++ add_dependency /dev/sda2 /dev/sda
++ echo '/dev/sda2 /dev/sda'
++ add_component /dev/sda2 part
++ echo 'todo /dev/sda2 part'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_dpadcloudqa1 /dev/sda2 kfW8hC-cod6-KpJI-KBCR-CB3D-QYgc-Q8vz6L 32528384'
++ vgrp=/dev/vg_dpadcloudqa1
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_dpadcloudqa1 /dev/sda2 kfW8hC-cod6-KpJI-KBCR-CB3D-QYgc-Q8vz6L 32528384'
++ part=/dev/sda2
++ add_dependency /dev/vg_dpadcloudqa1 pv:/dev/sda2
++ echo '/dev/vg_dpadcloudqa1 pv:/dev/sda2'
++ add_dependency pv:/dev/sda2 /dev/sda2
++ echo 'pv:/dev/sda2 /dev/sda2'
++ add_component pv:/dev/sda2 lvmdev
++ echo 'todo pv:/dev/sda2 lvmdev'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_dpadcloudqa1 4096 3970 16261120'
++ name=/dev/vg_dpadcloudqa1
++ add_component /dev/vg_dpadcloudqa1 lvmgrp
++ echo 'todo /dev/vg_dpadcloudqa1 lvmgrp'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_dpadcloudqa1 lv_root 2962 24264704'
++ vgrp=/dev/vg_dpadcloudqa1
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_dpadcloudqa1 lv_root 2962 24264704'
++ lvol=lv_root
++ dm_vgrp=/dev/vg_dpadcloudqa1
++ dm_lvol=lv_root
++ add_dependency /dev/mapper/vg_dpadcloudqa1-lv_root /dev/vg_dpadcloudqa1
++ echo '/dev/mapper/vg_dpadcloudqa1-lv_root /dev/vg_dpadcloudqa1'
++ add_component /dev/mapper/vg_dpadcloudqa1-lv_root lvmvol
++ echo 'todo /dev/mapper/vg_dpadcloudqa1-lv_root lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_dpadcloudqa1 lv_swap 1008 8257536'
++ vgrp=/dev/vg_dpadcloudqa1
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_dpadcloudqa1 lv_swap 1008 8257536'
++ lvol=lv_swap
++ dm_vgrp=/dev/vg_dpadcloudqa1
++ dm_lvol=lv_swap
++ add_dependency /dev/mapper/vg_dpadcloudqa1-lv_swap /dev/vg_dpadcloudqa1
++ echo '/dev/mapper/vg_dpadcloudqa1-lv_swap /dev/vg_dpadcloudqa1'
++ add_component /dev/mapper/vg_dpadcloudqa1-lv_swap lvmvol
++ echo 'todo /dev/mapper/vg_dpadcloudqa1-lv_swap lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vg_dpadcloudqa1-lv_root / ext4 uuid=4deec41e-778d-4d93-9ab5-e0db86ebd7a1 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16370 default_mount_options=user_xattr,acl options=rw'
++ dev=/dev/mapper/vg_dpadcloudqa1-lv_root
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vg_dpadcloudqa1-lv_root / ext4 uuid=4deec41e-778d-4d93-9ab5-e0db86ebd7a1 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16370 default_mount_options=user_xattr,acl options=rw'
++ mp=/
++ add_dependency fs:/ /dev/mapper/vg_dpadcloudqa1-lv_root
++ echo 'fs:/ /dev/mapper/vg_dpadcloudqa1-lv_root'
++ add_component fs:/ fs
++ echo 'todo fs:/ fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' '' '!=' / ']'
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sda1 /boot ext4 uuid=0c0738f7-02ce-4981-a102-215c238c4ccd label= blocksize=1024 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=4095 default_mount_options=user_xattr,acl options=rw'
++ dev=/dev/sda1
+++ cut -d ' ' -f 2
+++ echo '/dev/sda1 /boot ext4 uuid=0c0738f7-02ce-4981-a102-215c238c4ccd label= blocksize=1024 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=4095 default_mount_options=user_xattr,acl options=rw'
++ mp=/boot
++ add_dependency fs:/boot /dev/sda1
++ echo 'fs:/boot /dev/sda1'
++ add_component fs:/boot fs
++ echo 'todo fs:/boot fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' boot '!=' /boot ']'
++ '[' /boot '!=' / ']'
++ add_dependency fs:/boot fs:/
++ echo 'fs:/boot fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vg_dpadcloudqa1-lv_swap uuid=eef6c338-2d64-4bd9-b748-ab862a44cfba label='
++ dev=/dev/mapper/vg_dpadcloudqa1-lv_swap
++ add_dependency swap:/dev/mapper/vg_dpadcloudqa1-lv_swap /dev/mapper/vg_dpadcloudqa1-lv_swap
++ echo 'swap:/dev/mapper/vg_dpadcloudqa1-lv_swap /dev/mapper/vg_dpadcloudqa1-lv_swap'
++ add_component swap:/dev/mapper/vg_dpadcloudqa1-lv_swap swap
++ echo 'todo swap:/dev/mapper/vg_dpadcloudqa1-lv_swap swap'
++ read type remainder
+ test 1
+ set +x
2014-09-19 12:05:31 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
+ test 1
+ set +x
2014-09-19 12:05:31 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 ]]
++ IsInArray /var/lib/rear/layout/diskrestore.sh /var/lib/rear/layout/disklayout.conf
++ local needle=/var/lib/rear/layout/diskrestore.sh
++ shift
++ [[ /var/lib/rear/layout/diskrestore.sh == \/\v\a\r\/\l\i\b\/\r\e\a\r\/\l\a\y\o\u\t\/\d\i\s\k\l\a\y\o\u\t\.\c\o\n\f ]]
++ shift
++ [[ /var/lib/rear/layout/diskrestore.sh == '' ]]
++ shift
++ return 1
++ cp -ar /var/lib/rear/layout/diskrestore.sh /var/lib/rear/layout/diskrestore.sh.20140919.4435.bak
++ BACKUPS_TAKEN=("${BACKUPS_TAKEN[@]}" "$1")
++ 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 /dev/sda for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/sda\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (0): '
++ test ''
++ donedeps=0
++ '[' 0 -eq 0 ']'
++ Debug 'All dependencies for /dev/sda are present, processing...'
++ test ''
++ willdodev=/dev/sda
++ willdotype=disk
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/sda ']'
++ create_device /dev/sda disk
++ local device=/dev/sda
++ local type=disk
++ local name
++ cat
++ echo '# Create /dev/sda (disk)'
++ type -t create_disk
++ create_disk /dev/sda
++ local component disk size label junk
++ read component disk size label junk
+++ grep '^disk /dev/sda ' /var/lib/rear/layout/disklayout.conf
++ [[ -b /dev/sda ]]
++ BugIfError 'Disk /dev/sda is not a block device.'
++ (( 0 != 0 ))
++++ get_sysfs_name /dev/sda
++++ local name=sda
++++ name=sda
++++ [[ -e /sys/block/sda ]]
++++ echo sda
++++ return 0
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=595591168
+++ local disk_size=304942678016
+++ echo 304942678016
++ local disk_size=304942678016
++ [[ -n 304942678016 ]]
++ BugIfError 'Could not determine size of disk /dev/sda, please file a bug.'
++ (( 0 != 0 ))
++ [[ 304942678016 -gt 0 ]]
++ StopIfError 'Disk /dev/sda has size 304942678016, unable to continue.'
++ (( 0 != 0 ))
++ cat
++ create_partitions /dev/sda msdos
++ local device=/dev/sda
++ local label=msdos
++ names=()
++ local -a names
++ local part size pstart name junk
++ read part disk size pstart name junk
+++ grep '^part /dev/sda ' /var/lib/rear/layout/disklayout.conf
++ names=("${names[@]}" $name)
++ case $name in
++ [[ -z 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/sda ]]
+++ get_sysfs_name /dev/sda
+++ local name=sda
+++ name=sda
+++ [[ -e /sys/block/sda ]]
+++ echo sda
+++ return 0
++ sysfs_name=sda
++ [[ -n sda ]]
++ [[ -d /sys/block/sda ]]
+++ get_block_size sda
+++ '[' -r /sys/block/sda/queue/logical_block_size ']'
+++ echo 512
++ block_size=512
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=595591168
+++ local disk_size=304942678016
+++ echo 304942678016
++ device_size=304942678016
++ [[ msdos == \g\p\t ]]
++ local start end start_mb end_mb
++ let start=32768
++ let end=0
++ local flags partition
++ read part disk size pstart name flags partition junk
+++ grep '^part /dev/sda' /var/lib/rear/layout/disklayout.conf
++ '[' -z true ']'
++ end=524320768
++ [[ -n 304942678016 ]]
++ (( end > 304942678016 ))
++ [[ primary = \e\x\t\e\n\d\e\d ]]
+++ sed -e 's/0x20/ /g'
+++ echo primary
++ name=primary
++ [[ -n y ]]
++ [[ -n 524320768 ]]
++ end=524320767B
++ cat
++ start=524320768
+++ awk '{printf "%u", $1+4096-($1%4096);}'
+++ echo 524320768
++ start=524324864
+++ get_partition_number /dev/sda1
+++ local partition=/dev/sda1
++++ grep -o -E '[0-9]+$'
++++ echo /dev/sda1
+++ local number=1
+++ '[' 1 -gt 0 ']'
+++ StopIfError 'Partition number '\''1'\'' of partition /dev/sda1 is not a valid number.'
+++ (( 0 != 0 ))
+++ (( 1 <= 128 ))
+++ StopIfError 'Partition /dev/sda1 is numbered '\''1'\''. More than 128 partitions is not supported.'
+++ (( 0 != 0 ))
+++ echo 1
++ local number=1
+++ tr , ' '
+++ echo boot
++ local flags=boot
++ local flag
++ for flag in '$flags'
++ [[ boot = \n\o\n\e ]]
++ echo 'parted -s /dev/sda set 1 boot on >&2'
++ [[ msdos = \g\p\t ]]
++ read part disk size pstart name flags partition junk
++ '[' -z true ']'
++ end=17178857472
++ [[ -n 304942678016 ]]
++ (( end > 304942678016 ))
++ [[ primary = \e\x\t\e\n\d\e\d ]]
+++ sed -e 's/0x20/ /g'
+++ echo primary
++ name=primary
++ [[ -n y ]]
++ [[ -n 17178857472 ]]
++ end=17178857471B
++ cat
++ start=17178857472
+++ awk '{printf "%u", $1+4096-($1%4096);}'
+++ echo 17178857472
++ start=17178861568
+++ get_partition_number /dev/sda2
+++ local partition=/dev/sda2
++++ grep -o -E '[0-9]+$'
++++ echo /dev/sda2
+++ local number=2
+++ '[' 2 -gt 0 ']'
+++ StopIfError 'Partition number '\''2'\'' of partition /dev/sda2 is not a valid number.'
+++ (( 0 != 0 ))
+++ (( 2 <= 128 ))
+++ StopIfError 'Partition /dev/sda2 is numbered '\''2'\''. More than 128 partitions is not supported.'
+++ (( 0 != 0 ))
+++ echo 2
++ local number=2
+++ tr , ' '
+++ echo lvm
++ local flags=lvm
++ local flag
++ for flag in '$flags'
++ [[ lvm = \n\o\n\e ]]
++ echo 'parted -s /dev/sda set 2 lvm on >&2'
++ [[ msdos = \g\p\t ]]
++ read part disk size pstart name flags partition junk
++ echo 'partprobe -s /dev/sda >&2'
++ cat
++ cat
++ 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
++ '[' -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 /dev/sda1 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/sda1\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/sda'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sda ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/sda1 are present, processing...'
++ test ''
++ willdodev=/dev/sda1
++ willdotype=part
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/sda1 ']'
++ create_device /dev/sda1 part
++ local device=/dev/sda1
++ local type=part
++ local name
++ cat
++ echo '# Create /dev/sda1 (part)'
++ type -t create_part
++ cat
++ mark_as_done /dev/sda1
++ Debug 'Marking /dev/sda1 as done.'
++ test ''
++ sed -i 's;todo\ /dev/sda1\ ;done\ /dev/sda1\ ;' /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 /dev/sda2 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/sda2\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/sda'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sda ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/sda2 are present, processing...'
++ test ''
++ willdodev=/dev/sda2
++ willdotype=part
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/sda2 ']'
++ create_device /dev/sda2 part
++ local device=/dev/sda2
++ local type=part
++ local name
++ cat
++ echo '# Create /dev/sda2 (part)'
++ type -t create_part
++ cat
++ mark_as_done /dev/sda2
++ Debug 'Marking /dev/sda2 as done.'
++ test ''
++ sed -i 's;todo\ /dev/sda2\ ;done\ /dev/sda2\ ;' /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/sda2 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^pv:/dev/sda2\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/sda2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sda2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for pv:/dev/sda2 are present, processing...'
++ test ''
++ willdodev=pv:/dev/sda2
++ willdotype=lvmdev
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n pv:/dev/sda2 ']'
++ create_device pv:/dev/sda2 lvmdev
++ local device=pv:/dev/sda2
++ local type=lvmdev
++ local name
++ cat
++ echo '# Create pv:/dev/sda2 (lvmdev)'
++ type -t create_lvmdev
++ create_lvmdev pv:/dev/sda2
++ local lvmdev vgrp device uuid junk
++ read lvmdev vgrp device uuid junk
+++ grep '^lvmdev.*/dev/sda2' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM PV /dev/sda2"'
++ echo 'lvm vgchange -a n vg_dpadcloudqa1 || true'
++ local uuidopt=
++ local restorefileopt=
++ '[' -z true ']'
++ '[' -n '' ']'
++ '[' -n kfW8hC-cod6-KpJI-KBCR-CB3D-QYgc-Q8vz6L ']'
++ uuidopt=' --uuid "kfW8hC-cod6-KpJI-KBCR-CB3D-QYgc-Q8vz6L"'
++ echo 'lvm pvcreate -ff --yes -v --uuid "kfW8hC-cod6-KpJI-KBCR-CB3D-QYgc-Q8vz6L" /dev/sda2 >&2'
++ cat
++ mark_as_done pv:/dev/sda2
++ Debug 'Marking pv:/dev/sda2 as done.'
++ test ''
++ sed -i 's;todo\ pv:/dev/sda2\ ;done\ pv:/dev/sda2\ ;' /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 /dev/vg_dpadcloudqa1 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/vg_dpadcloudqa1\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): pv:/dev/sda2'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done pv:/dev/sda2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/vg_dpadcloudqa1 are present, processing...'
++ test ''
++ willdodev=/dev/vg_dpadcloudqa1
++ willdotype=lvmgrp
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/vg_dpadcloudqa1 ']'
++ create_device /dev/vg_dpadcloudqa1 lvmgrp
++ local device=/dev/vg_dpadcloudqa1
++ local type=lvmgrp
++ local name
++ cat
++ echo '# Create /dev/vg_dpadcloudqa1 (lvmgrp)'
++ type -t create_lvmgrp
++ create_lvmgrp /dev/vg_dpadcloudqa1
++ '[' -z true ']'
++ local lvmgrp vgrp extentsize junk
++ read lvmgrp vgrp extentsize junk
+++ grep '^lvmgrp /dev/vg_dpadcloudqa1 ' /var/lib/rear/layout/disklayout.conf
++ devices=($(grep "^lvmdev $vgrp" "$LAYOUT_FILE" | cut -d " " -f 3))
+++ cut -d ' ' -f 3
+++ grep '^lvmdev /dev/vg_dpadcloudqa1' /var/lib/rear/layout/disklayout.conf
++ local -a devices
++ cat
++ cat
++ mark_as_done /dev/vg_dpadcloudqa1
++ Debug 'Marking /dev/vg_dpadcloudqa1 as done.'
++ test ''
++ sed -i 's;todo\ /dev/vg_dpadcloudqa1\ ;done\ /dev/vg_dpadcloudqa1\ ;' /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 /dev/mapper/vg_dpadcloudqa1-lv_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vg_dpadcloudqa1-lv_root\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vg_dpadcloudqa1'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_dpadcloudqa1 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vg_dpadcloudqa1-lv_root are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vg_dpadcloudqa1-lv_root
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vg_dpadcloudqa1-lv_root ']'
++ create_device /dev/mapper/vg_dpadcloudqa1-lv_root lvmvol
++ local device=/dev/mapper/vg_dpadcloudqa1-lv_root
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vg_dpadcloudqa1-lv_root (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vg_dpadcloudqa1-lv_root
++ '[' -z true ']'
++ local name vg lv
++ name=vg_dpadcloudqa1-lv_root
+++ sed 's/\([^-]\)-[^-].*/\1/;s/--/-/g'
++ vg=vg_dpadcloudqa1
+++ sed 's/.*[^-]-\([^-]\)/\1/;s/--/-/g'
++ lv=lv_root
++ local lvmvol vgrp lvname nrextents junk
++ read lvmvol vgrp lvname nrextents junk
+++ grep '^lvmvol /dev/vg_dpadcloudqa1 lv_root ' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM volume vg_dpadcloudqa1/lv_root"'
++ echo 'lvm lvcreate -l 2962 -n lv_root vg_dpadcloudqa1 >&2'
++ cat
++ mark_as_done /dev/mapper/vg_dpadcloudqa1-lv_root
++ Debug 'Marking /dev/mapper/vg_dpadcloudqa1-lv_root as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vg_dpadcloudqa1-lv_root\ ;done\ /dev/mapper/vg_dpadcloudqa1-lv_root\ ;' /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 /dev/mapper/vg_dpadcloudqa1-lv_swap for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vg_dpadcloudqa1-lv_swap\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vg_dpadcloudqa1'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_dpadcloudqa1 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vg_dpadcloudqa1-lv_swap are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vg_dpadcloudqa1-lv_swap
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vg_dpadcloudqa1-lv_swap ']'
++ create_device /dev/mapper/vg_dpadcloudqa1-lv_swap lvmvol
++ local device=/dev/mapper/vg_dpadcloudqa1-lv_swap
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vg_dpadcloudqa1-lv_swap (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vg_dpadcloudqa1-lv_swap
++ '[' -z true ']'
++ local name vg lv
++ name=vg_dpadcloudqa1-lv_swap
+++ sed 's/\([^-]\)-[^-].*/\1/;s/--/-/g'
++ vg=vg_dpadcloudqa1
+++ sed 's/.*[^-]-\([^-]\)/\1/;s/--/-/g'
++ lv=lv_swap
++ local lvmvol vgrp lvname nrextents junk
++ read lvmvol vgrp lvname nrextents junk
+++ grep '^lvmvol /dev/vg_dpadcloudqa1 lv_swap ' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM volume vg_dpadcloudqa1/lv_swap"'
++ echo 'lvm lvcreate -l 1008 -n lv_swap vg_dpadcloudqa1 >&2'
++ cat
++ mark_as_done /dev/mapper/vg_dpadcloudqa1-lv_swap
++ Debug 'Marking /dev/mapper/vg_dpadcloudqa1-lv_swap as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vg_dpadcloudqa1-lv_swap\ ;done\ /dev/mapper/vg_dpadcloudqa1-lv_swap\ ;' /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 fs:/ for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^fs:/\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/mapper/vg_dpadcloudqa1-lv_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_dpadcloudqa1-lv_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for fs:/ are present, processing...'
++ test ''
++ willdodev=fs:/
++ willdotype=fs
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n fs:/ ']'
++ create_device fs:/ fs
++ local device=fs:/
++ local type=fs
++ local name
++ cat
++ echo '# Create fs:/ (fs)'
++ type -t create_fs
++ create_fs fs:/
++ local fs device mp fstype uuid label options
++ read fs device mp fstype uuid label options
+++ grep '^fs.* / ' /var/lib/rear/layout/disklayout.conf
++ label=
++ uuid=4deec41e-778d-4d93-9ab5-e0db86ebd7a1
++ case "$fstype" in
++ local blocksize= reserved_blocks= max_mounts= check_interval= default_mount_options=
++ local option name value
++ for option in '$options'
++ name=blocksize
++ value=4096
++ case "$name" in
++ blocksize=' -b 4096'
++ for option in '$options'
++ name=reserved_blocks
++ value=4%
++ case "$name" in
++ [[ 4 == 4% ]]
++ reserved_blocks=' -m 4'
++ for option in '$options'
++ name=max_mounts
++ value=-1
++ case "$name" in
++ max_mounts=' -c -1'
++ for option in '$options'
++ name=check_interval
++ value=0d
++ case "$name" in
++ check_interval=' -i 0d'
++ for option in '$options'
++ name=bytes_per_inode
++ value=16370
++ case "$name" in
++ bytes_per_inode=' -i 16370'
++ for option in '$options'
++ name=default_mount_options
++ value=user_xattr,acl
++ case "$name" in
++ default_mount_options=' -o user_xattr,acl'
++ for option in '$options'
++ name=options
++ value=rw
++ case "$name" in
++ cat
++ local tunefs=tune2fs
++ '[' ext4 = ext4 ']'
++ has_binary tune4fs
++ for bin in '$@'
++ type tune4fs
++ return 1
++ '[' -n '' ']'
++ '[' -n 4deec41e-778d-4d93-9ab5-e0db86ebd7a1 ']'
++ echo 'tune2fs -U 4deec41e-778d-4d93-9ab5-e0db86ebd7a1 /dev/mapper/vg_dpadcloudqa1-lv_root >&2'
++ tune2fsopts=' -m 4 -c -1 -i 0d -o user_xattr,acl'
++ '[' -n ' -m 4 -c -1 -i 0d -o user_xattr,acl' ']'
++ echo 'tune2fs -m 4 -c -1 -i 0d -o user_xattr,acl /dev/mapper/vg_dpadcloudqa1-lv_root >&2'
++ local option mountopts
++ for option in '$options'
++ name=blocksize
++ value=4096
++ case $name in
++ for option in '$options'
++ name=reserved_blocks
++ value=4%
++ case $name in
++ for option in '$options'
++ name=max_mounts
++ value=-1
++ case $name in
++ for option in '$options'
++ name=check_interval
++ value=0d
++ case $name in
++ for option in '$options'
++ name=bytes_per_inode
++ value=16370
++ case $name in
++ for option in '$options'
++ name=default_mount_options
++ value=user_xattr,acl
++ case $name in
++ for option in '$options'
++ name=options
++ value=rw
++ case $name in
++ mountopts=rw
++ '[' -n rw ']'
++ mountopts=' -o rw'
++ echo 'LogPrint "Mounting filesystem /"'
++ case $fstype in
++ echo 'mkdir -p /mnt/local/'
++ echo 'mount -o rw /dev/mapper/vg_dpadcloudqa1-lv_root /mnt/local/'
++ cat
++ mark_as_done fs:/
++ Debug 'Marking fs:/ as done.'
++ test ''
++ sed -i 's;todo\ fs:/\ ;done\ fs:/\ ;' /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 fs:/boot for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^fs:/boot\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (2): /dev/sda1 fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sda1 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ '[' 2 -eq 2 ']'
++ Debug 'All dependencies for fs:/boot are present, processing...'
++ test ''
++ willdodev=fs:/boot
++ willdotype=fs
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n fs:/boot ']'
++ create_device fs:/boot fs
++ local device=fs:/boot
++ local type=fs
++ local name
++ cat
++ echo '# Create fs:/boot (fs)'
++ type -t create_fs
++ create_fs fs:/boot
++ local fs device mp fstype uuid label options
++ read fs device mp fstype uuid label options
+++ grep '^fs.* /boot ' /var/lib/rear/layout/disklayout.conf
++ label=
++ uuid=0c0738f7-02ce-4981-a102-215c238c4ccd
++ case "$fstype" in
++ local blocksize= reserved_blocks= max_mounts= check_interval= default_mount_options=
++ local option name value
++ for option in '$options'
++ name=blocksize
++ value=1024
++ case "$name" in
++ blocksize=' -b 1024'
++ for option in '$options'
++ name=reserved_blocks
++ value=5%
++ case "$name" in
++ [[ 5 == 5% ]]
++ reserved_blocks=' -m 5'
++ for option in '$options'
++ name=max_mounts
++ value=-1
++ case "$name" in
++ max_mounts=' -c -1'
++ for option in '$options'
++ name=check_interval
++ value=0d
++ case "$name" in
++ check_interval=' -i 0d'
++ for option in '$options'
++ name=bytes_per_inode
++ value=4095
++ case "$name" in
++ bytes_per_inode=' -i 4095'
++ for option in '$options'
++ name=default_mount_options
++ value=user_xattr,acl
++ case "$name" in
++ default_mount_options=' -o user_xattr,acl'
++ for option in '$options'
++ name=options
++ value=rw
++ case "$name" in
++ cat
++ local tunefs=tune2fs
++ '[' ext4 = ext4 ']'
++ has_binary tune4fs
++ for bin in '$@'
++ type tune4fs
++ return 1
++ '[' -n '' ']'
++ '[' -n 0c0738f7-02ce-4981-a102-215c238c4ccd ']'
++ echo 'tune2fs -U 0c0738f7-02ce-4981-a102-215c238c4ccd /dev/sda1 >&2'
++ tune2fsopts=' -m 5 -c -1 -i 0d -o user_xattr,acl'
++ '[' -n ' -m 5 -c -1 -i 0d -o user_xattr,acl' ']'
++ echo 'tune2fs -m 5 -c -1 -i 0d -o user_xattr,acl /dev/sda1 >&2'
++ local option mountopts
++ for option in '$options'
++ name=blocksize
++ value=1024
++ case $name in
++ for option in '$options'
++ name=reserved_blocks
++ value=5%
++ case $name in
++ for option in '$options'
++ name=max_mounts
++ value=-1
++ case $name in
++ for option in '$options'
++ name=check_interval
++ value=0d
++ case $name in
++ for option in '$options'
++ name=bytes_per_inode
++ value=4095
++ case $name in
++ for option in '$options'
++ name=default_mount_options
++ value=user_xattr,acl
++ case $name in
++ for option in '$options'
++ name=options
++ value=rw
++ case $name in
++ mountopts=rw
++ '[' -n rw ']'
++ mountopts=' -o rw'
++ echo 'LogPrint "Mounting filesystem /boot"'
++ case $fstype in
++ echo 'mkdir -p /mnt/local/boot'
++ echo 'mount -o rw /dev/sda1 /mnt/local/boot'
++ cat
++ mark_as_done fs:/boot
++ Debug 'Marking fs:/boot as done.'
++ test ''
++ sed -i 's;todo\ fs:/boot\ ;done\ fs:/boot\ ;' /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 swap:/dev/mapper/vg_dpadcloudqa1-lv_swap for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " "$LAYOUT_DEPS" | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^swap:/dev/mapper/vg_dpadcloudqa1-lv_swap\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/mapper/vg_dpadcloudqa1-lv_swap'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_dpadcloudqa1-lv_swap ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps++
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for swap:/dev/mapper/vg_dpadcloudqa1-lv_swap are present, processing...'
++ test ''
++ willdodev=swap:/dev/mapper/vg_dpadcloudqa1-lv_swap
++ willdotype=swap
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n swap:/dev/mapper/vg_dpadcloudqa1-lv_swap ']'
++ create_device swap:/dev/mapper/vg_dpadcloudqa1-lv_swap swap
++ local device=swap:/dev/mapper/vg_dpadcloudqa1-lv_swap
++ local type=swap
++ local name
++ cat
++ echo '# Create swap:/dev/mapper/vg_dpadcloudqa1-lv_swap (swap)'
++ type -t create_swap
++ create_swap swap:/dev/mapper/vg_dpadcloudqa1-lv_swap
++ local swap device uuid label junk
++ read swap device uuid label junk
+++ grep '^swap /dev/mapper/vg_dpadcloudqa1-lv_swap ' /var/lib/rear/layout/disklayout.conf
++ [[ -n y ]]
++ [[ -n eef6c338-2d64-4bd9-b748-ab862a44cfba ]]
++ uuid='-U eef6c338-2d64-4bd9-b748-ab862a44cfba '
++ [[ -n '' ]]
++ label=
++ echo 'LogPrint "Creating swap on /dev/mapper/vg_dpadcloudqa1-lv_swap"'
++ echo 'mkswap -U eef6c338-2d64-4bd9-b748-ab862a44cfba /dev/mapper/vg_dpadcloudqa1-lv_swap >&2'
++ cat
++ mark_as_done swap:/dev/mapper/vg_dpadcloudqa1-lv_swap
++ Debug 'Marking swap:/dev/mapper/vg_dpadcloudqa1-lv_swap as done.'
++ test ''
++ sed -i 's;todo\ swap:/dev/mapper/vg_dpadcloudqa1-lv_swap\ ;done\ swap:/dev/mapper/vg_dpadcloudqa1-lv_swap\ ;' /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
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n '' ']'
++ all_done=y
++ '[' -z y ']'
+ test 1
+ set +x
2014-09-19 12:05:32 Including layout/prepare/default/55_finalize_script.sh
+ . /usr/share/rear/layout/prepare/default/55_finalize_script.sh
++ cat
+ test 1
+ set +x
2014-09-19 12:05:32 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
+ test 1
+ set +x
2014-09-19 12:05:32 Including layout/prepare/default/61_exclude_from_restore.sh
+ . /usr/share/rear/layout/prepare/default/61_exclude_from_restore.sh
++ RESTORE_EXCLUDE_FILE=/tmp/rear.hlagJrkKfZ3o4H9/tmp/restore-exclude-list.txt
++ :
+ test 1
+ set +x
2014-09-19 12:05:32 Finished running 'layout/prepare' stage in 6 seconds
2014-09-19 12:05:32 Running 'layout/recreate' stage
2014-09-19 12:05:32 Including layout/recreate/default/10_ask_confirmation.sh
+ . /usr/share/rear/layout/recreate/default/10_ask_confirmation.sh
++ [[ -z true ]]
++ LogPrint 'Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
++ Log 'Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:32 Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
2014-09-19 12:05:32 Please confirm that '/var/lib/rear/layout/diskrestore.sh' is as you expect.
++ Print 'Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
++ test 1
++ echo -e 'Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
++ Print ''
++ test 1
++ echo -e ''
++ choices=("View restore script (diskrestore.sh)" "Edit restore script (diskrestore.sh)" "View original disk space usage" "Go to Relax-and-Recover shell" "Continue recovery" "Abort Relax-and-Recover")
++ Log 'User selected: 5) Continue recovery'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:34 User selected: 5) Continue recovery'
2014-09-19 12:05:34 User selected: 5) Continue recovery
++ (( REPLY == 6 ))
++ chmod +x /var/lib/rear/layout/diskrestore.sh
+ test 1
+ set +x
2014-09-19 12:05:34 Including layout/recreate/default/20_run_script.sh
+ . /usr/share/rear/layout/recreate/default/20_run_script.sh
++ RESTORE_OK=
++ [[ -z '' ]]
++ . /var/lib/rear/layout/diskrestore.sh
+++ LogPrint 'Start system layout restoration.'
+++ Log 'Start system layout restoration.'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2014-09-19 12:05:34 Start system layout restoration.'
2014-09-19 12:05:34 Start system layout restoration.
+++ Print 'Start system layout restoration.'
+++ test 1
+++ echo -e 'Start system layout restoration.'
+++ mkdir -p /mnt/local
+++ create_component vgchange rear
+++ local device=vgchange
+++ local type=rear
+++ local touchfile=rear-vgchange
+++ '[' -e /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch/rear-vgchange ']'
+++ return 0
+++ lvm vgchange -a n
No volume groups found
+++ component_created vgchange rear
+++ local device=vgchange
+++ local type=rear
+++ local touchfile=rear-vgchange
+++ touch /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch/rear-vgchange
+++ set -e
+++ set -x
+++ create_component /dev/sda disk
+++ local device=/dev/sda
+++ local type=disk
+++ local touchfile=disk--dev-sda
+++ '[' -e /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch/disk--dev-sda ']'
+++ return 0
+++ Log 'Erasing MBR of disk /dev/sda'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2014-09-19 12:05:34 Erasing MBR of disk /dev/sda'
2014-09-19 12:05:34 Erasing MBR of disk /dev/sda
+++ dd if=/dev/zero of=/dev/sda bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.0277993 s, 18.4 kB/s
+++ sync
+++ LogPrint 'Creating partitions for disk /dev/sda (msdos)'
+++ Log 'Creating partitions for disk /dev/sda (msdos)'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2014-09-19 12:05:34 Creating partitions for disk /dev/sda (msdos)'
2014-09-19 12:05:34 Creating partitions for disk /dev/sda (msdos)
+++ Print 'Creating partitions for disk /dev/sda (msdos)'
+++ test 1
+++ echo -e 'Creating partitions for disk /dev/sda (msdos)'
+++ parted -s /dev/sda mklabel msdos
+++ sleep 1
+++ parted -s /dev/sda mkpart '"primary"' 32768B 524320767B
Warning: The resulting partition is not properly aligned for best performance.
+++ sleep 1
+++ parted -s /dev/sda set 1 boot on
+++ parted -s /dev/sda mkpart '"primary"' 524324864B 17178857471B
Warning: The resulting partition is not properly aligned for best performance.
+++ sleep 1
+++ parted -s /dev/sda set 2 lvm on
+++ partprobe -s /dev/sda
/dev/sda: msdos partitions 1 2
+++ sleep 10
+++ my_udevtrigger
+++ has_binary udevadm
+++ for bin in '$@'
+++ type udevadm
+++ return 0
+++ udevadm trigger
+++ my_udevsettle
+++ has_binary udevadm
+++ for bin in '$@'
+++ type udevadm
+++ return 0
+++ udevadm settle
+++ component_created /dev/sda disk
+++ local device=/dev/sda
+++ local type=disk
+++ local touchfile=disk--dev-sda
+++ touch /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch/disk--dev-sda
+++ create_component /dev/sda1 part
+++ local device=/dev/sda1
+++ local type=part
+++ local touchfile=part--dev-sda1
+++ '[' -e /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch/part--dev-sda1 ']'
+++ return 0
+++ component_created /dev/sda1 part
+++ local device=/dev/sda1
+++ local type=part
+++ local touchfile=part--dev-sda1
+++ touch /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch/part--dev-sda1
+++ create_component /dev/sda2 part
+++ local device=/dev/sda2
+++ local type=part
+++ local touchfile=part--dev-sda2
+++ '[' -e /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch/part--dev-sda2 ']'
+++ return 0
+++ component_created /dev/sda2 part
+++ local device=/dev/sda2
+++ local type=part
+++ local touchfile=part--dev-sda2
+++ touch /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch/part--dev-sda2
+++ create_component pv:/dev/sda2 lvmdev
+++ local device=pv:/dev/sda2
+++ local type=lvmdev
+++ local touchfile=lvmdev-pv:-dev-sda2
+++ '[' -e /tmp/rear.hlagJrkKfZ3o4H9/tmp/touch/lvmdev-pv:-dev-sda2 ']'
+++ return 0
+++ LogPrint 'Creating LVM PV /dev/sda2'
+++ Log 'Creating LVM PV /dev/sda2'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2014-09-19 12:05:49 Creating LVM PV /dev/sda2'
2014-09-19 12:05:49 Creating LVM PV /dev/sda2
+++ Print 'Creating LVM PV /dev/sda2'
+++ test 1
+++ echo -e 'Creating LVM PV /dev/sda2'
+++ lvm vgchange -a n vg_dpadcloudqa1
Volume group "vg_dpadcloudqa1" not found
+++ true
+++ lvm pvcreate -ff --yes -v --uuid kfW8hC-cod6-KpJI-KBCR-CB3D-QYgc-Q8vz6L /dev/sda2
--restorefile is required with --uuid
Run `pvcreate --help' for more information.
++ (( 1 == 0 ))
++ LogPrint 'An error occurred during layout recreation.'
++ Log 'An error occurred during layout recreation.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:49 An error occurred during layout recreation.'
2014-09-19 12:05:49 An error occurred during layout recreation.
++ Print 'An error occurred during layout recreation.'
++ test 1
++ echo -e 'An error occurred during layout recreation.'
++ Print ''
++ test 1
++ echo -e ''
++ choices=("View Relax-and-Recover log" "View original disk space usage" "Go to Relax-and-Recover shell" "Edit restore script (diskrestore.sh)" "Continue restore script" "Abort Relax-and-Recover")
+++ stat --format=%Y /var/lib/rear/layout/diskrestore.sh
++ timestamp=1411108532
++ Log 'User selected: 6) Abort Relax-and-Recover'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:52 User selected: 6) Abort Relax-and-Recover'
2014-09-19 12:05:52 User selected: 6) Abort Relax-and-Recover
++ (( REPLY == 6 ))
++ abort_recreate
++ Log 'Error detected during restore.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:52 Error detected during restore.'
2014-09-19 12:05:52 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 '2014-09-19 12:05:52 Restoring backup of /var/lib/rear/layout/disklayout.conf'
2014-09-19 12:05:52 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.20140919.4435.bak /var/lib/rear/layout/disklayout.conf
++ Error 'There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.'
++ '[' There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details. -eq There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details. ']'
++ EXIT_CODE=1
++ VERBOSE=1
++ LogPrint 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.'
++ Log 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2014-09-19 12:05:52 ERROR: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.'
2014-09-19 12:05:52 ERROR: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.
++ Print 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.'
++ test 1
++ echo -e 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.'
++ has_binary caller
++ for bin in '$@'
++ type caller
++ return 0
++ echo '=== Stack trace ==='
=== Stack trace ===
++ local c=0
++ awk '
{ l[NR]=$3":"$1" "$2 }
END { for (i=NR; i>0;) print "Trace "NR-i": "l[i--] }
'
++ caller 0
++ :
++ caller 1
++ :
++ caller 2
++ :
++ caller 3
++ :
++ caller 4
++ :
++ caller 5
Trace 0: /bin/rear:249 main
Trace 1: /usr/share/rear/lib/recover-workflow.sh:30 WORKFLOW_recover
Trace 2: /usr/share/rear/lib/framework-functions.sh:81 SourceStage
Trace 3: /usr/share/rear/lib/framework-functions.sh:42 Source
Trace 4: /usr/share/rear/layout/recreate/default/20_run_script.sh:63 source
++ echo 'Message: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.'
Message: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.
++ echo ===================
===================
++ LogToSyslog 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.'
++ logger -t rear -i 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-RHEl6.log for details.'
++ kill -USR1 4435
+++ echo 'Aborting due to an error, check /var/log/rear/rear-RHEl6.log for details'
+++ kill 4435
+++ DoExitTasks
+++ Log 'Running exit tasks.'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2014-09-19 12:05:52 Running exit tasks.'
2014-09-19 12:05:52 Running exit tasks.
+++ JOBS=($(jobs -p))
++++ jobs -p
+++ test ''
+++ 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 27 seconds'
++++ test 1 -gt 0
+++++ Stamp
+++++ date '+%Y-%m-%d %H:%M:%S '
++++ echo '2014-09-19 12:05:52 Finished in 27 seconds'
2014-09-19 12:05:52 Finished in 27 seconds
++++ test ''
++++ Log 'Removing build area /tmp/rear.hlagJrkKfZ3o4H9'
++++ test 1 -gt 0
+++++ Stamp
+++++ date '+%Y-%m-%d %H:%M:%S '
++++ echo '2014-09-19 12:05:52 Removing build area /tmp/rear.hlagJrkKfZ3o4H9'
2014-09-19 12:05:52 Removing build area /tmp/rear.hlagJrkKfZ3o4H9
++++ rm -Rf /tmp/rear.hlagJrkKfZ3o4H9/tmp
++++ rm -Rf /tmp/rear.hlagJrkKfZ3o4H9/rootfs
++++ rm -Rf /tmp/rear.hlagJrkKfZ3o4H9/outputfs
++++ rmdir -v /tmp/rear.hlagJrkKfZ3o4H9
rmdir: removing directory, `/tmp/rear.hlagJrkKfZ3o4H9'
++++ Log 'End of program reached'
++++ test 1 -gt 0
+++++ Stamp
+++++ date '+%Y-%m-%d %H:%M:%S '
++++ echo '2014-09-19 12:05:52 End of program reached'
2014-09-19 12:05:52 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