Skip to content

Instantly share code, notes, and snippets.

@Florent38
Created November 25, 2013 12:10
Show Gist options
  • Save Florent38/7640386 to your computer and use it in GitHub Desktop.
Save Florent38/7640386 to your computer and use it in GitHub Desktop.
2013-11-25 09:08:32 Relax-and-Recover 1.15-git201311181354 / 2013-11-18
2013-11-25 09:08:32 Command line options: /bin/rear recover -vD
2013-11-25 09:08:32 Using log file: /var/log/rear/rear-virtualbox.log
2013-11-25 09:08:32 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
2013-11-25 09:08:32 Including conf/Linux-i386.conf
+ . /usr/share/rear/conf/Linux-i386.conf
++ REQUIRED_PROGS=("${REQUIRED_PROGS[@]}" parted sfdisk)
++ PROGS=("${PROGS[@]}" grub partprobe lilo fdisk cfdisk)
+ test 1
+ set +x
2013-11-25 09:08:32 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 df chmod chown stat mkswap swapon swapoff mknod touch scsi_id lsscsi logd initctl lspci usleep mktemp /bin/true strace which mkfifo seq openvt poweroff chacl getfacl setfacl attr getfattr setfattr mpath_wait strings xargs)
++ LIBS=(${LIBS[@]} /lib*/libnss_dns* /lib*/libnss_files* /lib/*/libnss_dns* /lib/*/libnss_files* /lib*/libgcc_s* /lib*/libresolv* /usr/lib*/rsyslog/*so /lib*/rsyslog/*so /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)
+ test 1
+ set +x
2013-11-25 09:08:32 Including /etc/rear/local.conf
+ . /etc/rear/local.conf
++ OUTPUT=ISO
++ BACKUP=NETFS
++ OUTPUT_URL=file:///tmp
++ BACKUP_URL=iso://backups
+ test 1
+ set +x
2013-11-25 09:08:32 Including /etc/rear/rescue.conf
+ . /etc/rear/rescue.conf
++ USE_DHCLIENT=
++ DHCLIENT_BIN=dhclient
++ DHCLIENT6_BIN=
++ NETFS_KEEP_OLD_BACKUP_COPY=
++ NETFS_PREFIX=virtualbox
+ test 1
+ set +x
2013-11-25 09:08:32 Using build area '/tmp/rear.hhmdbEwqJeVSoRb'
mkdir: created directory `/tmp/rear.hhmdbEwqJeVSoRb/rootfs'
mkdir: created directory `/tmp/rear.hhmdbEwqJeVSoRb/tmp'
2013-11-25 09:08:32 Running recover workflow
2013-11-25 09:08:32 Running 'setup' stage
2013-11-25 09:08:32 Including setup/default/01_pre_recovery_script.sh
+ . /usr/share/rear/setup/default/01_pre_recovery_script.sh
++ test ''
+ test 1
+ set +x
2013-11-25 09:08:32 Finished running 'setup' stage in 0 seconds
2013-11-25 09:08:32 Running 'verify' stage
2013-11-25 09:08:32 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
2013-11-25 09:08:32 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 file:///tmp ]]
++ [[ -z file:///tmp ]]
++ [[ -z '' ]]
++ [[ -z file:///tmp ]]
++ [[ -z '' ]]
++ [[ -z file:///tmp ]]
+ test 1
+ set +x
2013-11-25 09:08:32 Including verify/default/03_translate_tape.sh
+ . /usr/share/rear/verify/default/03_translate_tape.sh
++ [[ -n iso://backups ]]
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ backup_scheme=iso
++ [[ iso == @(tape|obdr) ]]
++ [[ -z iso://backups ]]
++ [[ -z file:///tmp ]]
++ [[ -n '' ]]
+ test 1
+ set +x
2013-11-25 09:08:32 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
2013-11-25 09:08:32 Including verify/NETFS/default/05_check_NETFS_requirements.sh
+ . /usr/share/rear/verify/NETFS/default/05_check_NETFS_requirements.sh
++ [[ -n iso://backups ]]
++ StopIfError 'You must specify either BACKUP_URL or BACKUP_MOUNTCMD and BACKUP_UMOUNTCMD !'
++ (( 0 != 0 ))
++ [[ -n iso://backups ]]
+++ url_host iso://backups
+++ local url=iso://backups
+++ local host=backups
+++ echo backups
++ local host=backups
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ local scheme=iso
+++ url_path iso://backups
+++ local url=iso://backups
+++ local path=backups
+++ echo /backups
++ local path=/backups
++ case $scheme in
++ [[ -n '' ]]
++ Log 'Skipping ping test'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Skipping ping test'
2013-11-25 09:08:32 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 iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
+++ test ''
+++ test ''
++ [[ iso = \s\s\h\f\s ]]
++ MODULES=("${MODULES[@]}" $(url_scheme $BACKUP_URL))
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
+ test 1
+ set +x
2013-11-25 09:08:32 Including verify/GNU/Linux/05_sane_recovery_check.sh
+ . /usr/share/rear/verify/GNU/Linux/05_sane_recovery_check.sh
++ '[' -s /etc/scripts/system-setup ']'
++ StopIfError 'This it not a Relax-and-Recover rescue system.'
++ (( 0 != 0 ))
+ test 1
+ set +x
2013-11-25 09:08:32 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.hhmdbEwqJeVSoRb/outputfs
mkdir: created directory `/tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ StopIfError 'Could not mkdir '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
++ (( 0 != 0 ))
++ AddExitTask 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'
++ EXIT_TASKS=("$*" "${EXIT_TASKS[@]}")
++ Debug 'Added '\''rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'\'' as an exit task'
++ test ''
++ [[ -n '' ]]
++ mount_url iso://backups /tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ local url=iso://backups
++ local mountpoint=/tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ local defaultoptions=rw,noatime
++ local options=rw,noatime
++ local mount_cmd
++ case $(url_scheme $url) in
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ [[ recover = \r\e\c\o\v\e\r ]]
++ mount_cmd='mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ Log 'Mounting with '\''mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Mounting with '\''mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
2013-11-25 09:08:32 Mounting with 'mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs
mount: block device /dev/sr0 is write-protected, mounting read-only
++ StopIfError 'Mount command '\''mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' failed.'
++ (( 0 != 0 ))
++ AddExitTask 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ EXIT_TASKS=("$*" "${EXIT_TASKS[@]}")
++ Debug 'Added '\''umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'\'' as an exit task'
++ test ''
++ return 0
+ test 1
+ set +x
2013-11-25 09:08:32 Including verify/NETFS/default/07_set_backup_archive.sh
+ . /usr/share/rear/verify/NETFS/default/07_set_backup_archive.sh
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ local scheme=iso
++ case "$TAPE_DEVICE:$scheme" in
+++ url_path iso://backups
+++ local url=iso://backups
+++ local path=backups
+++ echo /backups
++ local path=/backups
+++ backup_path iso /backups
+++ local scheme=iso
+++ local path=/backups
+++ case $scheme in
+++ [[ recover = \r\e\c\o\v\e\r ]]
+++ path=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
+++ echo /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
++ local opath=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
++ backuparchive=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz
+ test 1
+ set +x
2013-11-25 09:08:32 Including verify/NETFS/default/08_start_required_daemons.sh
+ . /usr/share/rear/verify/NETFS/default/08_start_required_daemons.sh
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ local scheme=iso
++ case "$scheme" in
+ test 1
+ set +x
2013-11-25 09:08:32 Including verify/NETFS/default/09_set_readonly_options.sh
+ . /usr/share/rear/verify/NETFS/default/09_set_readonly_options.sh
++ BACKUP_OPTIONS=ro
+ test 1
+ set +x
2013-11-25 09:08:32 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-358.el6.x86_64/kernel/drivers/block /lib/modules/2.6.32-358.el6.x86_64/kernel/drivers/firewire /lib/modules/2.6.32-358.el6.x86_64/kernel/drivers/ide /lib/modules/2.6.32-358.el6.x86_64/kernel/drivers/ata /lib/modules/2.6.32-358.el6.x86_64/kernel/drivers/md /lib/modules/2.6.32-358.el6.x86_64/kernel/drivers/message /lib/modules/2.6.32-358.el6.x86_64/kernel/drivers/scsi /lib/modules/2.6.32-358.el6.x86_64/kernel/drivers/usb/storage -type f -name '*.ko*' -printf '%f\n'
find: `/lib/modules/2.6.32-358.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-358.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-358.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-358.el6.x86_64/kernel/drivers/virtio /lib/modules/2.6.32-358.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-358.el6.x86_64/extra /lib/modules/2.6.32-358.el6.x86_64/weak-updates -type f -name '*.ko*' -printf '%f\n'
find: `/lib/modules/2.6.32-358.el6.x86_64/extra': No such file or directory
find: `/lib/modules/2.6.32-358.el6.x86_64/weak-updates': No such file or directory
+ test 1
+ set +x
2013-11-25 09:08:32 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.hhmdbEwqJeVSoRb/tmp/dev
++ '[' sx8 ']'
++ StopIfError 'FindStorageDrivers called but STORAGE_DRIVERS is empty'
++ (( 0 != 0 ))
++ sort -u
++ grep -v -E '(loop)'
++ read module junk
+++ lsmod
++ IsInArray Module sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=Module
++ shift
++ [[ Module == \s\x\8 ]]
++ shift
++ [[ Module == \a\o\e ]]
++ shift
++ [[ Module == \o\s\d\b\l\k ]]
++ shift
++ [[ Module == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ Module == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ Module == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ Module == \p\k\t\c\d\v\d ]]
++ shift
++ [[ Module == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ Module == \c\c\i\s\s ]]
++ shift
++ [[ Module == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ Module == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ Module == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ Module == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ Module == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ Module == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ Module == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ Module == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ Module == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ Module == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ Module == \s\a\t\a\_\n\v ]]
++ shift
++ [[ Module == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ Module == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ Module == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ Module == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ Module == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ Module == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ Module == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ Module == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ Module == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ Module == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ Module == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ Module == \a\h\c\i ]]
++ shift
++ [[ Module == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ Module == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ Module == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ Module == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ Module == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ Module == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ Module == \s\a\t\a\_\m\v ]]
++ shift
++ [[ Module == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ Module == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ Module == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ Module == \d\m\-\r\a\i\d ]]
++ shift
++ [[ Module == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ Module == \f\a\u\l\t\y ]]
++ shift
++ [[ Module == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ Module == \d\m\-\z\e\r\o ]]
++ shift
++ [[ Module == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ Module == \d\m\-\m\o\d ]]
++ shift
++ [[ Module == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ Module == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ Module == \r\a\i\d\0 ]]
++ shift
++ [[ Module == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ Module == \d\m\-\l\o\g ]]
++ shift
++ [[ Module == \l\i\n\e\a\r ]]
++ shift
++ [[ Module == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ Module == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ Module == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ Module == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ Module == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ Module == \r\a\i\d\1 ]]
++ shift
++ [[ Module == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ Module == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ Module == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ Module == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ Module == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ Module == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ Module == \r\a\i\d\1\0 ]]
++ shift
++ [[ Module == \m\p\t\f\c ]]
++ shift
++ [[ Module == \m\p\t\s\p\i ]]
++ shift
++ [[ Module == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ Module == \m\p\t\s\a\s ]]
++ shift
++ [[ Module == \m\p\t\c\t\l ]]
++ shift
++ [[ Module == \m\p\t\b\a\s\e ]]
++ shift
++ [[ Module == \m\p\t\l\a\n ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ Module == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ Module == \a\a\c\r\a\i\d ]]
++ shift
++ [[ Module == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ Module == \c\h ]]
++ shift
++ [[ Module == \b\f\a ]]
++ shift
++ [[ Module == \b\n\x\2\i ]]
++ shift
++ [[ Module == \l\i\b\f\c ]]
++ shift
++ [[ Module == \s\r\_\m\o\d ]]
++ shift
++ [[ Module == \l\i\b\s\a\s ]]
++ shift
++ [[ Module == \p\m\c\r\a\i\d ]]
++ shift
++ [[ Module == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ Module == \s\g ]]
++ shift
++ [[ Module == \i\m\m ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ Module == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ Module == \l\i\b\o\s\d ]]
++ shift
++ [[ Module == \o\s\d ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ Module == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ Module == \a\i\c\7\9\x\x ]]
++ shift
++ [[ Module == \a\i\c\7\x\x\x ]]
++ shift
++ [[ Module == \f\c\o\e ]]
++ shift
++ [[ Module == \l\i\b\f\c\o\e ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ Module == \p\p\a ]]
++ shift
++ [[ Module == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ Module == \s\t\e\x ]]
++ shift
++ [[ Module == \s\e\s ]]
++ shift
++ [[ Module == \i\p\s ]]
++ shift
++ [[ Module == \a\r\c\m\s\r ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ Module == \3\w\-\x\x\x\x ]]
++ shift
++ [[ Module == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ Module == \m\v\s\a\s ]]
++ shift
++ [[ Module == \c\x\g\b\4\i ]]
++ shift
++ [[ Module == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ Module == \c\x\g\b\3\i ]]
++ shift
++ [[ Module == \3\w\-\9\x\x\x ]]
++ shift
++ [[ Module == \h\p\t\i\o\p ]]
++ shift
++ [[ Module == \l\i\b\s\r\p ]]
++ shift
++ [[ Module == \s\t ]]
++ shift
++ [[ Module == \q\l\a\2\x\x\x ]]
++ shift
++ [[ Module == \s\d\_\m\o\d ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ Module == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ Module == \l\p\f\c ]]
++ shift
++ [[ Module == \i\s\c\i ]]
++ shift
++ [[ Module == \3\w\-\s\a\s ]]
++ shift
++ [[ Module == \i\n\i\t\i\o ]]
++ shift
++ [[ Module == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ Module == \o\s\s\t ]]
++ shift
++ [[ Module == \a\i\c\9\4\x\x ]]
++ shift
++ [[ Module == \b\n\x\2\f\c ]]
++ shift
++ [[ Module == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ Module == \q\l\a\4\x\x\x ]]
++ shift
++ [[ Module == \m\p\t\2\s\a\s ]]
++ shift
++ [[ Module == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ Module == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ Module == \f\n\i\c ]]
++ shift
++ [[ Module == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ Module == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ Module == \h\p\s\a ]]
++ shift
++ [[ Module == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ Module == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ Module == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ Module == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ Module == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ Module == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ Module == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ Module == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ Module == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ Module == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ Module == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ Module == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ Module == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray nls_utf8 sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=nls_utf8
++ shift
++ [[ nls_utf8 == \s\x\8 ]]
++ shift
++ [[ nls_utf8 == \a\o\e ]]
++ shift
++ [[ nls_utf8 == \o\s\d\b\l\k ]]
++ shift
++ [[ nls_utf8 == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ nls_utf8 == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ nls_utf8 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ nls_utf8 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ nls_utf8 == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ nls_utf8 == \c\c\i\s\s ]]
++ shift
++ [[ nls_utf8 == \f\l\o\p\p\y ]]
++ shift
++ [[ nls_utf8 == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ nls_utf8 == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ nls_utf8 == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ nls_utf8 == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ nls_utf8 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ nls_utf8 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ nls_utf8 == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ nls_utf8 == \a\h\c\i ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ nls_utf8 == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ nls_utf8 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ nls_utf8 == \d\m\-\r\a\i\d ]]
++ shift
++ [[ nls_utf8 == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ nls_utf8 == \f\a\u\l\t\y ]]
++ shift
++ [[ nls_utf8 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ nls_utf8 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ nls_utf8 == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ nls_utf8 == \d\m\-\m\o\d ]]
++ shift
++ [[ nls_utf8 == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ nls_utf8 == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ nls_utf8 == \r\a\i\d\0 ]]
++ shift
++ [[ nls_utf8 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ nls_utf8 == \d\m\-\l\o\g ]]
++ shift
++ [[ nls_utf8 == \l\i\n\e\a\r ]]
++ shift
++ [[ nls_utf8 == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ nls_utf8 == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ nls_utf8 == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ nls_utf8 == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ nls_utf8 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ nls_utf8 == \r\a\i\d\1 ]]
++ shift
++ [[ nls_utf8 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ nls_utf8 == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ nls_utf8 == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ nls_utf8 == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ nls_utf8 == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ nls_utf8 == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ nls_utf8 == \r\a\i\d\1\0 ]]
++ shift
++ [[ nls_utf8 == \m\p\t\f\c ]]
++ shift
++ [[ nls_utf8 == \m\p\t\s\p\i ]]
++ shift
++ [[ nls_utf8 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ nls_utf8 == \m\p\t\s\a\s ]]
++ shift
++ [[ nls_utf8 == \m\p\t\c\t\l ]]
++ shift
++ [[ nls_utf8 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ nls_utf8 == \m\p\t\l\a\n ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ nls_utf8 == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ nls_utf8 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ nls_utf8 == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ nls_utf8 == \c\h ]]
++ shift
++ [[ nls_utf8 == \b\f\a ]]
++ shift
++ [[ nls_utf8 == \b\n\x\2\i ]]
++ shift
++ [[ nls_utf8 == \l\i\b\f\c ]]
++ shift
++ [[ nls_utf8 == \s\r\_\m\o\d ]]
++ shift
++ [[ nls_utf8 == \l\i\b\s\a\s ]]
++ shift
++ [[ nls_utf8 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ nls_utf8 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ nls_utf8 == \s\g ]]
++ shift
++ [[ nls_utf8 == \i\m\m ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ nls_utf8 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ nls_utf8 == \l\i\b\o\s\d ]]
++ shift
++ [[ nls_utf8 == \o\s\d ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ nls_utf8 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nls_utf8 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ nls_utf8 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ nls_utf8 == \f\c\o\e ]]
++ shift
++ [[ nls_utf8 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ nls_utf8 == \p\p\a ]]
++ shift
++ [[ nls_utf8 == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ nls_utf8 == \s\t\e\x ]]
++ shift
++ [[ nls_utf8 == \s\e\s ]]
++ shift
++ [[ nls_utf8 == \i\p\s ]]
++ shift
++ [[ nls_utf8 == \a\r\c\m\s\r ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ nls_utf8 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ nls_utf8 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ nls_utf8 == \m\v\s\a\s ]]
++ shift
++ [[ nls_utf8 == \c\x\g\b\4\i ]]
++ shift
++ [[ nls_utf8 == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ nls_utf8 == \c\x\g\b\3\i ]]
++ shift
++ [[ nls_utf8 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ nls_utf8 == \h\p\t\i\o\p ]]
++ shift
++ [[ nls_utf8 == \l\i\b\s\r\p ]]
++ shift
++ [[ nls_utf8 == \s\t ]]
++ shift
++ [[ nls_utf8 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ nls_utf8 == \s\d\_\m\o\d ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ nls_utf8 == \l\p\f\c ]]
++ shift
++ [[ nls_utf8 == \i\s\c\i ]]
++ shift
++ [[ nls_utf8 == \3\w\-\s\a\s ]]
++ shift
++ [[ nls_utf8 == \i\n\i\t\i\o ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ nls_utf8 == \o\s\s\t ]]
++ shift
++ [[ nls_utf8 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ nls_utf8 == \b\n\x\2\f\c ]]
++ shift
++ [[ nls_utf8 == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ nls_utf8 == \q\l\a\4\x\x\x ]]
++ shift
++ [[ nls_utf8 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ nls_utf8 == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ nls_utf8 == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ nls_utf8 == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ nls_utf8 == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ nls_utf8 == \f\n\i\c ]]
++ shift
++ [[ nls_utf8 == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ nls_utf8 == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ nls_utf8 == \h\p\s\a ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ nls_utf8 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ nls_utf8 == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ nls_utf8 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ipv6 sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=ipv6
++ shift
++ [[ ipv6 == \s\x\8 ]]
++ shift
++ [[ ipv6 == \a\o\e ]]
++ shift
++ [[ ipv6 == \o\s\d\b\l\k ]]
++ shift
++ [[ ipv6 == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ipv6 == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ ipv6 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ipv6 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ipv6 == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ipv6 == \c\c\i\s\s ]]
++ shift
++ [[ ipv6 == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ ipv6 == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ipv6 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ipv6 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ipv6 == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ipv6 == \a\h\c\i ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ ipv6 == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ ipv6 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ipv6 == \d\m\-\r\a\i\d ]]
++ shift
++ [[ ipv6 == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ ipv6 == \f\a\u\l\t\y ]]
++ shift
++ [[ ipv6 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ipv6 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ ipv6 == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ ipv6 == \d\m\-\m\o\d ]]
++ shift
++ [[ ipv6 == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ ipv6 == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ ipv6 == \r\a\i\d\0 ]]
++ shift
++ [[ ipv6 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ ipv6 == \d\m\-\l\o\g ]]
++ shift
++ [[ ipv6 == \l\i\n\e\a\r ]]
++ shift
++ [[ ipv6 == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ ipv6 == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ ipv6 == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ ipv6 == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ ipv6 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ ipv6 == \r\a\i\d\1 ]]
++ shift
++ [[ ipv6 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ ipv6 == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ ipv6 == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ ipv6 == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ ipv6 == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ ipv6 == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ ipv6 == \r\a\i\d\1\0 ]]
++ shift
++ [[ ipv6 == \m\p\t\f\c ]]
++ shift
++ [[ ipv6 == \m\p\t\s\p\i ]]
++ shift
++ [[ ipv6 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ ipv6 == \m\p\t\s\a\s ]]
++ shift
++ [[ ipv6 == \m\p\t\c\t\l ]]
++ shift
++ [[ ipv6 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ ipv6 == \m\p\t\l\a\n ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ ipv6 == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ ipv6 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ ipv6 == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ ipv6 == \c\h ]]
++ shift
++ [[ ipv6 == \b\f\a ]]
++ shift
++ [[ ipv6 == \b\n\x\2\i ]]
++ shift
++ [[ ipv6 == \l\i\b\f\c ]]
++ shift
++ [[ ipv6 == \s\r\_\m\o\d ]]
++ shift
++ [[ ipv6 == \l\i\b\s\a\s ]]
++ shift
++ [[ ipv6 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ ipv6 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ ipv6 == \s\g ]]
++ shift
++ [[ ipv6 == \i\m\m ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ ipv6 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ ipv6 == \l\i\b\o\s\d ]]
++ shift
++ [[ ipv6 == \o\s\d ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ ipv6 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ipv6 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ ipv6 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ ipv6 == \f\c\o\e ]]
++ shift
++ [[ ipv6 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ ipv6 == \p\p\a ]]
++ shift
++ [[ ipv6 == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ ipv6 == \s\t\e\x ]]
++ shift
++ [[ ipv6 == \s\e\s ]]
++ shift
++ [[ ipv6 == \i\p\s ]]
++ shift
++ [[ ipv6 == \a\r\c\m\s\r ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ ipv6 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ ipv6 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ipv6 == \m\v\s\a\s ]]
++ shift
++ [[ ipv6 == \c\x\g\b\4\i ]]
++ shift
++ [[ ipv6 == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ ipv6 == \c\x\g\b\3\i ]]
++ shift
++ [[ ipv6 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ ipv6 == \h\p\t\i\o\p ]]
++ shift
++ [[ ipv6 == \l\i\b\s\r\p ]]
++ shift
++ [[ ipv6 == \s\t ]]
++ shift
++ [[ ipv6 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ ipv6 == \s\d\_\m\o\d ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ ipv6 == \l\p\f\c ]]
++ shift
++ [[ ipv6 == \i\s\c\i ]]
++ shift
++ [[ ipv6 == \3\w\-\s\a\s ]]
++ shift
++ [[ ipv6 == \i\n\i\t\i\o ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ ipv6 == \o\s\s\t ]]
++ shift
++ [[ ipv6 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ ipv6 == \b\n\x\2\f\c ]]
++ shift
++ [[ ipv6 == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ ipv6 == \q\l\a\4\x\x\x ]]
++ shift
++ [[ ipv6 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ ipv6 == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ ipv6 == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ ipv6 == \f\n\i\c ]]
++ shift
++ [[ ipv6 == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ ipv6 == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ ipv6 == \h\p\s\a ]]
++ shift
++ [[ ipv6 == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ ipv6 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ ipv6 == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ ipv6 == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ ipv6 == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ ipv6 == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ ipv6 == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ ipv6 == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ ipv6 == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ ipv6 == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ ipv6 == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ ipv6 == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ ipv6 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray dm_mod sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=dm_mod
++ shift
++ [[ dm_mod == \s\x\8 ]]
++ shift
++ [[ dm_mod == \a\o\e ]]
++ shift
++ [[ dm_mod == \o\s\d\b\l\k ]]
++ shift
++ [[ dm_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ dm_mod == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ dm_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ dm_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ dm_mod == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ dm_mod == \c\c\i\s\s ]]
++ shift
++ [[ dm_mod == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ dm_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ dm_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ dm_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ dm_mod == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ dm_mod == \a\h\c\i ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\l\i ]]
++ 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\_\a\t\i\i\x\p ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ dm_mod == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ dm_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ dm_mod == \d\m\-\r\a\i\d ]]
++ shift
++ [[ dm_mod == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ dm_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ dm_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ dm_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ dm_mod == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ dm_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ dm_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ dm_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ dm_mod == \r\a\i\d\0 ]]
++ shift
++ [[ dm_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ dm_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ dm_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ dm_mod == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ dm_mod == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ dm_mod == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ dm_mod == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ dm_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ dm_mod == \r\a\i\d\1 ]]
++ shift
++ [[ dm_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ dm_mod == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ dm_mod == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ dm_mod == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ dm_mod == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ dm_mod == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ dm_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ dm_mod == \m\p\t\f\c ]]
++ shift
++ [[ dm_mod == \m\p\t\s\p\i ]]
++ shift
++ [[ dm_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ dm_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ dm_mod == \m\p\t\c\t\l ]]
++ shift
++ [[ dm_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ dm_mod == \m\p\t\l\a\n ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ dm_mod == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ dm_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ dm_mod == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ dm_mod == \c\h ]]
++ shift
++ [[ dm_mod == \b\f\a ]]
++ shift
++ [[ dm_mod == \b\n\x\2\i ]]
++ shift
++ [[ dm_mod == \l\i\b\f\c ]]
++ shift
++ [[ dm_mod == \s\r\_\m\o\d ]]
++ shift
++ [[ dm_mod == \l\i\b\s\a\s ]]
++ shift
++ [[ dm_mod == \p\m\c\r\a\i\d ]]
++ shift
++ [[ dm_mod == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ dm_mod == \s\g ]]
++ shift
++ [[ dm_mod == \i\m\m ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ dm_mod == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ dm_mod == \l\i\b\o\s\d ]]
++ shift
++ [[ dm_mod == \o\s\d ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ dm_mod == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ dm_mod == \a\i\c\7\9\x\x ]]
++ shift
++ [[ dm_mod == \a\i\c\7\x\x\x ]]
++ shift
++ [[ dm_mod == \f\c\o\e ]]
++ shift
++ [[ dm_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ dm_mod == \p\p\a ]]
++ shift
++ [[ dm_mod == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ dm_mod == \s\t\e\x ]]
++ shift
++ [[ dm_mod == \s\e\s ]]
++ shift
++ [[ dm_mod == \i\p\s ]]
++ shift
++ [[ dm_mod == \a\r\c\m\s\r ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ dm_mod == \3\w\-\x\x\x\x ]]
++ shift
++ [[ dm_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ dm_mod == \m\v\s\a\s ]]
++ shift
++ [[ dm_mod == \c\x\g\b\4\i ]]
++ shift
++ [[ dm_mod == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ dm_mod == \c\x\g\b\3\i ]]
++ shift
++ [[ dm_mod == \3\w\-\9\x\x\x ]]
++ shift
++ [[ dm_mod == \h\p\t\i\o\p ]]
++ shift
++ [[ dm_mod == \l\i\b\s\r\p ]]
++ shift
++ [[ dm_mod == \s\t ]]
++ shift
++ [[ dm_mod == \q\l\a\2\x\x\x ]]
++ shift
++ [[ dm_mod == \s\d\_\m\o\d ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ dm_mod == \l\p\f\c ]]
++ shift
++ [[ dm_mod == \i\s\c\i ]]
++ shift
++ [[ dm_mod == \3\w\-\s\a\s ]]
++ shift
++ [[ dm_mod == \i\n\i\t\i\o ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ dm_mod == \o\s\s\t ]]
++ shift
++ [[ dm_mod == \a\i\c\9\4\x\x ]]
++ shift
++ [[ dm_mod == \b\n\x\2\f\c ]]
++ shift
++ [[ dm_mod == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ dm_mod == \q\l\a\4\x\x\x ]]
++ shift
++ [[ dm_mod == \m\p\t\2\s\a\s ]]
++ shift
++ [[ dm_mod == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ dm_mod == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ dm_mod == \f\n\i\c ]]
++ shift
++ [[ dm_mod == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ dm_mod == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ dm_mod == \h\p\s\a ]]
++ shift
++ [[ dm_mod == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ dm_mod == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ dm_mod == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ dm_mod == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ dm_mod == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ dm_mod == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ dm_mod == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ dm_mod == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ dm_mod == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ dm_mod == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ dm_mod == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ dm_mod == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ dm_mod == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ppdev sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=ppdev
++ shift
++ [[ ppdev == \s\x\8 ]]
++ shift
++ [[ ppdev == \a\o\e ]]
++ shift
++ [[ ppdev == \o\s\d\b\l\k ]]
++ shift
++ [[ ppdev == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ppdev == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ ppdev == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ppdev == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ppdev == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ppdev == \c\c\i\s\s ]]
++ shift
++ [[ ppdev == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ ppdev == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ppdev == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ppdev == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ppdev == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ppdev == \a\h\c\i ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\m\v ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ ppdev == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ ppdev == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ppdev == \d\m\-\r\a\i\d ]]
++ shift
++ [[ ppdev == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ ppdev == \f\a\u\l\t\y ]]
++ shift
++ [[ ppdev == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ppdev == \d\m\-\z\e\r\o ]]
++ shift
++ [[ ppdev == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ ppdev == \d\m\-\m\o\d ]]
++ shift
++ [[ ppdev == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ ppdev == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ ppdev == \r\a\i\d\0 ]]
++ shift
++ [[ ppdev == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ ppdev == \d\m\-\l\o\g ]]
++ shift
++ [[ ppdev == \l\i\n\e\a\r ]]
++ shift
++ [[ ppdev == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ ppdev == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ ppdev == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ ppdev == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ ppdev == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ ppdev == \r\a\i\d\1 ]]
++ shift
++ [[ ppdev == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ ppdev == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ ppdev == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ ppdev == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ ppdev == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ ppdev == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ ppdev == \r\a\i\d\1\0 ]]
++ shift
++ [[ ppdev == \m\p\t\f\c ]]
++ shift
++ [[ ppdev == \m\p\t\s\p\i ]]
++ shift
++ [[ ppdev == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ ppdev == \m\p\t\s\a\s ]]
++ shift
++ [[ ppdev == \m\p\t\c\t\l ]]
++ shift
++ [[ ppdev == \m\p\t\b\a\s\e ]]
++ shift
++ [[ ppdev == \m\p\t\l\a\n ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ ppdev == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ ppdev == \a\a\c\r\a\i\d ]]
++ shift
++ [[ ppdev == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ ppdev == \c\h ]]
++ shift
++ [[ ppdev == \b\f\a ]]
++ shift
++ [[ ppdev == \b\n\x\2\i ]]
++ shift
++ [[ ppdev == \l\i\b\f\c ]]
++ shift
++ [[ ppdev == \s\r\_\m\o\d ]]
++ shift
++ [[ ppdev == \l\i\b\s\a\s ]]
++ shift
++ [[ ppdev == \p\m\c\r\a\i\d ]]
++ shift
++ [[ ppdev == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ ppdev == \s\g ]]
++ shift
++ [[ ppdev == \i\m\m ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ ppdev == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ ppdev == \l\i\b\o\s\d ]]
++ shift
++ [[ ppdev == \o\s\d ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ ppdev == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ppdev == \a\i\c\7\9\x\x ]]
++ shift
++ [[ ppdev == \a\i\c\7\x\x\x ]]
++ shift
++ [[ ppdev == \f\c\o\e ]]
++ shift
++ [[ ppdev == \l\i\b\f\c\o\e ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ ppdev == \p\p\a ]]
++ shift
++ [[ ppdev == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ ppdev == \s\t\e\x ]]
++ shift
++ [[ ppdev == \s\e\s ]]
++ shift
++ [[ ppdev == \i\p\s ]]
++ shift
++ [[ ppdev == \a\r\c\m\s\r ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ ppdev == \3\w\-\x\x\x\x ]]
++ shift
++ [[ ppdev == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ppdev == \m\v\s\a\s ]]
++ shift
++ [[ ppdev == \c\x\g\b\4\i ]]
++ shift
++ [[ ppdev == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ ppdev == \c\x\g\b\3\i ]]
++ shift
++ [[ ppdev == \3\w\-\9\x\x\x ]]
++ shift
++ [[ ppdev == \h\p\t\i\o\p ]]
++ shift
++ [[ ppdev == \l\i\b\s\r\p ]]
++ shift
++ [[ ppdev == \s\t ]]
++ shift
++ [[ ppdev == \q\l\a\2\x\x\x ]]
++ shift
++ [[ ppdev == \s\d\_\m\o\d ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ ppdev == \l\p\f\c ]]
++ shift
++ [[ ppdev == \i\s\c\i ]]
++ shift
++ [[ ppdev == \3\w\-\s\a\s ]]
++ shift
++ [[ ppdev == \i\n\i\t\i\o ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ ppdev == \o\s\s\t ]]
++ shift
++ [[ ppdev == \a\i\c\9\4\x\x ]]
++ shift
++ [[ ppdev == \b\n\x\2\f\c ]]
++ shift
++ [[ ppdev == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ ppdev == \q\l\a\4\x\x\x ]]
++ shift
++ [[ ppdev == \m\p\t\2\s\a\s ]]
++ shift
++ [[ ppdev == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ ppdev == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ 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 == \f\n\i\c ]]
++ shift
++ [[ ppdev == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ ppdev == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ ppdev == \h\p\s\a ]]
++ shift
++ [[ ppdev == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ ppdev == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ ppdev == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ ppdev == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ ppdev == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ ppdev == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ ppdev == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ ppdev == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ ppdev == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ ppdev == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ ppdev == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ ppdev == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ ppdev == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray parport_pc sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=parport_pc
++ shift
++ [[ parport_pc == \s\x\8 ]]
++ shift
++ [[ parport_pc == \a\o\e ]]
++ shift
++ [[ parport_pc == \o\s\d\b\l\k ]]
++ shift
++ [[ parport_pc == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ parport_pc == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ parport_pc == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ parport_pc == \p\k\t\c\d\v\d ]]
++ shift
++ [[ parport_pc == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ parport_pc == \c\c\i\s\s ]]
++ shift
++ [[ parport_pc == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ parport_pc == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ parport_pc == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ parport_pc == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\n\v ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ parport_pc == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ parport_pc == \a\h\c\i ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\l\i ]]
++ 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\_\a\t\i\i\x\p ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\m\v ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ parport_pc == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ parport_pc == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ parport_pc == \d\m\-\r\a\i\d ]]
++ shift
++ [[ parport_pc == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ parport_pc == \f\a\u\l\t\y ]]
++ shift
++ [[ parport_pc == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ parport_pc == \d\m\-\z\e\r\o ]]
++ shift
++ [[ parport_pc == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ parport_pc == \d\m\-\m\o\d ]]
++ shift
++ [[ parport_pc == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ parport_pc == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ parport_pc == \r\a\i\d\0 ]]
++ shift
++ [[ parport_pc == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ parport_pc == \d\m\-\l\o\g ]]
++ shift
++ [[ parport_pc == \l\i\n\e\a\r ]]
++ shift
++ [[ parport_pc == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ parport_pc == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ parport_pc == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ parport_pc == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ parport_pc == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ parport_pc == \r\a\i\d\1 ]]
++ shift
++ [[ parport_pc == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ parport_pc == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ parport_pc == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ parport_pc == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ parport_pc == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ parport_pc == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ parport_pc == \r\a\i\d\1\0 ]]
++ shift
++ [[ parport_pc == \m\p\t\f\c ]]
++ shift
++ [[ parport_pc == \m\p\t\s\p\i ]]
++ shift
++ [[ parport_pc == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ parport_pc == \m\p\t\s\a\s ]]
++ shift
++ [[ parport_pc == \m\p\t\c\t\l ]]
++ shift
++ [[ parport_pc == \m\p\t\b\a\s\e ]]
++ shift
++ [[ parport_pc == \m\p\t\l\a\n ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ parport_pc == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ parport_pc == \a\a\c\r\a\i\d ]]
++ shift
++ [[ parport_pc == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ parport_pc == \c\h ]]
++ shift
++ [[ parport_pc == \b\f\a ]]
++ shift
++ [[ parport_pc == \b\n\x\2\i ]]
++ shift
++ [[ parport_pc == \l\i\b\f\c ]]
++ shift
++ [[ parport_pc == \s\r\_\m\o\d ]]
++ shift
++ [[ parport_pc == \l\i\b\s\a\s ]]
++ shift
++ [[ parport_pc == \p\m\c\r\a\i\d ]]
++ shift
++ [[ parport_pc == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ parport_pc == \s\g ]]
++ shift
++ [[ parport_pc == \i\m\m ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ parport_pc == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ parport_pc == \l\i\b\o\s\d ]]
++ shift
++ [[ parport_pc == \o\s\d ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ parport_pc == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ parport_pc == \a\i\c\7\9\x\x ]]
++ shift
++ [[ parport_pc == \a\i\c\7\x\x\x ]]
++ shift
++ [[ parport_pc == \f\c\o\e ]]
++ shift
++ [[ parport_pc == \l\i\b\f\c\o\e ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ parport_pc == \p\p\a ]]
++ shift
++ [[ parport_pc == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ parport_pc == \s\t\e\x ]]
++ shift
++ [[ parport_pc == \s\e\s ]]
++ shift
++ [[ parport_pc == \i\p\s ]]
++ shift
++ [[ parport_pc == \a\r\c\m\s\r ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ parport_pc == \3\w\-\x\x\x\x ]]
++ shift
++ [[ parport_pc == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ parport_pc == \m\v\s\a\s ]]
++ shift
++ [[ parport_pc == \c\x\g\b\4\i ]]
++ shift
++ [[ parport_pc == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ parport_pc == \c\x\g\b\3\i ]]
++ shift
++ [[ parport_pc == \3\w\-\9\x\x\x ]]
++ shift
++ [[ parport_pc == \h\p\t\i\o\p ]]
++ shift
++ [[ parport_pc == \l\i\b\s\r\p ]]
++ shift
++ [[ parport_pc == \s\t ]]
++ shift
++ [[ parport_pc == \q\l\a\2\x\x\x ]]
++ shift
++ [[ parport_pc == \s\d\_\m\o\d ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ parport_pc == \l\p\f\c ]]
++ shift
++ [[ parport_pc == \i\s\c\i ]]
++ shift
++ [[ parport_pc == \3\w\-\s\a\s ]]
++ shift
++ [[ parport_pc == \i\n\i\t\i\o ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ parport_pc == \o\s\s\t ]]
++ shift
++ [[ parport_pc == \a\i\c\9\4\x\x ]]
++ shift
++ [[ parport_pc == \b\n\x\2\f\c ]]
++ shift
++ [[ parport_pc == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ parport_pc == \q\l\a\4\x\x\x ]]
++ shift
++ [[ parport_pc == \m\p\t\2\s\a\s ]]
++ shift
++ [[ parport_pc == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ parport_pc == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ 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 == \f\n\i\c ]]
++ shift
++ [[ parport_pc == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ parport_pc == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ parport_pc == \h\p\s\a ]]
++ shift
++ [[ parport_pc == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ parport_pc == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ parport_pc == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ parport_pc == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ parport_pc == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ parport_pc == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ parport_pc == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ parport_pc == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ parport_pc == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ parport_pc == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ parport_pc == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ parport_pc == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ parport_pc == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray parport sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=parport
++ shift
++ [[ parport == \s\x\8 ]]
++ shift
++ [[ parport == \a\o\e ]]
++ shift
++ [[ parport == \o\s\d\b\l\k ]]
++ shift
++ [[ parport == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ parport == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ parport == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ parport == \p\k\t\c\d\v\d ]]
++ shift
++ [[ parport == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ parport == \c\c\i\s\s ]]
++ shift
++ [[ parport == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ parport == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ parport == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ parport == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ parport == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ parport == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ parport == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ parport == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ parport == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ parport == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ parport == \s\a\t\a\_\n\v ]]
++ shift
++ [[ parport == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ parport == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ parport == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ parport == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ parport == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ parport == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ parport == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ parport == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ parport == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ parport == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ parport == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ parport == \a\h\c\i ]]
++ shift
++ [[ parport == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ parport == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ parport == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ parport == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ parport == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ parport == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ parport == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ parport == \s\a\t\a\_\m\v ]]
++ shift
++ [[ parport == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ parport == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ parport == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ parport == \d\m\-\r\a\i\d ]]
++ shift
++ [[ parport == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ parport == \f\a\u\l\t\y ]]
++ shift
++ [[ parport == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ parport == \d\m\-\z\e\r\o ]]
++ shift
++ [[ parport == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ parport == \d\m\-\m\o\d ]]
++ shift
++ [[ parport == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ parport == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ parport == \r\a\i\d\0 ]]
++ shift
++ [[ parport == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ parport == \d\m\-\l\o\g ]]
++ shift
++ [[ parport == \l\i\n\e\a\r ]]
++ shift
++ [[ parport == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ parport == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ parport == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ parport == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ parport == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ parport == \r\a\i\d\1 ]]
++ shift
++ [[ parport == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ parport == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ parport == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ parport == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ parport == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ parport == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ parport == \r\a\i\d\1\0 ]]
++ shift
++ [[ parport == \m\p\t\f\c ]]
++ shift
++ [[ parport == \m\p\t\s\p\i ]]
++ shift
++ [[ parport == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ parport == \m\p\t\s\a\s ]]
++ shift
++ [[ parport == \m\p\t\c\t\l ]]
++ shift
++ [[ parport == \m\p\t\b\a\s\e ]]
++ shift
++ [[ parport == \m\p\t\l\a\n ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ parport == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ parport == \a\a\c\r\a\i\d ]]
++ shift
++ [[ parport == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ parport == \c\h ]]
++ shift
++ [[ parport == \b\f\a ]]
++ shift
++ [[ parport == \b\n\x\2\i ]]
++ shift
++ [[ parport == \l\i\b\f\c ]]
++ shift
++ [[ parport == \s\r\_\m\o\d ]]
++ shift
++ [[ parport == \l\i\b\s\a\s ]]
++ shift
++ [[ parport == \p\m\c\r\a\i\d ]]
++ shift
++ [[ parport == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ parport == \s\g ]]
++ shift
++ [[ parport == \i\m\m ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ parport == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ parport == \l\i\b\o\s\d ]]
++ shift
++ [[ parport == \o\s\d ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ parport == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ parport == \a\i\c\7\9\x\x ]]
++ shift
++ [[ parport == \a\i\c\7\x\x\x ]]
++ shift
++ [[ parport == \f\c\o\e ]]
++ shift
++ [[ parport == \l\i\b\f\c\o\e ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ parport == \p\p\a ]]
++ shift
++ [[ parport == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ parport == \s\t\e\x ]]
++ shift
++ [[ parport == \s\e\s ]]
++ shift
++ [[ parport == \i\p\s ]]
++ shift
++ [[ parport == \a\r\c\m\s\r ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ parport == \3\w\-\x\x\x\x ]]
++ shift
++ [[ parport == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ parport == \m\v\s\a\s ]]
++ shift
++ [[ parport == \c\x\g\b\4\i ]]
++ shift
++ [[ parport == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ parport == \c\x\g\b\3\i ]]
++ shift
++ [[ parport == \3\w\-\9\x\x\x ]]
++ shift
++ [[ parport == \h\p\t\i\o\p ]]
++ shift
++ [[ parport == \l\i\b\s\r\p ]]
++ shift
++ [[ parport == \s\t ]]
++ shift
++ [[ parport == \q\l\a\2\x\x\x ]]
++ shift
++ [[ parport == \s\d\_\m\o\d ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ parport == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ parport == \l\p\f\c ]]
++ shift
++ [[ parport == \i\s\c\i ]]
++ shift
++ [[ parport == \3\w\-\s\a\s ]]
++ shift
++ [[ parport == \i\n\i\t\i\o ]]
++ shift
++ [[ parport == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ parport == \o\s\s\t ]]
++ shift
++ [[ parport == \a\i\c\9\4\x\x ]]
++ shift
++ [[ parport == \b\n\x\2\f\c ]]
++ shift
++ [[ parport == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ parport == \q\l\a\4\x\x\x ]]
++ shift
++ [[ parport == \m\p\t\2\s\a\s ]]
++ shift
++ [[ parport == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ parport == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ 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 == \f\n\i\c ]]
++ shift
++ [[ parport == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ parport == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ parport == \h\p\s\a ]]
++ shift
++ [[ parport == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ parport == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ parport == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ parport == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ parport == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ parport == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ parport == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ parport == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ parport == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ parport == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ parport == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ parport == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ parport == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray sg sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=sg
++ shift
++ [[ sg == \s\x\8 ]]
++ shift
++ [[ sg == \a\o\e ]]
++ shift
++ [[ sg == \o\s\d\b\l\k ]]
++ shift
++ [[ sg == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sg == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ sg == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sg == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sg == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ sg == \c\c\i\s\s ]]
++ shift
++ [[ sg == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ sg == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sg == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ sg == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ sg == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ sg == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sg == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sg == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sg == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ sg == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sg == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sg == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ sg == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ sg == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ sg == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sg == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ sg == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ sg == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sg == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ sg == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ sg == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sg == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sg == \a\h\c\i ]]
++ shift
++ [[ sg == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ sg == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ sg == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ sg == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sg == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sg == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ sg == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sg == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ sg == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ sg == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sg == \d\m\-\r\a\i\d ]]
++ shift
++ [[ sg == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ sg == \f\a\u\l\t\y ]]
++ shift
++ [[ sg == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sg == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sg == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ sg == \d\m\-\m\o\d ]]
++ shift
++ [[ sg == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sg == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sg == \r\a\i\d\0 ]]
++ shift
++ [[ sg == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sg == \d\m\-\l\o\g ]]
++ shift
++ [[ sg == \l\i\n\e\a\r ]]
++ shift
++ [[ sg == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ sg == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ sg == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ sg == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ sg == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sg == \r\a\i\d\1 ]]
++ shift
++ [[ sg == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sg == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ sg == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ sg == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ sg == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ sg == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ sg == \r\a\i\d\1\0 ]]
++ shift
++ [[ sg == \m\p\t\f\c ]]
++ shift
++ [[ sg == \m\p\t\s\p\i ]]
++ shift
++ [[ sg == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sg == \m\p\t\s\a\s ]]
++ shift
++ [[ sg == \m\p\t\c\t\l ]]
++ shift
++ [[ sg == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sg == \m\p\t\l\a\n ]]
++ shift
++ [[ sg == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sg == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ sg == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sg == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ sg == \c\h ]]
++ shift
++ [[ sg == \b\f\a ]]
++ shift
++ [[ sg == \b\n\x\2\i ]]
++ shift
++ [[ sg == \l\i\b\f\c ]]
++ shift
++ [[ sg == \s\r\_\m\o\d ]]
++ shift
++ [[ sg == \l\i\b\s\a\s ]]
++ shift
++ [[ sg == \p\m\c\r\a\i\d ]]
++ shift
++ [[ sg == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ sg == \s\g ]]
++ return 0
++ echo sg
++ read module junk
++ IsInArray sd_mod sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=sd_mod
++ shift
++ [[ sd_mod == \s\x\8 ]]
++ shift
++ [[ sd_mod == \a\o\e ]]
++ shift
++ [[ sd_mod == \o\s\d\b\l\k ]]
++ shift
++ [[ sd_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sd_mod == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ sd_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sd_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sd_mod == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ sd_mod == \c\c\i\s\s ]]
++ shift
++ [[ sd_mod == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ sd_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sd_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sd_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ sd_mod == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sd_mod == \a\h\c\i ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\l\i ]]
++ 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\_\a\t\i\i\x\p ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ sd_mod == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ sd_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sd_mod == \d\m\-\r\a\i\d ]]
++ shift
++ [[ sd_mod == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ sd_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ sd_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sd_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sd_mod == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ sd_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ sd_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sd_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sd_mod == \r\a\i\d\0 ]]
++ shift
++ [[ sd_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sd_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ sd_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ sd_mod == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ sd_mod == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ sd_mod == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ sd_mod == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ sd_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sd_mod == \r\a\i\d\1 ]]
++ shift
++ [[ sd_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sd_mod == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ sd_mod == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ sd_mod == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ sd_mod == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ sd_mod == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ sd_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ sd_mod == \m\p\t\f\c ]]
++ shift
++ [[ sd_mod == \m\p\t\s\p\i ]]
++ shift
++ [[ sd_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sd_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ sd_mod == \m\p\t\c\t\l ]]
++ shift
++ [[ sd_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sd_mod == \m\p\t\l\a\n ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sd_mod == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ sd_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sd_mod == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ sd_mod == \c\h ]]
++ shift
++ [[ sd_mod == \b\f\a ]]
++ shift
++ [[ sd_mod == \b\n\x\2\i ]]
++ shift
++ [[ sd_mod == \l\i\b\f\c ]]
++ shift
++ [[ sd_mod == \s\r\_\m\o\d ]]
++ shift
++ [[ sd_mod == \l\i\b\s\a\s ]]
++ shift
++ [[ sd_mod == \p\m\c\r\a\i\d ]]
++ shift
++ [[ sd_mod == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ sd_mod == \s\g ]]
++ shift
++ [[ sd_mod == \i\m\m ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ sd_mod == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ sd_mod == \l\i\b\o\s\d ]]
++ shift
++ [[ sd_mod == \o\s\d ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ sd_mod == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sd_mod == \a\i\c\7\9\x\x ]]
++ shift
++ [[ sd_mod == \a\i\c\7\x\x\x ]]
++ shift
++ [[ sd_mod == \f\c\o\e ]]
++ shift
++ [[ sd_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ sd_mod == \p\p\a ]]
++ shift
++ [[ sd_mod == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ sd_mod == \s\t\e\x ]]
++ shift
++ [[ sd_mod == \s\e\s ]]
++ shift
++ [[ sd_mod == \i\p\s ]]
++ shift
++ [[ sd_mod == \a\r\c\m\s\r ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ sd_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ sd_mod == \3\w\-\x\x\x\x ]]
++ shift
++ [[ sd_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ sd_mod == \m\v\s\a\s ]]
++ shift
++ [[ sd_mod == \c\x\g\b\4\i ]]
++ shift
++ [[ sd_mod == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ sd_mod == \c\x\g\b\3\i ]]
++ shift
++ [[ sd_mod == \3\w\-\9\x\x\x ]]
++ shift
++ [[ sd_mod == \h\p\t\i\o\p ]]
++ shift
++ [[ sd_mod == \l\i\b\s\r\p ]]
++ shift
++ [[ sd_mod == \s\t ]]
++ shift
++ [[ sd_mod == \q\l\a\2\x\x\x ]]
++ shift
++ [[ sd_mod == \s\d\_\m\o\d ]]
++ return 0
++ echo sd_mod
++ read module junk
++ IsInArray crc_t10dif sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=crc_t10dif
++ shift
++ [[ crc_t10dif == \s\x\8 ]]
++ shift
++ [[ crc_t10dif == \a\o\e ]]
++ shift
++ [[ crc_t10dif == \o\s\d\b\l\k ]]
++ shift
++ [[ crc_t10dif == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ crc_t10dif == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ crc_t10dif == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ crc_t10dif == \p\k\t\c\d\v\d ]]
++ shift
++ [[ crc_t10dif == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ crc_t10dif == \c\c\i\s\s ]]
++ shift
++ [[ crc_t10dif == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ crc_t10dif == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ crc_t10dif == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ crc_t10dif == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\n\v ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ crc_t10dif == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ crc_t10dif == \a\h\c\i ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\l\i ]]
++ 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\_\a\t\i\i\x\p ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\m\v ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ crc_t10dif == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ crc_t10dif == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\a\i\d ]]
++ shift
++ [[ crc_t10dif == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ crc_t10dif == \f\a\u\l\t\y ]]
++ shift
++ [[ crc_t10dif == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ crc_t10dif == \d\m\-\z\e\r\o ]]
++ shift
++ [[ crc_t10dif == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ crc_t10dif == \d\m\-\m\o\d ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\0 ]]
++ shift
++ [[ crc_t10dif == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ crc_t10dif == \d\m\-\l\o\g ]]
++ shift
++ [[ crc_t10dif == \l\i\n\e\a\r ]]
++ shift
++ [[ crc_t10dif == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ crc_t10dif == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ crc_t10dif == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ crc_t10dif == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\1 ]]
++ shift
++ [[ crc_t10dif == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ crc_t10dif == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ crc_t10dif == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ crc_t10dif == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ crc_t10dif == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ crc_t10dif == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\1\0 ]]
++ shift
++ [[ crc_t10dif == \m\p\t\f\c ]]
++ shift
++ [[ crc_t10dif == \m\p\t\s\p\i ]]
++ shift
++ [[ crc_t10dif == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ crc_t10dif == \m\p\t\s\a\s ]]
++ shift
++ [[ crc_t10dif == \m\p\t\c\t\l ]]
++ shift
++ [[ crc_t10dif == \m\p\t\b\a\s\e ]]
++ shift
++ [[ crc_t10dif == \m\p\t\l\a\n ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ crc_t10dif == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ crc_t10dif == \a\a\c\r\a\i\d ]]
++ shift
++ [[ crc_t10dif == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ crc_t10dif == \c\h ]]
++ shift
++ [[ crc_t10dif == \b\f\a ]]
++ shift
++ [[ crc_t10dif == \b\n\x\2\i ]]
++ shift
++ [[ crc_t10dif == \l\i\b\f\c ]]
++ shift
++ [[ crc_t10dif == \s\r\_\m\o\d ]]
++ shift
++ [[ crc_t10dif == \l\i\b\s\a\s ]]
++ shift
++ [[ crc_t10dif == \p\m\c\r\a\i\d ]]
++ shift
++ [[ crc_t10dif == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ crc_t10dif == \s\g ]]
++ shift
++ [[ crc_t10dif == \i\m\m ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ crc_t10dif == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ crc_t10dif == \l\i\b\o\s\d ]]
++ shift
++ [[ crc_t10dif == \o\s\d ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ crc_t10dif == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ crc_t10dif == \a\i\c\7\9\x\x ]]
++ shift
++ [[ crc_t10dif == \a\i\c\7\x\x\x ]]
++ shift
++ [[ crc_t10dif == \f\c\o\e ]]
++ shift
++ [[ crc_t10dif == \l\i\b\f\c\o\e ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ crc_t10dif == \p\p\a ]]
++ shift
++ [[ crc_t10dif == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ crc_t10dif == \s\t\e\x ]]
++ shift
++ [[ crc_t10dif == \s\e\s ]]
++ shift
++ [[ crc_t10dif == \i\p\s ]]
++ shift
++ [[ crc_t10dif == \a\r\c\m\s\r ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ crc_t10dif == \3\w\-\x\x\x\x ]]
++ shift
++ [[ crc_t10dif == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ crc_t10dif == \m\v\s\a\s ]]
++ shift
++ [[ crc_t10dif == \c\x\g\b\4\i ]]
++ shift
++ [[ crc_t10dif == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ crc_t10dif == \c\x\g\b\3\i ]]
++ shift
++ [[ crc_t10dif == \3\w\-\9\x\x\x ]]
++ shift
++ [[ crc_t10dif == \h\p\t\i\o\p ]]
++ shift
++ [[ crc_t10dif == \l\i\b\s\r\p ]]
++ shift
++ [[ crc_t10dif == \s\t ]]
++ shift
++ [[ crc_t10dif == \q\l\a\2\x\x\x ]]
++ shift
++ [[ crc_t10dif == \s\d\_\m\o\d ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ crc_t10dif == \l\p\f\c ]]
++ shift
++ [[ crc_t10dif == \i\s\c\i ]]
++ shift
++ [[ crc_t10dif == \3\w\-\s\a\s ]]
++ shift
++ [[ crc_t10dif == \i\n\i\t\i\o ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ crc_t10dif == \o\s\s\t ]]
++ shift
++ [[ crc_t10dif == \a\i\c\9\4\x\x ]]
++ shift
++ [[ crc_t10dif == \b\n\x\2\f\c ]]
++ shift
++ [[ crc_t10dif == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ crc_t10dif == \q\l\a\4\x\x\x ]]
++ shift
++ [[ crc_t10dif == \m\p\t\2\s\a\s ]]
++ shift
++ [[ crc_t10dif == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ crc_t10dif == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ 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 == \f\n\i\c ]]
++ shift
++ [[ crc_t10dif == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ crc_t10dif == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ crc_t10dif == \h\p\s\a ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ crc_t10dif == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ crc_t10dif == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ crc_t10dif == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray sr_mod sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=sr_mod
++ shift
++ [[ sr_mod == \s\x\8 ]]
++ shift
++ [[ sr_mod == \a\o\e ]]
++ shift
++ [[ sr_mod == \o\s\d\b\l\k ]]
++ shift
++ [[ sr_mod == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ sr_mod == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ sr_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ sr_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ sr_mod == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ sr_mod == \c\c\i\s\s ]]
++ shift
++ [[ sr_mod == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ sr_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ sr_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ sr_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ sr_mod == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ sr_mod == \a\h\c\i ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\l\i ]]
++ 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\_\a\t\i\i\x\p ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ sr_mod == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ sr_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ sr_mod == \d\m\-\r\a\i\d ]]
++ shift
++ [[ sr_mod == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ sr_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ sr_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ sr_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ sr_mod == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ sr_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ sr_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ sr_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ sr_mod == \r\a\i\d\0 ]]
++ shift
++ [[ sr_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ sr_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ sr_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ sr_mod == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ sr_mod == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ sr_mod == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ sr_mod == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ sr_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ sr_mod == \r\a\i\d\1 ]]
++ shift
++ [[ sr_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ sr_mod == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ sr_mod == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ sr_mod == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ sr_mod == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ sr_mod == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ sr_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ sr_mod == \m\p\t\f\c ]]
++ shift
++ [[ sr_mod == \m\p\t\s\p\i ]]
++ shift
++ [[ sr_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ sr_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ sr_mod == \m\p\t\c\t\l ]]
++ shift
++ [[ sr_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ sr_mod == \m\p\t\l\a\n ]]
++ shift
++ [[ sr_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ sr_mod == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ sr_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ sr_mod == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ sr_mod == \c\h ]]
++ shift
++ [[ sr_mod == \b\f\a ]]
++ shift
++ [[ sr_mod == \b\n\x\2\i ]]
++ shift
++ [[ sr_mod == \l\i\b\f\c ]]
++ shift
++ [[ sr_mod == \s\r\_\m\o\d ]]
++ return 0
++ echo sr_mod
++ read module junk
++ IsInArray cdrom sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=cdrom
++ shift
++ [[ cdrom == \s\x\8 ]]
++ shift
++ [[ cdrom == \a\o\e ]]
++ shift
++ [[ cdrom == \o\s\d\b\l\k ]]
++ shift
++ [[ cdrom == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ cdrom == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ cdrom == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ cdrom == \p\k\t\c\d\v\d ]]
++ shift
++ [[ cdrom == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ cdrom == \c\c\i\s\s ]]
++ shift
++ [[ cdrom == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ cdrom == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ cdrom == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ cdrom == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\n\v ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ cdrom == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ cdrom == \a\h\c\i ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\m\v ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ cdrom == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ cdrom == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ cdrom == \d\m\-\r\a\i\d ]]
++ shift
++ [[ cdrom == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ cdrom == \f\a\u\l\t\y ]]
++ shift
++ [[ cdrom == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ cdrom == \d\m\-\z\e\r\o ]]
++ shift
++ [[ cdrom == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ cdrom == \d\m\-\m\o\d ]]
++ shift
++ [[ cdrom == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ cdrom == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ cdrom == \r\a\i\d\0 ]]
++ shift
++ [[ cdrom == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ cdrom == \d\m\-\l\o\g ]]
++ shift
++ [[ cdrom == \l\i\n\e\a\r ]]
++ shift
++ [[ cdrom == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ cdrom == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ cdrom == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ cdrom == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ cdrom == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ cdrom == \r\a\i\d\1 ]]
++ shift
++ [[ cdrom == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ cdrom == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ cdrom == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ cdrom == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ cdrom == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ cdrom == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ cdrom == \r\a\i\d\1\0 ]]
++ shift
++ [[ cdrom == \m\p\t\f\c ]]
++ shift
++ [[ cdrom == \m\p\t\s\p\i ]]
++ shift
++ [[ cdrom == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ cdrom == \m\p\t\s\a\s ]]
++ shift
++ [[ cdrom == \m\p\t\c\t\l ]]
++ shift
++ [[ cdrom == \m\p\t\b\a\s\e ]]
++ shift
++ [[ cdrom == \m\p\t\l\a\n ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ cdrom == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ cdrom == \a\a\c\r\a\i\d ]]
++ shift
++ [[ cdrom == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ cdrom == \c\h ]]
++ shift
++ [[ cdrom == \b\f\a ]]
++ shift
++ [[ cdrom == \b\n\x\2\i ]]
++ shift
++ [[ cdrom == \l\i\b\f\c ]]
++ shift
++ [[ cdrom == \s\r\_\m\o\d ]]
++ shift
++ [[ cdrom == \l\i\b\s\a\s ]]
++ shift
++ [[ cdrom == \p\m\c\r\a\i\d ]]
++ shift
++ [[ cdrom == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ cdrom == \s\g ]]
++ shift
++ [[ cdrom == \i\m\m ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ cdrom == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ cdrom == \l\i\b\o\s\d ]]
++ shift
++ [[ cdrom == \o\s\d ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ cdrom == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ cdrom == \a\i\c\7\9\x\x ]]
++ shift
++ [[ cdrom == \a\i\c\7\x\x\x ]]
++ shift
++ [[ cdrom == \f\c\o\e ]]
++ shift
++ [[ cdrom == \l\i\b\f\c\o\e ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ cdrom == \p\p\a ]]
++ shift
++ [[ cdrom == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ cdrom == \s\t\e\x ]]
++ shift
++ [[ cdrom == \s\e\s ]]
++ shift
++ [[ cdrom == \i\p\s ]]
++ shift
++ [[ cdrom == \a\r\c\m\s\r ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ cdrom == \3\w\-\x\x\x\x ]]
++ shift
++ [[ cdrom == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ cdrom == \m\v\s\a\s ]]
++ shift
++ [[ cdrom == \c\x\g\b\4\i ]]
++ shift
++ [[ cdrom == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ cdrom == \c\x\g\b\3\i ]]
++ shift
++ [[ cdrom == \3\w\-\9\x\x\x ]]
++ shift
++ [[ cdrom == \h\p\t\i\o\p ]]
++ shift
++ [[ cdrom == \l\i\b\s\r\p ]]
++ shift
++ [[ cdrom == \s\t ]]
++ shift
++ [[ cdrom == \q\l\a\2\x\x\x ]]
++ shift
++ [[ cdrom == \s\d\_\m\o\d ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ cdrom == \l\p\f\c ]]
++ shift
++ [[ cdrom == \i\s\c\i ]]
++ shift
++ [[ cdrom == \3\w\-\s\a\s ]]
++ shift
++ [[ cdrom == \i\n\i\t\i\o ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ cdrom == \o\s\s\t ]]
++ shift
++ [[ cdrom == \a\i\c\9\4\x\x ]]
++ shift
++ [[ cdrom == \b\n\x\2\f\c ]]
++ shift
++ [[ cdrom == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ cdrom == \q\l\a\4\x\x\x ]]
++ shift
++ [[ cdrom == \m\p\t\2\s\a\s ]]
++ shift
++ [[ cdrom == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ cdrom == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ cdrom == \f\n\i\c ]]
++ shift
++ [[ cdrom == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ cdrom == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ cdrom == \h\p\s\a ]]
++ shift
++ [[ cdrom == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ cdrom == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ cdrom == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ cdrom == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ cdrom == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ cdrom == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ cdrom == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ cdrom == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ cdrom == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ cdrom == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ cdrom == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ cdrom == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ cdrom == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ahci sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=ahci
++ shift
++ [[ ahci == \s\x\8 ]]
++ shift
++ [[ ahci == \a\o\e ]]
++ shift
++ [[ ahci == \o\s\d\b\l\k ]]
++ shift
++ [[ ahci == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ahci == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ ahci == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ahci == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ahci == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ahci == \c\c\i\s\s ]]
++ shift
++ [[ ahci == \f\l\o\p\p\y ]]
++ shift
++ [[ ahci == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ ahci == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ ahci == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ ahci == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ahci == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ahci == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ahci == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ahci == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ ahci == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ ahci == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ahci == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ahci == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ahci == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ahci == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ahci == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ahci == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ ahci == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ahci == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ahci == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ahci == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ahci == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ahci == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ahci == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ahci == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ahci == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ ahci == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ahci == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ ahci == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ ahci == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ ahci == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ ahci == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ahci == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ ahci == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ahci == \a\h\c\i ]]
++ return 0
++ echo ahci
++ read module junk
++ IsInArray i2c_piix4 sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=i2c_piix4
++ shift
++ [[ i2c_piix4 == \s\x\8 ]]
++ shift
++ [[ i2c_piix4 == \a\o\e ]]
++ shift
++ [[ i2c_piix4 == \o\s\d\b\l\k ]]
++ shift
++ [[ i2c_piix4 == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ i2c_piix4 == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ i2c_piix4 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ i2c_piix4 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ i2c_piix4 == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ i2c_piix4 == \c\c\i\s\s ]]
++ shift
++ [[ i2c_piix4 == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ i2c_piix4 == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ i2c_piix4 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ i2c_piix4 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ i2c_piix4 == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_piix4 == \a\h\c\i ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\l\i ]]
++ 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\_\a\t\i\i\x\p ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\a\i\d ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ i2c_piix4 == \f\a\u\l\t\y ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\0 ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\l\o\g ]]
++ shift
++ [[ i2c_piix4 == \l\i\n\e\a\r ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\1 ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\1\0 ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\f\c ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\s\p\i ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\c\t\l ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\l\a\n ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ i2c_piix4 == \c\h ]]
++ shift
++ [[ i2c_piix4 == \b\f\a ]]
++ shift
++ [[ i2c_piix4 == \b\n\x\2\i ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\f\c ]]
++ shift
++ [[ i2c_piix4 == \s\r\_\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ i2c_piix4 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ i2c_piix4 == \s\g ]]
++ shift
++ [[ i2c_piix4 == \i\m\m ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\o\s\d ]]
++ shift
++ [[ i2c_piix4 == \o\s\d ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ i2c_piix4 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \f\c\o\e ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ i2c_piix4 == \p\p\a ]]
++ shift
++ [[ i2c_piix4 == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ i2c_piix4 == \s\t\e\x ]]
++ shift
++ [[ i2c_piix4 == \s\e\s ]]
++ shift
++ [[ i2c_piix4 == \i\p\s ]]
++ shift
++ [[ i2c_piix4 == \a\r\c\m\s\r ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ i2c_piix4 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_piix4 == \m\v\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \c\x\g\b\4\i ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ i2c_piix4 == \c\x\g\b\3\i ]]
++ shift
++ [[ i2c_piix4 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \h\p\t\i\o\p ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\s\r\p ]]
++ shift
++ [[ i2c_piix4 == \s\t ]]
++ shift
++ [[ i2c_piix4 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \s\d\_\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ i2c_piix4 == \l\p\f\c ]]
++ shift
++ [[ i2c_piix4 == \i\s\c\i ]]
++ shift
++ [[ i2c_piix4 == \3\w\-\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \i\n\i\t\i\o ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ i2c_piix4 == \o\s\s\t ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ i2c_piix4 == \b\n\x\2\f\c ]]
++ shift
++ [[ i2c_piix4 == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ i2c_piix4 == \q\l\a\4\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ 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 == \f\n\i\c ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ i2c_piix4 == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \h\p\s\a ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ i2c_piix4 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ i2c_piix4 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray i2c_core sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=i2c_core
++ shift
++ [[ i2c_core == \s\x\8 ]]
++ shift
++ [[ i2c_core == \a\o\e ]]
++ shift
++ [[ i2c_core == \o\s\d\b\l\k ]]
++ shift
++ [[ i2c_core == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ i2c_core == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ i2c_core == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ i2c_core == \p\k\t\c\d\v\d ]]
++ shift
++ [[ i2c_core == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ i2c_core == \c\c\i\s\s ]]
++ shift
++ [[ i2c_core == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ i2c_core == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ i2c_core == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ i2c_core == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\n\v ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ i2c_core == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_core == \a\h\c\i ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\l\i ]]
++ 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\_\a\t\i\i\x\p ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\m\v ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_core == \d\m\-\r\a\i\d ]]
++ shift
++ [[ i2c_core == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ i2c_core == \f\a\u\l\t\y ]]
++ shift
++ [[ i2c_core == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i2c_core == \d\m\-\z\e\r\o ]]
++ shift
++ [[ i2c_core == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ i2c_core == \d\m\-\m\o\d ]]
++ shift
++ [[ i2c_core == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ i2c_core == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ i2c_core == \r\a\i\d\0 ]]
++ shift
++ [[ i2c_core == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ i2c_core == \d\m\-\l\o\g ]]
++ shift
++ [[ i2c_core == \l\i\n\e\a\r ]]
++ shift
++ [[ i2c_core == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ i2c_core == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ i2c_core == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ i2c_core == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ i2c_core == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ i2c_core == \r\a\i\d\1 ]]
++ shift
++ [[ i2c_core == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ i2c_core == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ i2c_core == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ i2c_core == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ i2c_core == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ i2c_core == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ i2c_core == \r\a\i\d\1\0 ]]
++ shift
++ [[ i2c_core == \m\p\t\f\c ]]
++ shift
++ [[ i2c_core == \m\p\t\s\p\i ]]
++ shift
++ [[ i2c_core == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ i2c_core == \m\p\t\s\a\s ]]
++ shift
++ [[ i2c_core == \m\p\t\c\t\l ]]
++ shift
++ [[ i2c_core == \m\p\t\b\a\s\e ]]
++ shift
++ [[ i2c_core == \m\p\t\l\a\n ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ i2c_core == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ i2c_core == \a\a\c\r\a\i\d ]]
++ shift
++ [[ i2c_core == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ i2c_core == \c\h ]]
++ shift
++ [[ i2c_core == \b\f\a ]]
++ shift
++ [[ i2c_core == \b\n\x\2\i ]]
++ shift
++ [[ i2c_core == \l\i\b\f\c ]]
++ shift
++ [[ i2c_core == \s\r\_\m\o\d ]]
++ shift
++ [[ i2c_core == \l\i\b\s\a\s ]]
++ shift
++ [[ i2c_core == \p\m\c\r\a\i\d ]]
++ shift
++ [[ i2c_core == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ i2c_core == \s\g ]]
++ shift
++ [[ i2c_core == \i\m\m ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ i2c_core == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ i2c_core == \l\i\b\o\s\d ]]
++ shift
++ [[ i2c_core == \o\s\d ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ i2c_core == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_core == \a\i\c\7\9\x\x ]]
++ shift
++ [[ i2c_core == \a\i\c\7\x\x\x ]]
++ shift
++ [[ i2c_core == \f\c\o\e ]]
++ shift
++ [[ i2c_core == \l\i\b\f\c\o\e ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ i2c_core == \p\p\a ]]
++ shift
++ [[ i2c_core == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ i2c_core == \s\t\e\x ]]
++ shift
++ [[ i2c_core == \s\e\s ]]
++ shift
++ [[ i2c_core == \i\p\s ]]
++ shift
++ [[ i2c_core == \a\r\c\m\s\r ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ i2c_core == \3\w\-\x\x\x\x ]]
++ shift
++ [[ i2c_core == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_core == \m\v\s\a\s ]]
++ shift
++ [[ i2c_core == \c\x\g\b\4\i ]]
++ shift
++ [[ i2c_core == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ i2c_core == \c\x\g\b\3\i ]]
++ shift
++ [[ i2c_core == \3\w\-\9\x\x\x ]]
++ shift
++ [[ i2c_core == \h\p\t\i\o\p ]]
++ shift
++ [[ i2c_core == \l\i\b\s\r\p ]]
++ shift
++ [[ i2c_core == \s\t ]]
++ shift
++ [[ i2c_core == \q\l\a\2\x\x\x ]]
++ shift
++ [[ i2c_core == \s\d\_\m\o\d ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ i2c_core == \l\p\f\c ]]
++ shift
++ [[ i2c_core == \i\s\c\i ]]
++ shift
++ [[ i2c_core == \3\w\-\s\a\s ]]
++ shift
++ [[ i2c_core == \i\n\i\t\i\o ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ i2c_core == \o\s\s\t ]]
++ shift
++ [[ i2c_core == \a\i\c\9\4\x\x ]]
++ shift
++ [[ i2c_core == \b\n\x\2\f\c ]]
++ shift
++ [[ i2c_core == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ i2c_core == \q\l\a\4\x\x\x ]]
++ shift
++ [[ i2c_core == \m\p\t\2\s\a\s ]]
++ shift
++ [[ i2c_core == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ i2c_core == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ 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 == \f\n\i\c ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ i2c_core == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ i2c_core == \h\p\s\a ]]
++ shift
++ [[ i2c_core == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ i2c_core == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ i2c_core == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ i2c_core == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ i2c_core == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ i2c_core == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ i2c_core == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ i2c_core == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ i2c_core == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ i2c_core == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ i2c_core == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ i2c_core == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ i2c_core == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray snd_intel8x0 sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=snd_intel8x0
++ shift
++ [[ snd_intel8x0 == \s\x\8 ]]
++ shift
++ [[ snd_intel8x0 == \a\o\e ]]
++ shift
++ [[ snd_intel8x0 == \o\s\d\b\l\k ]]
++ shift
++ [[ snd_intel8x0 == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ snd_intel8x0 == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ snd_intel8x0 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ snd_intel8x0 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ snd_intel8x0 == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ snd_intel8x0 == \c\c\i\s\s ]]
++ shift
++ [[ snd_intel8x0 == \f\l\o\p\p\y ]]
++ shift
++ [[ snd_intel8x0 == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ snd_intel8x0 == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ snd_intel8x0 == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ snd_intel8x0 == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ snd_intel8x0 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ snd_intel8x0 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ snd_intel8x0 == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_intel8x0 == \a\h\c\i ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ snd_intel8x0 == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ snd_intel8x0 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\r\a\i\d ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ snd_intel8x0 == \f\a\u\l\t\y ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\m\o\d ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ snd_intel8x0 == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ snd_intel8x0 == \r\a\i\d\0 ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\l\o\g ]]
++ shift
++ [[ snd_intel8x0 == \l\i\n\e\a\r ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ snd_intel8x0 == \r\a\i\d\1 ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ snd_intel8x0 == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ snd_intel8x0 == \r\a\i\d\1\0 ]]
++ shift
++ [[ snd_intel8x0 == \m\p\t\f\c ]]
++ shift
++ [[ snd_intel8x0 == \m\p\t\s\p\i ]]
++ shift
++ [[ snd_intel8x0 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ snd_intel8x0 == \m\p\t\s\a\s ]]
++ shift
++ [[ snd_intel8x0 == \m\p\t\c\t\l ]]
++ shift
++ [[ snd_intel8x0 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ snd_intel8x0 == \m\p\t\l\a\n ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ snd_intel8x0 == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ snd_intel8x0 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ snd_intel8x0 == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ snd_intel8x0 == \c\h ]]
++ shift
++ [[ snd_intel8x0 == \b\f\a ]]
++ shift
++ [[ snd_intel8x0 == \b\n\x\2\i ]]
++ shift
++ [[ snd_intel8x0 == \l\i\b\f\c ]]
++ shift
++ [[ snd_intel8x0 == \s\r\_\m\o\d ]]
++ shift
++ [[ snd_intel8x0 == \l\i\b\s\a\s ]]
++ shift
++ [[ snd_intel8x0 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ snd_intel8x0 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ snd_intel8x0 == \s\g ]]
++ shift
++ [[ snd_intel8x0 == \i\m\m ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ snd_intel8x0 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ snd_intel8x0 == \l\i\b\o\s\d ]]
++ shift
++ [[ snd_intel8x0 == \o\s\d ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ snd_intel8x0 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_intel8x0 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ snd_intel8x0 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ snd_intel8x0 == \f\c\o\e ]]
++ shift
++ [[ snd_intel8x0 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ snd_intel8x0 == \p\p\a ]]
++ shift
++ [[ snd_intel8x0 == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ snd_intel8x0 == \s\t\e\x ]]
++ shift
++ [[ snd_intel8x0 == \s\e\s ]]
++ shift
++ [[ snd_intel8x0 == \i\p\s ]]
++ shift
++ [[ snd_intel8x0 == \a\r\c\m\s\r ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ snd_intel8x0 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ snd_intel8x0 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_intel8x0 == \m\v\s\a\s ]]
++ shift
++ [[ snd_intel8x0 == \c\x\g\b\4\i ]]
++ shift
++ [[ snd_intel8x0 == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ snd_intel8x0 == \c\x\g\b\3\i ]]
++ shift
++ [[ snd_intel8x0 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ snd_intel8x0 == \h\p\t\i\o\p ]]
++ shift
++ [[ snd_intel8x0 == \l\i\b\s\r\p ]]
++ shift
++ [[ snd_intel8x0 == \s\t ]]
++ shift
++ [[ snd_intel8x0 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ snd_intel8x0 == \s\d\_\m\o\d ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ snd_intel8x0 == \l\p\f\c ]]
++ shift
++ [[ snd_intel8x0 == \i\s\c\i ]]
++ shift
++ [[ snd_intel8x0 == \3\w\-\s\a\s ]]
++ shift
++ [[ snd_intel8x0 == \i\n\i\t\i\o ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ snd_intel8x0 == \o\s\s\t ]]
++ shift
++ [[ snd_intel8x0 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ snd_intel8x0 == \b\n\x\2\f\c ]]
++ shift
++ [[ snd_intel8x0 == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ snd_intel8x0 == \q\l\a\4\x\x\x ]]
++ shift
++ [[ snd_intel8x0 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ snd_intel8x0 == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ snd_intel8x0 == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ snd_intel8x0 == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ snd_intel8x0 == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ snd_intel8x0 == \f\n\i\c ]]
++ shift
++ [[ snd_intel8x0 == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ snd_intel8x0 == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ snd_intel8x0 == \h\p\s\a ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ snd_intel8x0 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ snd_intel8x0 == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ snd_intel8x0 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray snd_ac97_codec sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=snd_ac97_codec
++ shift
++ [[ snd_ac97_codec == \s\x\8 ]]
++ shift
++ [[ snd_ac97_codec == \a\o\e ]]
++ shift
++ [[ snd_ac97_codec == \o\s\d\b\l\k ]]
++ shift
++ [[ snd_ac97_codec == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ snd_ac97_codec == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ snd_ac97_codec == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ snd_ac97_codec == \p\k\t\c\d\v\d ]]
++ shift
++ [[ snd_ac97_codec == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ snd_ac97_codec == \c\c\i\s\s ]]
++ shift
++ [[ snd_ac97_codec == \f\l\o\p\p\y ]]
++ shift
++ [[ snd_ac97_codec == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ snd_ac97_codec == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ snd_ac97_codec == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ snd_ac97_codec == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ snd_ac97_codec == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ snd_ac97_codec == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\n\v ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ snd_ac97_codec == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_ac97_codec == \a\h\c\i ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\m\v ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ snd_ac97_codec == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ snd_ac97_codec == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\r\a\i\d ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ snd_ac97_codec == \f\a\u\l\t\y ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\z\e\r\o ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\m\o\d ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ snd_ac97_codec == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ snd_ac97_codec == \r\a\i\d\0 ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\l\o\g ]]
++ shift
++ [[ snd_ac97_codec == \l\i\n\e\a\r ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ snd_ac97_codec == \r\a\i\d\1 ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ snd_ac97_codec == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ snd_ac97_codec == \r\a\i\d\1\0 ]]
++ shift
++ [[ snd_ac97_codec == \m\p\t\f\c ]]
++ shift
++ [[ snd_ac97_codec == \m\p\t\s\p\i ]]
++ shift
++ [[ snd_ac97_codec == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ snd_ac97_codec == \m\p\t\s\a\s ]]
++ shift
++ [[ snd_ac97_codec == \m\p\t\c\t\l ]]
++ shift
++ [[ snd_ac97_codec == \m\p\t\b\a\s\e ]]
++ shift
++ [[ snd_ac97_codec == \m\p\t\l\a\n ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ snd_ac97_codec == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ snd_ac97_codec == \a\a\c\r\a\i\d ]]
++ shift
++ [[ snd_ac97_codec == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ snd_ac97_codec == \c\h ]]
++ shift
++ [[ snd_ac97_codec == \b\f\a ]]
++ shift
++ [[ snd_ac97_codec == \b\n\x\2\i ]]
++ shift
++ [[ snd_ac97_codec == \l\i\b\f\c ]]
++ shift
++ [[ snd_ac97_codec == \s\r\_\m\o\d ]]
++ shift
++ [[ snd_ac97_codec == \l\i\b\s\a\s ]]
++ shift
++ [[ snd_ac97_codec == \p\m\c\r\a\i\d ]]
++ shift
++ [[ snd_ac97_codec == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ snd_ac97_codec == \s\g ]]
++ shift
++ [[ snd_ac97_codec == \i\m\m ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ snd_ac97_codec == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ snd_ac97_codec == \l\i\b\o\s\d ]]
++ shift
++ [[ snd_ac97_codec == \o\s\d ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ snd_ac97_codec == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_ac97_codec == \a\i\c\7\9\x\x ]]
++ shift
++ [[ snd_ac97_codec == \a\i\c\7\x\x\x ]]
++ shift
++ [[ snd_ac97_codec == \f\c\o\e ]]
++ shift
++ [[ snd_ac97_codec == \l\i\b\f\c\o\e ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ snd_ac97_codec == \p\p\a ]]
++ shift
++ [[ snd_ac97_codec == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ snd_ac97_codec == \s\t\e\x ]]
++ shift
++ [[ snd_ac97_codec == \s\e\s ]]
++ shift
++ [[ snd_ac97_codec == \i\p\s ]]
++ shift
++ [[ snd_ac97_codec == \a\r\c\m\s\r ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ snd_ac97_codec == \3\w\-\x\x\x\x ]]
++ shift
++ [[ snd_ac97_codec == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_ac97_codec == \m\v\s\a\s ]]
++ shift
++ [[ snd_ac97_codec == \c\x\g\b\4\i ]]
++ shift
++ [[ snd_ac97_codec == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ snd_ac97_codec == \c\x\g\b\3\i ]]
++ shift
++ [[ snd_ac97_codec == \3\w\-\9\x\x\x ]]
++ shift
++ [[ snd_ac97_codec == \h\p\t\i\o\p ]]
++ shift
++ [[ snd_ac97_codec == \l\i\b\s\r\p ]]
++ shift
++ [[ snd_ac97_codec == \s\t ]]
++ shift
++ [[ snd_ac97_codec == \q\l\a\2\x\x\x ]]
++ shift
++ [[ snd_ac97_codec == \s\d\_\m\o\d ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ snd_ac97_codec == \l\p\f\c ]]
++ shift
++ [[ snd_ac97_codec == \i\s\c\i ]]
++ shift
++ [[ snd_ac97_codec == \3\w\-\s\a\s ]]
++ shift
++ [[ snd_ac97_codec == \i\n\i\t\i\o ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ snd_ac97_codec == \o\s\s\t ]]
++ shift
++ [[ snd_ac97_codec == \a\i\c\9\4\x\x ]]
++ shift
++ [[ snd_ac97_codec == \b\n\x\2\f\c ]]
++ shift
++ [[ snd_ac97_codec == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ snd_ac97_codec == \q\l\a\4\x\x\x ]]
++ shift
++ [[ snd_ac97_codec == \m\p\t\2\s\a\s ]]
++ shift
++ [[ snd_ac97_codec == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ snd_ac97_codec == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ snd_ac97_codec == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ snd_ac97_codec == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ snd_ac97_codec == \f\n\i\c ]]
++ shift
++ [[ snd_ac97_codec == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ snd_ac97_codec == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ snd_ac97_codec == \h\p\s\a ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ snd_ac97_codec == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ snd_ac97_codec == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ snd_ac97_codec == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ac97_bus sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=ac97_bus
++ shift
++ [[ ac97_bus == \s\x\8 ]]
++ shift
++ [[ ac97_bus == \a\o\e ]]
++ shift
++ [[ ac97_bus == \o\s\d\b\l\k ]]
++ shift
++ [[ ac97_bus == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ac97_bus == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ ac97_bus == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ac97_bus == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ac97_bus == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ac97_bus == \c\c\i\s\s ]]
++ shift
++ [[ ac97_bus == \f\l\o\p\p\y ]]
++ shift
++ [[ ac97_bus == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ ac97_bus == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ ac97_bus == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ ac97_bus == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ac97_bus == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ac97_bus == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ac97_bus == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ac97_bus == \a\h\c\i ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\m\v ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ ac97_bus == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ ac97_bus == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ac97_bus == \d\m\-\r\a\i\d ]]
++ shift
++ [[ ac97_bus == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ ac97_bus == \f\a\u\l\t\y ]]
++ shift
++ [[ ac97_bus == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ac97_bus == \d\m\-\z\e\r\o ]]
++ shift
++ [[ ac97_bus == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ ac97_bus == \d\m\-\m\o\d ]]
++ shift
++ [[ ac97_bus == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ ac97_bus == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ ac97_bus == \r\a\i\d\0 ]]
++ shift
++ [[ ac97_bus == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ ac97_bus == \d\m\-\l\o\g ]]
++ shift
++ [[ ac97_bus == \l\i\n\e\a\r ]]
++ shift
++ [[ ac97_bus == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ ac97_bus == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ ac97_bus == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ ac97_bus == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ ac97_bus == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ ac97_bus == \r\a\i\d\1 ]]
++ shift
++ [[ ac97_bus == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ ac97_bus == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ ac97_bus == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ ac97_bus == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ ac97_bus == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ ac97_bus == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ ac97_bus == \r\a\i\d\1\0 ]]
++ shift
++ [[ ac97_bus == \m\p\t\f\c ]]
++ shift
++ [[ ac97_bus == \m\p\t\s\p\i ]]
++ shift
++ [[ ac97_bus == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ ac97_bus == \m\p\t\s\a\s ]]
++ shift
++ [[ ac97_bus == \m\p\t\c\t\l ]]
++ shift
++ [[ ac97_bus == \m\p\t\b\a\s\e ]]
++ shift
++ [[ ac97_bus == \m\p\t\l\a\n ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ ac97_bus == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ ac97_bus == \a\a\c\r\a\i\d ]]
++ shift
++ [[ ac97_bus == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ ac97_bus == \c\h ]]
++ shift
++ [[ ac97_bus == \b\f\a ]]
++ shift
++ [[ ac97_bus == \b\n\x\2\i ]]
++ shift
++ [[ ac97_bus == \l\i\b\f\c ]]
++ shift
++ [[ ac97_bus == \s\r\_\m\o\d ]]
++ shift
++ [[ ac97_bus == \l\i\b\s\a\s ]]
++ shift
++ [[ ac97_bus == \p\m\c\r\a\i\d ]]
++ shift
++ [[ ac97_bus == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ ac97_bus == \s\g ]]
++ shift
++ [[ ac97_bus == \i\m\m ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ ac97_bus == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ ac97_bus == \l\i\b\o\s\d ]]
++ shift
++ [[ ac97_bus == \o\s\d ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ ac97_bus == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ac97_bus == \a\i\c\7\9\x\x ]]
++ shift
++ [[ ac97_bus == \a\i\c\7\x\x\x ]]
++ shift
++ [[ ac97_bus == \f\c\o\e ]]
++ shift
++ [[ ac97_bus == \l\i\b\f\c\o\e ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ ac97_bus == \p\p\a ]]
++ shift
++ [[ ac97_bus == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ ac97_bus == \s\t\e\x ]]
++ shift
++ [[ ac97_bus == \s\e\s ]]
++ shift
++ [[ ac97_bus == \i\p\s ]]
++ shift
++ [[ ac97_bus == \a\r\c\m\s\r ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ ac97_bus == \3\w\-\x\x\x\x ]]
++ shift
++ [[ ac97_bus == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ac97_bus == \m\v\s\a\s ]]
++ shift
++ [[ ac97_bus == \c\x\g\b\4\i ]]
++ shift
++ [[ ac97_bus == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ ac97_bus == \c\x\g\b\3\i ]]
++ shift
++ [[ ac97_bus == \3\w\-\9\x\x\x ]]
++ shift
++ [[ ac97_bus == \h\p\t\i\o\p ]]
++ shift
++ [[ ac97_bus == \l\i\b\s\r\p ]]
++ shift
++ [[ ac97_bus == \s\t ]]
++ shift
++ [[ ac97_bus == \q\l\a\2\x\x\x ]]
++ shift
++ [[ ac97_bus == \s\d\_\m\o\d ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ ac97_bus == \l\p\f\c ]]
++ shift
++ [[ ac97_bus == \i\s\c\i ]]
++ shift
++ [[ ac97_bus == \3\w\-\s\a\s ]]
++ shift
++ [[ ac97_bus == \i\n\i\t\i\o ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ ac97_bus == \o\s\s\t ]]
++ shift
++ [[ ac97_bus == \a\i\c\9\4\x\x ]]
++ shift
++ [[ ac97_bus == \b\n\x\2\f\c ]]
++ shift
++ [[ ac97_bus == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ ac97_bus == \q\l\a\4\x\x\x ]]
++ shift
++ [[ ac97_bus == \m\p\t\2\s\a\s ]]
++ shift
++ [[ ac97_bus == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ ac97_bus == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ ac97_bus == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ ac97_bus == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ ac97_bus == \f\n\i\c ]]
++ shift
++ [[ ac97_bus == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ ac97_bus == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ ac97_bus == \h\p\s\a ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ ac97_bus == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ ac97_bus == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ ac97_bus == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray snd_seq sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=snd_seq
++ shift
++ [[ snd_seq == \s\x\8 ]]
++ shift
++ [[ snd_seq == \a\o\e ]]
++ shift
++ [[ snd_seq == \o\s\d\b\l\k ]]
++ shift
++ [[ snd_seq == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ snd_seq == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ snd_seq == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ snd_seq == \p\k\t\c\d\v\d ]]
++ shift
++ [[ snd_seq == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ snd_seq == \c\c\i\s\s ]]
++ shift
++ [[ snd_seq == \f\l\o\p\p\y ]]
++ shift
++ [[ snd_seq == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ snd_seq == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ snd_seq == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ snd_seq == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ snd_seq == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ snd_seq == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\n\v ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ snd_seq == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_seq == \a\h\c\i ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\m\v ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ snd_seq == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ snd_seq == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_seq == \d\m\-\r\a\i\d ]]
++ shift
++ [[ snd_seq == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ snd_seq == \f\a\u\l\t\y ]]
++ shift
++ [[ snd_seq == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ snd_seq == \d\m\-\z\e\r\o ]]
++ shift
++ [[ snd_seq == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ snd_seq == \d\m\-\m\o\d ]]
++ shift
++ [[ snd_seq == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ snd_seq == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ snd_seq == \r\a\i\d\0 ]]
++ shift
++ [[ snd_seq == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ snd_seq == \d\m\-\l\o\g ]]
++ shift
++ [[ snd_seq == \l\i\n\e\a\r ]]
++ shift
++ [[ snd_seq == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ snd_seq == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ snd_seq == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ snd_seq == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ snd_seq == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ snd_seq == \r\a\i\d\1 ]]
++ shift
++ [[ snd_seq == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ snd_seq == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ snd_seq == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ snd_seq == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ snd_seq == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ snd_seq == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ snd_seq == \r\a\i\d\1\0 ]]
++ shift
++ [[ snd_seq == \m\p\t\f\c ]]
++ shift
++ [[ snd_seq == \m\p\t\s\p\i ]]
++ shift
++ [[ snd_seq == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ snd_seq == \m\p\t\s\a\s ]]
++ shift
++ [[ snd_seq == \m\p\t\c\t\l ]]
++ shift
++ [[ snd_seq == \m\p\t\b\a\s\e ]]
++ shift
++ [[ snd_seq == \m\p\t\l\a\n ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ snd_seq == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ snd_seq == \a\a\c\r\a\i\d ]]
++ shift
++ [[ snd_seq == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ snd_seq == \c\h ]]
++ shift
++ [[ snd_seq == \b\f\a ]]
++ shift
++ [[ snd_seq == \b\n\x\2\i ]]
++ shift
++ [[ snd_seq == \l\i\b\f\c ]]
++ shift
++ [[ snd_seq == \s\r\_\m\o\d ]]
++ shift
++ [[ snd_seq == \l\i\b\s\a\s ]]
++ shift
++ [[ snd_seq == \p\m\c\r\a\i\d ]]
++ shift
++ [[ snd_seq == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ snd_seq == \s\g ]]
++ shift
++ [[ snd_seq == \i\m\m ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ snd_seq == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ snd_seq == \l\i\b\o\s\d ]]
++ shift
++ [[ snd_seq == \o\s\d ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ snd_seq == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_seq == \a\i\c\7\9\x\x ]]
++ shift
++ [[ snd_seq == \a\i\c\7\x\x\x ]]
++ shift
++ [[ snd_seq == \f\c\o\e ]]
++ shift
++ [[ snd_seq == \l\i\b\f\c\o\e ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ snd_seq == \p\p\a ]]
++ shift
++ [[ snd_seq == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ snd_seq == \s\t\e\x ]]
++ shift
++ [[ snd_seq == \s\e\s ]]
++ shift
++ [[ snd_seq == \i\p\s ]]
++ shift
++ [[ snd_seq == \a\r\c\m\s\r ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ snd_seq == \3\w\-\x\x\x\x ]]
++ shift
++ [[ snd_seq == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_seq == \m\v\s\a\s ]]
++ shift
++ [[ snd_seq == \c\x\g\b\4\i ]]
++ shift
++ [[ snd_seq == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ snd_seq == \c\x\g\b\3\i ]]
++ shift
++ [[ snd_seq == \3\w\-\9\x\x\x ]]
++ shift
++ [[ snd_seq == \h\p\t\i\o\p ]]
++ shift
++ [[ snd_seq == \l\i\b\s\r\p ]]
++ shift
++ [[ snd_seq == \s\t ]]
++ shift
++ [[ snd_seq == \q\l\a\2\x\x\x ]]
++ shift
++ [[ snd_seq == \s\d\_\m\o\d ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ snd_seq == \l\p\f\c ]]
++ shift
++ [[ snd_seq == \i\s\c\i ]]
++ shift
++ [[ snd_seq == \3\w\-\s\a\s ]]
++ shift
++ [[ snd_seq == \i\n\i\t\i\o ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ snd_seq == \o\s\s\t ]]
++ shift
++ [[ snd_seq == \a\i\c\9\4\x\x ]]
++ shift
++ [[ snd_seq == \b\n\x\2\f\c ]]
++ shift
++ [[ snd_seq == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ snd_seq == \q\l\a\4\x\x\x ]]
++ shift
++ [[ snd_seq == \m\p\t\2\s\a\s ]]
++ shift
++ [[ snd_seq == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ snd_seq == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ snd_seq == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ snd_seq == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ snd_seq == \f\n\i\c ]]
++ shift
++ [[ snd_seq == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ snd_seq == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ snd_seq == \h\p\s\a ]]
++ shift
++ [[ snd_seq == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ snd_seq == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ snd_seq == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ snd_seq == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ snd_seq == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ snd_seq == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ snd_seq == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ snd_seq == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ snd_seq == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ snd_seq == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ snd_seq == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ snd_seq == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ snd_seq == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray snd_seq_device sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=snd_seq_device
++ shift
++ [[ snd_seq_device == \s\x\8 ]]
++ shift
++ [[ snd_seq_device == \a\o\e ]]
++ shift
++ [[ snd_seq_device == \o\s\d\b\l\k ]]
++ shift
++ [[ snd_seq_device == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ snd_seq_device == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ snd_seq_device == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ snd_seq_device == \p\k\t\c\d\v\d ]]
++ shift
++ [[ snd_seq_device == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ snd_seq_device == \c\c\i\s\s ]]
++ shift
++ [[ snd_seq_device == \f\l\o\p\p\y ]]
++ shift
++ [[ snd_seq_device == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ snd_seq_device == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ snd_seq_device == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ snd_seq_device == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ snd_seq_device == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ snd_seq_device == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\n\v ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ snd_seq_device == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_seq_device == \a\h\c\i ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\m\v ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ snd_seq_device == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ snd_seq_device == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_seq_device == \d\m\-\r\a\i\d ]]
++ shift
++ [[ snd_seq_device == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ snd_seq_device == \f\a\u\l\t\y ]]
++ shift
++ [[ snd_seq_device == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ snd_seq_device == \d\m\-\z\e\r\o ]]
++ shift
++ [[ snd_seq_device == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ snd_seq_device == \d\m\-\m\o\d ]]
++ shift
++ [[ snd_seq_device == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ snd_seq_device == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ snd_seq_device == \r\a\i\d\0 ]]
++ shift
++ [[ snd_seq_device == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ snd_seq_device == \d\m\-\l\o\g ]]
++ shift
++ [[ snd_seq_device == \l\i\n\e\a\r ]]
++ shift
++ [[ snd_seq_device == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ snd_seq_device == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ snd_seq_device == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ snd_seq_device == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ snd_seq_device == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ snd_seq_device == \r\a\i\d\1 ]]
++ shift
++ [[ snd_seq_device == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ snd_seq_device == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ snd_seq_device == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ snd_seq_device == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ snd_seq_device == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ snd_seq_device == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ snd_seq_device == \r\a\i\d\1\0 ]]
++ shift
++ [[ snd_seq_device == \m\p\t\f\c ]]
++ shift
++ [[ snd_seq_device == \m\p\t\s\p\i ]]
++ shift
++ [[ snd_seq_device == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ snd_seq_device == \m\p\t\s\a\s ]]
++ shift
++ [[ snd_seq_device == \m\p\t\c\t\l ]]
++ shift
++ [[ snd_seq_device == \m\p\t\b\a\s\e ]]
++ shift
++ [[ snd_seq_device == \m\p\t\l\a\n ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ snd_seq_device == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ snd_seq_device == \a\a\c\r\a\i\d ]]
++ shift
++ [[ snd_seq_device == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ snd_seq_device == \c\h ]]
++ shift
++ [[ snd_seq_device == \b\f\a ]]
++ shift
++ [[ snd_seq_device == \b\n\x\2\i ]]
++ shift
++ [[ snd_seq_device == \l\i\b\f\c ]]
++ shift
++ [[ snd_seq_device == \s\r\_\m\o\d ]]
++ shift
++ [[ snd_seq_device == \l\i\b\s\a\s ]]
++ shift
++ [[ snd_seq_device == \p\m\c\r\a\i\d ]]
++ shift
++ [[ snd_seq_device == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ snd_seq_device == \s\g ]]
++ shift
++ [[ snd_seq_device == \i\m\m ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ snd_seq_device == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ snd_seq_device == \l\i\b\o\s\d ]]
++ shift
++ [[ snd_seq_device == \o\s\d ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ snd_seq_device == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_seq_device == \a\i\c\7\9\x\x ]]
++ shift
++ [[ snd_seq_device == \a\i\c\7\x\x\x ]]
++ shift
++ [[ snd_seq_device == \f\c\o\e ]]
++ shift
++ [[ snd_seq_device == \l\i\b\f\c\o\e ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ snd_seq_device == \p\p\a ]]
++ shift
++ [[ snd_seq_device == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ snd_seq_device == \s\t\e\x ]]
++ shift
++ [[ snd_seq_device == \s\e\s ]]
++ shift
++ [[ snd_seq_device == \i\p\s ]]
++ shift
++ [[ snd_seq_device == \a\r\c\m\s\r ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ snd_seq_device == \3\w\-\x\x\x\x ]]
++ shift
++ [[ snd_seq_device == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_seq_device == \m\v\s\a\s ]]
++ shift
++ [[ snd_seq_device == \c\x\g\b\4\i ]]
++ shift
++ [[ snd_seq_device == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ snd_seq_device == \c\x\g\b\3\i ]]
++ shift
++ [[ snd_seq_device == \3\w\-\9\x\x\x ]]
++ shift
++ [[ snd_seq_device == \h\p\t\i\o\p ]]
++ shift
++ [[ snd_seq_device == \l\i\b\s\r\p ]]
++ shift
++ [[ snd_seq_device == \s\t ]]
++ shift
++ [[ snd_seq_device == \q\l\a\2\x\x\x ]]
++ shift
++ [[ snd_seq_device == \s\d\_\m\o\d ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ snd_seq_device == \l\p\f\c ]]
++ shift
++ [[ snd_seq_device == \i\s\c\i ]]
++ shift
++ [[ snd_seq_device == \3\w\-\s\a\s ]]
++ shift
++ [[ snd_seq_device == \i\n\i\t\i\o ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ snd_seq_device == \o\s\s\t ]]
++ shift
++ [[ snd_seq_device == \a\i\c\9\4\x\x ]]
++ shift
++ [[ snd_seq_device == \b\n\x\2\f\c ]]
++ shift
++ [[ snd_seq_device == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ snd_seq_device == \q\l\a\4\x\x\x ]]
++ shift
++ [[ snd_seq_device == \m\p\t\2\s\a\s ]]
++ shift
++ [[ snd_seq_device == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ snd_seq_device == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ snd_seq_device == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ snd_seq_device == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ snd_seq_device == \f\n\i\c ]]
++ shift
++ [[ snd_seq_device == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ snd_seq_device == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ snd_seq_device == \h\p\s\a ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ snd_seq_device == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ snd_seq_device == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ snd_seq_device == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray snd_pcm sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=snd_pcm
++ shift
++ [[ snd_pcm == \s\x\8 ]]
++ shift
++ [[ snd_pcm == \a\o\e ]]
++ shift
++ [[ snd_pcm == \o\s\d\b\l\k ]]
++ shift
++ [[ snd_pcm == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ snd_pcm == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ snd_pcm == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ snd_pcm == \p\k\t\c\d\v\d ]]
++ shift
++ [[ snd_pcm == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ snd_pcm == \c\c\i\s\s ]]
++ shift
++ [[ snd_pcm == \f\l\o\p\p\y ]]
++ shift
++ [[ snd_pcm == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ snd_pcm == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ snd_pcm == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ snd_pcm == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ snd_pcm == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ snd_pcm == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\n\v ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ snd_pcm == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_pcm == \a\h\c\i ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\m\v ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ snd_pcm == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ snd_pcm == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_pcm == \d\m\-\r\a\i\d ]]
++ shift
++ [[ snd_pcm == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ snd_pcm == \f\a\u\l\t\y ]]
++ shift
++ [[ snd_pcm == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ snd_pcm == \d\m\-\z\e\r\o ]]
++ shift
++ [[ snd_pcm == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ snd_pcm == \d\m\-\m\o\d ]]
++ shift
++ [[ snd_pcm == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ snd_pcm == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ snd_pcm == \r\a\i\d\0 ]]
++ shift
++ [[ snd_pcm == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ snd_pcm == \d\m\-\l\o\g ]]
++ shift
++ [[ snd_pcm == \l\i\n\e\a\r ]]
++ shift
++ [[ snd_pcm == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ snd_pcm == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ snd_pcm == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ snd_pcm == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ snd_pcm == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ snd_pcm == \r\a\i\d\1 ]]
++ shift
++ [[ snd_pcm == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ snd_pcm == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ snd_pcm == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ snd_pcm == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ snd_pcm == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ snd_pcm == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ snd_pcm == \r\a\i\d\1\0 ]]
++ shift
++ [[ snd_pcm == \m\p\t\f\c ]]
++ shift
++ [[ snd_pcm == \m\p\t\s\p\i ]]
++ shift
++ [[ snd_pcm == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ snd_pcm == \m\p\t\s\a\s ]]
++ shift
++ [[ snd_pcm == \m\p\t\c\t\l ]]
++ shift
++ [[ snd_pcm == \m\p\t\b\a\s\e ]]
++ shift
++ [[ snd_pcm == \m\p\t\l\a\n ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ snd_pcm == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ snd_pcm == \a\a\c\r\a\i\d ]]
++ shift
++ [[ snd_pcm == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ snd_pcm == \c\h ]]
++ shift
++ [[ snd_pcm == \b\f\a ]]
++ shift
++ [[ snd_pcm == \b\n\x\2\i ]]
++ shift
++ [[ snd_pcm == \l\i\b\f\c ]]
++ shift
++ [[ snd_pcm == \s\r\_\m\o\d ]]
++ shift
++ [[ snd_pcm == \l\i\b\s\a\s ]]
++ shift
++ [[ snd_pcm == \p\m\c\r\a\i\d ]]
++ shift
++ [[ snd_pcm == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ snd_pcm == \s\g ]]
++ shift
++ [[ snd_pcm == \i\m\m ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ snd_pcm == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ snd_pcm == \l\i\b\o\s\d ]]
++ shift
++ [[ snd_pcm == \o\s\d ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ snd_pcm == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_pcm == \a\i\c\7\9\x\x ]]
++ shift
++ [[ snd_pcm == \a\i\c\7\x\x\x ]]
++ shift
++ [[ snd_pcm == \f\c\o\e ]]
++ shift
++ [[ snd_pcm == \l\i\b\f\c\o\e ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ snd_pcm == \p\p\a ]]
++ shift
++ [[ snd_pcm == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ snd_pcm == \s\t\e\x ]]
++ shift
++ [[ snd_pcm == \s\e\s ]]
++ shift
++ [[ snd_pcm == \i\p\s ]]
++ shift
++ [[ snd_pcm == \a\r\c\m\s\r ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ snd_pcm == \3\w\-\x\x\x\x ]]
++ shift
++ [[ snd_pcm == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_pcm == \m\v\s\a\s ]]
++ shift
++ [[ snd_pcm == \c\x\g\b\4\i ]]
++ shift
++ [[ snd_pcm == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ snd_pcm == \c\x\g\b\3\i ]]
++ shift
++ [[ snd_pcm == \3\w\-\9\x\x\x ]]
++ shift
++ [[ snd_pcm == \h\p\t\i\o\p ]]
++ shift
++ [[ snd_pcm == \l\i\b\s\r\p ]]
++ shift
++ [[ snd_pcm == \s\t ]]
++ shift
++ [[ snd_pcm == \q\l\a\2\x\x\x ]]
++ shift
++ [[ snd_pcm == \s\d\_\m\o\d ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ snd_pcm == \l\p\f\c ]]
++ shift
++ [[ snd_pcm == \i\s\c\i ]]
++ shift
++ [[ snd_pcm == \3\w\-\s\a\s ]]
++ shift
++ [[ snd_pcm == \i\n\i\t\i\o ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ snd_pcm == \o\s\s\t ]]
++ shift
++ [[ snd_pcm == \a\i\c\9\4\x\x ]]
++ shift
++ [[ snd_pcm == \b\n\x\2\f\c ]]
++ shift
++ [[ snd_pcm == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ snd_pcm == \q\l\a\4\x\x\x ]]
++ shift
++ [[ snd_pcm == \m\p\t\2\s\a\s ]]
++ shift
++ [[ snd_pcm == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ snd_pcm == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ snd_pcm == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ snd_pcm == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ snd_pcm == \f\n\i\c ]]
++ shift
++ [[ snd_pcm == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ snd_pcm == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ snd_pcm == \h\p\s\a ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ snd_pcm == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ snd_pcm == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ snd_pcm == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray snd_timer sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=snd_timer
++ shift
++ [[ snd_timer == \s\x\8 ]]
++ shift
++ [[ snd_timer == \a\o\e ]]
++ shift
++ [[ snd_timer == \o\s\d\b\l\k ]]
++ shift
++ [[ snd_timer == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ snd_timer == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ snd_timer == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ snd_timer == \p\k\t\c\d\v\d ]]
++ shift
++ [[ snd_timer == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ snd_timer == \c\c\i\s\s ]]
++ shift
++ [[ snd_timer == \f\l\o\p\p\y ]]
++ shift
++ [[ snd_timer == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ snd_timer == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ snd_timer == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ snd_timer == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ snd_timer == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ snd_timer == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\n\v ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ snd_timer == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_timer == \a\h\c\i ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\m\v ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ snd_timer == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ snd_timer == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_timer == \d\m\-\r\a\i\d ]]
++ shift
++ [[ snd_timer == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ snd_timer == \f\a\u\l\t\y ]]
++ shift
++ [[ snd_timer == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ snd_timer == \d\m\-\z\e\r\o ]]
++ shift
++ [[ snd_timer == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ snd_timer == \d\m\-\m\o\d ]]
++ shift
++ [[ snd_timer == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ snd_timer == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ snd_timer == \r\a\i\d\0 ]]
++ shift
++ [[ snd_timer == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ snd_timer == \d\m\-\l\o\g ]]
++ shift
++ [[ snd_timer == \l\i\n\e\a\r ]]
++ shift
++ [[ snd_timer == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ snd_timer == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ snd_timer == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ snd_timer == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ snd_timer == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ snd_timer == \r\a\i\d\1 ]]
++ shift
++ [[ snd_timer == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ snd_timer == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ snd_timer == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ snd_timer == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ snd_timer == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ snd_timer == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ snd_timer == \r\a\i\d\1\0 ]]
++ shift
++ [[ snd_timer == \m\p\t\f\c ]]
++ shift
++ [[ snd_timer == \m\p\t\s\p\i ]]
++ shift
++ [[ snd_timer == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ snd_timer == \m\p\t\s\a\s ]]
++ shift
++ [[ snd_timer == \m\p\t\c\t\l ]]
++ shift
++ [[ snd_timer == \m\p\t\b\a\s\e ]]
++ shift
++ [[ snd_timer == \m\p\t\l\a\n ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ snd_timer == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ snd_timer == \a\a\c\r\a\i\d ]]
++ shift
++ [[ snd_timer == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ snd_timer == \c\h ]]
++ shift
++ [[ snd_timer == \b\f\a ]]
++ shift
++ [[ snd_timer == \b\n\x\2\i ]]
++ shift
++ [[ snd_timer == \l\i\b\f\c ]]
++ shift
++ [[ snd_timer == \s\r\_\m\o\d ]]
++ shift
++ [[ snd_timer == \l\i\b\s\a\s ]]
++ shift
++ [[ snd_timer == \p\m\c\r\a\i\d ]]
++ shift
++ [[ snd_timer == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ snd_timer == \s\g ]]
++ shift
++ [[ snd_timer == \i\m\m ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ snd_timer == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ snd_timer == \l\i\b\o\s\d ]]
++ shift
++ [[ snd_timer == \o\s\d ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ snd_timer == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_timer == \a\i\c\7\9\x\x ]]
++ shift
++ [[ snd_timer == \a\i\c\7\x\x\x ]]
++ shift
++ [[ snd_timer == \f\c\o\e ]]
++ shift
++ [[ snd_timer == \l\i\b\f\c\o\e ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ snd_timer == \p\p\a ]]
++ shift
++ [[ snd_timer == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ snd_timer == \s\t\e\x ]]
++ shift
++ [[ snd_timer == \s\e\s ]]
++ shift
++ [[ snd_timer == \i\p\s ]]
++ shift
++ [[ snd_timer == \a\r\c\m\s\r ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ snd_timer == \3\w\-\x\x\x\x ]]
++ shift
++ [[ snd_timer == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_timer == \m\v\s\a\s ]]
++ shift
++ [[ snd_timer == \c\x\g\b\4\i ]]
++ shift
++ [[ snd_timer == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ snd_timer == \c\x\g\b\3\i ]]
++ shift
++ [[ snd_timer == \3\w\-\9\x\x\x ]]
++ shift
++ [[ snd_timer == \h\p\t\i\o\p ]]
++ shift
++ [[ snd_timer == \l\i\b\s\r\p ]]
++ shift
++ [[ snd_timer == \s\t ]]
++ shift
++ [[ snd_timer == \q\l\a\2\x\x\x ]]
++ shift
++ [[ snd_timer == \s\d\_\m\o\d ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ snd_timer == \l\p\f\c ]]
++ shift
++ [[ snd_timer == \i\s\c\i ]]
++ shift
++ [[ snd_timer == \3\w\-\s\a\s ]]
++ shift
++ [[ snd_timer == \i\n\i\t\i\o ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ snd_timer == \o\s\s\t ]]
++ shift
++ [[ snd_timer == \a\i\c\9\4\x\x ]]
++ shift
++ [[ snd_timer == \b\n\x\2\f\c ]]
++ shift
++ [[ snd_timer == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ snd_timer == \q\l\a\4\x\x\x ]]
++ shift
++ [[ snd_timer == \m\p\t\2\s\a\s ]]
++ shift
++ [[ snd_timer == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ snd_timer == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ snd_timer == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ snd_timer == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ snd_timer == \f\n\i\c ]]
++ shift
++ [[ snd_timer == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ snd_timer == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ snd_timer == \h\p\s\a ]]
++ shift
++ [[ snd_timer == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ snd_timer == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ snd_timer == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ snd_timer == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ snd_timer == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ snd_timer == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ snd_timer == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ snd_timer == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ snd_timer == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ snd_timer == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ snd_timer == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ snd_timer == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ snd_timer == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray snd sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=snd
++ shift
++ [[ snd == \s\x\8 ]]
++ shift
++ [[ snd == \a\o\e ]]
++ shift
++ [[ snd == \o\s\d\b\l\k ]]
++ shift
++ [[ snd == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ snd == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ snd == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ snd == \p\k\t\c\d\v\d ]]
++ shift
++ [[ snd == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ snd == \c\c\i\s\s ]]
++ shift
++ [[ snd == \f\l\o\p\p\y ]]
++ shift
++ [[ snd == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ snd == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ snd == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ snd == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ snd == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ snd == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ snd == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ snd == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ snd == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ snd == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ snd == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ snd == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ snd == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ snd == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ snd == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ snd == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ snd == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ snd == \s\a\t\a\_\n\v ]]
++ shift
++ [[ snd == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ snd == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ snd == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ snd == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ snd == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ snd == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ snd == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ snd == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ snd == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ snd == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ snd == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ snd == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ snd == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd == \a\h\c\i ]]
++ shift
++ [[ snd == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ snd == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ snd == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ snd == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ snd == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ snd == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ snd == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ snd == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ snd == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ snd == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ snd == \s\a\t\a\_\m\v ]]
++ shift
++ [[ snd == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ snd == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ snd == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd == \d\m\-\r\a\i\d ]]
++ shift
++ [[ snd == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ snd == \f\a\u\l\t\y ]]
++ shift
++ [[ snd == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ snd == \d\m\-\z\e\r\o ]]
++ shift
++ [[ snd == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ snd == \d\m\-\m\o\d ]]
++ shift
++ [[ snd == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ snd == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ snd == \r\a\i\d\0 ]]
++ shift
++ [[ snd == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ snd == \d\m\-\l\o\g ]]
++ shift
++ [[ snd == \l\i\n\e\a\r ]]
++ shift
++ [[ snd == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ snd == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ snd == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ snd == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ snd == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ snd == \r\a\i\d\1 ]]
++ shift
++ [[ snd == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ snd == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ snd == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ snd == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ snd == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ snd == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ snd == \r\a\i\d\1\0 ]]
++ shift
++ [[ snd == \m\p\t\f\c ]]
++ shift
++ [[ snd == \m\p\t\s\p\i ]]
++ shift
++ [[ snd == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ snd == \m\p\t\s\a\s ]]
++ shift
++ [[ snd == \m\p\t\c\t\l ]]
++ shift
++ [[ snd == \m\p\t\b\a\s\e ]]
++ shift
++ [[ snd == \m\p\t\l\a\n ]]
++ shift
++ [[ snd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ snd == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ snd == \a\a\c\r\a\i\d ]]
++ shift
++ [[ snd == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ snd == \c\h ]]
++ shift
++ [[ snd == \b\f\a ]]
++ shift
++ [[ snd == \b\n\x\2\i ]]
++ shift
++ [[ snd == \l\i\b\f\c ]]
++ shift
++ [[ snd == \s\r\_\m\o\d ]]
++ shift
++ [[ snd == \l\i\b\s\a\s ]]
++ shift
++ [[ snd == \p\m\c\r\a\i\d ]]
++ shift
++ [[ snd == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ snd == \s\g ]]
++ shift
++ [[ snd == \i\m\m ]]
++ shift
++ [[ snd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ snd == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ snd == \l\i\b\o\s\d ]]
++ shift
++ [[ snd == \o\s\d ]]
++ shift
++ [[ snd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ snd == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd == \a\i\c\7\9\x\x ]]
++ shift
++ [[ snd == \a\i\c\7\x\x\x ]]
++ shift
++ [[ snd == \f\c\o\e ]]
++ shift
++ [[ snd == \l\i\b\f\c\o\e ]]
++ shift
++ [[ snd == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ snd == \p\p\a ]]
++ shift
++ [[ snd == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ snd == \s\t\e\x ]]
++ shift
++ [[ snd == \s\e\s ]]
++ shift
++ [[ snd == \i\p\s ]]
++ shift
++ [[ snd == \a\r\c\m\s\r ]]
++ shift
++ [[ snd == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ snd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ snd == \3\w\-\x\x\x\x ]]
++ shift
++ [[ snd == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd == \m\v\s\a\s ]]
++ shift
++ [[ snd == \c\x\g\b\4\i ]]
++ shift
++ [[ snd == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ snd == \c\x\g\b\3\i ]]
++ shift
++ [[ snd == \3\w\-\9\x\x\x ]]
++ shift
++ [[ snd == \h\p\t\i\o\p ]]
++ shift
++ [[ snd == \l\i\b\s\r\p ]]
++ shift
++ [[ snd == \s\t ]]
++ shift
++ [[ snd == \q\l\a\2\x\x\x ]]
++ shift
++ [[ snd == \s\d\_\m\o\d ]]
++ shift
++ [[ snd == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ snd == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ snd == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ snd == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ snd == \l\p\f\c ]]
++ shift
++ [[ snd == \i\s\c\i ]]
++ shift
++ [[ snd == \3\w\-\s\a\s ]]
++ shift
++ [[ snd == \i\n\i\t\i\o ]]
++ shift
++ [[ snd == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ snd == \o\s\s\t ]]
++ shift
++ [[ snd == \a\i\c\9\4\x\x ]]
++ shift
++ [[ snd == \b\n\x\2\f\c ]]
++ shift
++ [[ snd == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ snd == \q\l\a\4\x\x\x ]]
++ shift
++ [[ snd == \m\p\t\2\s\a\s ]]
++ shift
++ [[ snd == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ snd == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ snd == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ snd == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ snd == \f\n\i\c ]]
++ shift
++ [[ snd == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ snd == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ snd == \h\p\s\a ]]
++ shift
++ [[ snd == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ snd == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ snd == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ snd == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ snd == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ snd == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ snd == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ snd == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ snd == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ snd == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ snd == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ snd == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ snd == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray soundcore sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=soundcore
++ shift
++ [[ soundcore == \s\x\8 ]]
++ shift
++ [[ soundcore == \a\o\e ]]
++ shift
++ [[ soundcore == \o\s\d\b\l\k ]]
++ shift
++ [[ soundcore == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ soundcore == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ soundcore == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ soundcore == \p\k\t\c\d\v\d ]]
++ shift
++ [[ soundcore == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ soundcore == \c\c\i\s\s ]]
++ shift
++ [[ soundcore == \f\l\o\p\p\y ]]
++ shift
++ [[ soundcore == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ soundcore == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ soundcore == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ soundcore == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ soundcore == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ soundcore == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\n\v ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ soundcore == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ soundcore == \a\h\c\i ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\m\v ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ soundcore == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ soundcore == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ soundcore == \d\m\-\r\a\i\d ]]
++ shift
++ [[ soundcore == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ soundcore == \f\a\u\l\t\y ]]
++ shift
++ [[ soundcore == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ soundcore == \d\m\-\z\e\r\o ]]
++ shift
++ [[ soundcore == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ soundcore == \d\m\-\m\o\d ]]
++ shift
++ [[ soundcore == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ soundcore == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ soundcore == \r\a\i\d\0 ]]
++ shift
++ [[ soundcore == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ soundcore == \d\m\-\l\o\g ]]
++ shift
++ [[ soundcore == \l\i\n\e\a\r ]]
++ shift
++ [[ soundcore == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ soundcore == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ soundcore == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ soundcore == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ soundcore == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ soundcore == \r\a\i\d\1 ]]
++ shift
++ [[ soundcore == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ soundcore == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ soundcore == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ soundcore == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ soundcore == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ soundcore == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ soundcore == \r\a\i\d\1\0 ]]
++ shift
++ [[ soundcore == \m\p\t\f\c ]]
++ shift
++ [[ soundcore == \m\p\t\s\p\i ]]
++ shift
++ [[ soundcore == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ soundcore == \m\p\t\s\a\s ]]
++ shift
++ [[ soundcore == \m\p\t\c\t\l ]]
++ shift
++ [[ soundcore == \m\p\t\b\a\s\e ]]
++ shift
++ [[ soundcore == \m\p\t\l\a\n ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ soundcore == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ soundcore == \a\a\c\r\a\i\d ]]
++ shift
++ [[ soundcore == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ soundcore == \c\h ]]
++ shift
++ [[ soundcore == \b\f\a ]]
++ shift
++ [[ soundcore == \b\n\x\2\i ]]
++ shift
++ [[ soundcore == \l\i\b\f\c ]]
++ shift
++ [[ soundcore == \s\r\_\m\o\d ]]
++ shift
++ [[ soundcore == \l\i\b\s\a\s ]]
++ shift
++ [[ soundcore == \p\m\c\r\a\i\d ]]
++ shift
++ [[ soundcore == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ soundcore == \s\g ]]
++ shift
++ [[ soundcore == \i\m\m ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ soundcore == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ soundcore == \l\i\b\o\s\d ]]
++ shift
++ [[ soundcore == \o\s\d ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ soundcore == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ soundcore == \a\i\c\7\9\x\x ]]
++ shift
++ [[ soundcore == \a\i\c\7\x\x\x ]]
++ shift
++ [[ soundcore == \f\c\o\e ]]
++ shift
++ [[ soundcore == \l\i\b\f\c\o\e ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ soundcore == \p\p\a ]]
++ shift
++ [[ soundcore == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ soundcore == \s\t\e\x ]]
++ shift
++ [[ soundcore == \s\e\s ]]
++ shift
++ [[ soundcore == \i\p\s ]]
++ shift
++ [[ soundcore == \a\r\c\m\s\r ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ soundcore == \3\w\-\x\x\x\x ]]
++ shift
++ [[ soundcore == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ soundcore == \m\v\s\a\s ]]
++ shift
++ [[ soundcore == \c\x\g\b\4\i ]]
++ shift
++ [[ soundcore == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ soundcore == \c\x\g\b\3\i ]]
++ shift
++ [[ soundcore == \3\w\-\9\x\x\x ]]
++ shift
++ [[ soundcore == \h\p\t\i\o\p ]]
++ shift
++ [[ soundcore == \l\i\b\s\r\p ]]
++ shift
++ [[ soundcore == \s\t ]]
++ shift
++ [[ soundcore == \q\l\a\2\x\x\x ]]
++ shift
++ [[ soundcore == \s\d\_\m\o\d ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ soundcore == \l\p\f\c ]]
++ shift
++ [[ soundcore == \i\s\c\i ]]
++ shift
++ [[ soundcore == \3\w\-\s\a\s ]]
++ shift
++ [[ soundcore == \i\n\i\t\i\o ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ soundcore == \o\s\s\t ]]
++ shift
++ [[ soundcore == \a\i\c\9\4\x\x ]]
++ shift
++ [[ soundcore == \b\n\x\2\f\c ]]
++ shift
++ [[ soundcore == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ soundcore == \q\l\a\4\x\x\x ]]
++ shift
++ [[ soundcore == \m\p\t\2\s\a\s ]]
++ shift
++ [[ soundcore == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ soundcore == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ soundcore == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ soundcore == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ soundcore == \f\n\i\c ]]
++ shift
++ [[ soundcore == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ soundcore == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ soundcore == \h\p\s\a ]]
++ shift
++ [[ soundcore == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ soundcore == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ soundcore == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ soundcore == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ soundcore == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ soundcore == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ soundcore == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ soundcore == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ soundcore == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ soundcore == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ soundcore == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ soundcore == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ soundcore == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray snd_page_alloc sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=snd_page_alloc
++ shift
++ [[ snd_page_alloc == \s\x\8 ]]
++ shift
++ [[ snd_page_alloc == \a\o\e ]]
++ shift
++ [[ snd_page_alloc == \o\s\d\b\l\k ]]
++ shift
++ [[ snd_page_alloc == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ snd_page_alloc == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ snd_page_alloc == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ snd_page_alloc == \p\k\t\c\d\v\d ]]
++ shift
++ [[ snd_page_alloc == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ snd_page_alloc == \c\c\i\s\s ]]
++ shift
++ [[ snd_page_alloc == \f\l\o\p\p\y ]]
++ shift
++ [[ snd_page_alloc == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ snd_page_alloc == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ snd_page_alloc == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ snd_page_alloc == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ snd_page_alloc == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ snd_page_alloc == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\n\v ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ snd_page_alloc == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_page_alloc == \a\h\c\i ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\m\v ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ snd_page_alloc == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ snd_page_alloc == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\r\a\i\d ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ snd_page_alloc == \f\a\u\l\t\y ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\z\e\r\o ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\m\o\d ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ snd_page_alloc == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ snd_page_alloc == \r\a\i\d\0 ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\l\o\g ]]
++ shift
++ [[ snd_page_alloc == \l\i\n\e\a\r ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ snd_page_alloc == \r\a\i\d\1 ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ snd_page_alloc == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ snd_page_alloc == \r\a\i\d\1\0 ]]
++ shift
++ [[ snd_page_alloc == \m\p\t\f\c ]]
++ shift
++ [[ snd_page_alloc == \m\p\t\s\p\i ]]
++ shift
++ [[ snd_page_alloc == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ snd_page_alloc == \m\p\t\s\a\s ]]
++ shift
++ [[ snd_page_alloc == \m\p\t\c\t\l ]]
++ shift
++ [[ snd_page_alloc == \m\p\t\b\a\s\e ]]
++ shift
++ [[ snd_page_alloc == \m\p\t\l\a\n ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ snd_page_alloc == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ snd_page_alloc == \a\a\c\r\a\i\d ]]
++ shift
++ [[ snd_page_alloc == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ snd_page_alloc == \c\h ]]
++ shift
++ [[ snd_page_alloc == \b\f\a ]]
++ shift
++ [[ snd_page_alloc == \b\n\x\2\i ]]
++ shift
++ [[ snd_page_alloc == \l\i\b\f\c ]]
++ shift
++ [[ snd_page_alloc == \s\r\_\m\o\d ]]
++ shift
++ [[ snd_page_alloc == \l\i\b\s\a\s ]]
++ shift
++ [[ snd_page_alloc == \p\m\c\r\a\i\d ]]
++ shift
++ [[ snd_page_alloc == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ snd_page_alloc == \s\g ]]
++ shift
++ [[ snd_page_alloc == \i\m\m ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ snd_page_alloc == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ snd_page_alloc == \l\i\b\o\s\d ]]
++ shift
++ [[ snd_page_alloc == \o\s\d ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ snd_page_alloc == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_page_alloc == \a\i\c\7\9\x\x ]]
++ shift
++ [[ snd_page_alloc == \a\i\c\7\x\x\x ]]
++ shift
++ [[ snd_page_alloc == \f\c\o\e ]]
++ shift
++ [[ snd_page_alloc == \l\i\b\f\c\o\e ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ snd_page_alloc == \p\p\a ]]
++ shift
++ [[ snd_page_alloc == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ snd_page_alloc == \s\t\e\x ]]
++ shift
++ [[ snd_page_alloc == \s\e\s ]]
++ shift
++ [[ snd_page_alloc == \i\p\s ]]
++ shift
++ [[ snd_page_alloc == \a\r\c\m\s\r ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ snd_page_alloc == \3\w\-\x\x\x\x ]]
++ shift
++ [[ snd_page_alloc == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ snd_page_alloc == \m\v\s\a\s ]]
++ shift
++ [[ snd_page_alloc == \c\x\g\b\4\i ]]
++ shift
++ [[ snd_page_alloc == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ snd_page_alloc == \c\x\g\b\3\i ]]
++ shift
++ [[ snd_page_alloc == \3\w\-\9\x\x\x ]]
++ shift
++ [[ snd_page_alloc == \h\p\t\i\o\p ]]
++ shift
++ [[ snd_page_alloc == \l\i\b\s\r\p ]]
++ shift
++ [[ snd_page_alloc == \s\t ]]
++ shift
++ [[ snd_page_alloc == \q\l\a\2\x\x\x ]]
++ shift
++ [[ snd_page_alloc == \s\d\_\m\o\d ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ snd_page_alloc == \l\p\f\c ]]
++ shift
++ [[ snd_page_alloc == \i\s\c\i ]]
++ shift
++ [[ snd_page_alloc == \3\w\-\s\a\s ]]
++ shift
++ [[ snd_page_alloc == \i\n\i\t\i\o ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ snd_page_alloc == \o\s\s\t ]]
++ shift
++ [[ snd_page_alloc == \a\i\c\9\4\x\x ]]
++ shift
++ [[ snd_page_alloc == \b\n\x\2\f\c ]]
++ shift
++ [[ snd_page_alloc == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ snd_page_alloc == \q\l\a\4\x\x\x ]]
++ shift
++ [[ snd_page_alloc == \m\p\t\2\s\a\s ]]
++ shift
++ [[ snd_page_alloc == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ snd_page_alloc == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ snd_page_alloc == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ snd_page_alloc == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ snd_page_alloc == \f\n\i\c ]]
++ shift
++ [[ snd_page_alloc == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ snd_page_alloc == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ snd_page_alloc == \h\p\s\a ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ snd_page_alloc == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ snd_page_alloc == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ snd_page_alloc == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray e1000 sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=e1000
++ shift
++ [[ e1000 == \s\x\8 ]]
++ shift
++ [[ e1000 == \a\o\e ]]
++ shift
++ [[ e1000 == \o\s\d\b\l\k ]]
++ shift
++ [[ e1000 == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ e1000 == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ e1000 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ e1000 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ e1000 == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ e1000 == \c\c\i\s\s ]]
++ shift
++ [[ e1000 == \f\l\o\p\p\y ]]
++ shift
++ [[ e1000 == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ e1000 == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ e1000 == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ e1000 == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ e1000 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ e1000 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ e1000 == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ e1000 == \a\h\c\i ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\a\c\p\i ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ e1000 == \p\a\t\a\_\h\p\t\3\x\2\n ]]
++ shift
++ [[ e1000 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ e1000 == \d\m\-\r\a\i\d ]]
++ shift
++ [[ e1000 == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ e1000 == \f\a\u\l\t\y ]]
++ shift
++ [[ e1000 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ e1000 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ e1000 == \d\m\-\m\e\m\c\a\c\h\e ]]
++ shift
++ [[ e1000 == \d\m\-\m\o\d ]]
++ shift
++ [[ e1000 == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ e1000 == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ e1000 == \r\a\i\d\0 ]]
++ shift
++ [[ e1000 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ e1000 == \d\m\-\l\o\g ]]
++ shift
++ [[ e1000 == \l\i\n\e\a\r ]]
++ shift
++ [[ e1000 == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ e1000 == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ e1000 == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ e1000 == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ e1000 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ e1000 == \r\a\i\d\1 ]]
++ shift
++ [[ e1000 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ e1000 == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ e1000 == \d\m\-\r\a\i\d\4\5 ]]
++ shift
++ [[ e1000 == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ e1000 == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ e1000 == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ e1000 == \r\a\i\d\1\0 ]]
++ shift
++ [[ e1000 == \m\p\t\f\c ]]
++ shift
++ [[ e1000 == \m\p\t\s\p\i ]]
++ shift
++ [[ e1000 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ e1000 == \m\p\t\s\a\s ]]
++ shift
++ [[ e1000 == \m\p\t\c\t\l ]]
++ shift
++ [[ e1000 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ e1000 == \m\p\t\l\a\n ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ e1000 == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ e1000 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ e1000 == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ e1000 == \c\h ]]
++ shift
++ [[ e1000 == \b\f\a ]]
++ shift
++ [[ e1000 == \b\n\x\2\i ]]
++ shift
++ [[ e1000 == \l\i\b\f\c ]]
++ shift
++ [[ e1000 == \s\r\_\m\o\d ]]
++ shift
++ [[ e1000 == \l\i\b\s\a\s ]]
++ shift
++ [[ e1000 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ e1000 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ e1000 == \s\g ]]
++ shift
++ [[ e1000 == \i\m\m ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ e1000 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ e1000 == \l\i\b\o\s\d ]]
++ shift
++ [[ e1000 == \o\s\d ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ e1000 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ e1000 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ e1000 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ e1000 == \f\c\o\e ]]
++ shift
++ [[ e1000 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ e1000 == \p\p\a ]]
++ shift
++ [[ e1000 == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ e1000 == \s\t\e\x ]]
++ shift
++ [[ e1000 == \s\e\s ]]
++ shift
++ [[ e1000 == \i\p\s ]]
++ shift
++ [[ e1000 == \a\r\c\m\s\r ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ e1000 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ e1000 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ e1000 == \m\v\s\a\s ]]
++ shift
++ [[ e1000 == \c\x\g\b\4\i ]]
++ shift
++ [[ e1000 == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ e1000 == \c\x\g\b\3\i ]]
++ shift
++ [[ e1000 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ e1000 == \h\p\t\i\o\p ]]
++ shift
++ [[ e1000 == \l\i\b\s\r\p ]]
++ shift
++ [[ e1000 == \s\t ]]
++ shift
++ [[ e1000 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ e1000 == \s\d\_\m\o\d ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ e1000 == \l\p\f\c ]]
++ shift
++ [[ e1000 == \i\s\c\i ]]
++ shift
++ [[ e1000 == \3\w\-\s\a\s ]]
++ shift
++ [[ e1000 == \i\n\i\t\i\o ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ e1000 == \o\s\s\t ]]
++ shift
++ [[ e1000 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ e1000 == \b\n\x\2\f\c ]]
++ shift
++ [[ e1000 == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ e1000 == \q\l\a\4\x\x\x ]]
++ shift
++ [[ e1000 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ e1000 == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ e1000 == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ e1000 == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ e1000 == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ e1000 == \f\n\i\c ]]
++ shift
++ [[ e1000 == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ e1000 == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ e1000 == \h\p\s\a ]]
++ shift
++ [[ e1000 == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ e1000 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ e1000 == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ e1000 == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ e1000 == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ e1000 == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ e1000 == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ e1000 == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ e1000 == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ e1000 == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ e1000 == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ e1000 == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ e1000 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ata_generic sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=ata_generic
++ shift
++ [[ ata_generic == \s\x\8 ]]
++ shift
++ [[ ata_generic == \a\o\e ]]
++ shift
++ [[ ata_generic == \o\s\d\b\l\k ]]
++ shift
++ [[ ata_generic == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ata_generic == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ ata_generic == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ata_generic == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ata_generic == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ata_generic == \c\c\i\s\s ]]
++ shift
++ [[ ata_generic == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ ata_generic == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ata_generic == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ata_generic == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ata_generic == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ata_generic == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ata_generic == \a\t\a\_\g\e\n\e\r\i\c ]]
++ return 0
++ echo ata_generic
++ read module junk
++ IsInArray pata_acpi sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=pata_acpi
++ shift
++ [[ pata_acpi == \s\x\8 ]]
++ shift
++ [[ pata_acpi == \a\o\e ]]
++ shift
++ [[ pata_acpi == \o\s\d\b\l\k ]]
++ shift
++ [[ pata_acpi == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ pata_acpi == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ pata_acpi == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ pata_acpi == \p\k\t\c\d\v\d ]]
++ shift
++ [[ pata_acpi == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ pata_acpi == \c\c\i\s\s ]]
++ shift
++ [[ pata_acpi == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ pata_acpi == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ pata_acpi == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ pata_acpi == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\n\v ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ pata_acpi == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ pata_acpi == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ pata_acpi == \a\h\c\i ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\h\p\t\3\x\3 ]]
++ shift
++ [[ pata_acpi == \p\a\t\a\_\a\c\p\i ]]
++ return 0
++ echo pata_acpi
++ read module junk
++ IsInArray ata_piix sx8 aoe osdblk cryptoloop mtip32xx virtio_blk pktcdvd xen-blkfront cciss floppy firewire-sbp2 firewire-net firewire-ohci firewire-core pata_pdc2027x sata_svw sata_uli pata_rdc pata_cmd64x pata_artop sata_sil sata_sil24 ata_piix pdc_adma sata_inic162x pata_jmicron sata_promise sata_nv pata_via pata_it8213 pata_pcmcia pata_atp867x sata_vsc pata_ninja32 ata_generic sata_via pata_it821x pata_sch pata_amd pata_netcell pata_marvell pata_oldpiix pata_sis ahci pata_hpt37x pata_ali pata_serverworks pata_atiixp pata_hpt3x3 pata_acpi sata_qstor sata_sx4 pata_sil680 pata_pdc202xx_old sata_mv pata_hpt366 pata_hpt3x2n sata_sis dm-raid dm-bufio faulty dm-multipath dm-zero dm-memcache dm-mod dm-round-robin raid456 raid0 dm-crypt dm-log linear dm-flakey dm-log-userspace dm-persistent-data dm-region-hash dm-mirror raid1 dm-snapshot dm-thin-pool dm-raid45 dm-delay dm-service-time dm-queue-length raid10 mptfc mptspi mptscsih mptsas mptctl mptbase mptlan scsi_transport_sas be2iscsi aacraid raid_class ch bfa bnx2i libfc sr_mod libsas pmcraid sym53c8xx sg imm scsi_transport_iscsi libiscsi libosd osd scsi_transport_srp iscsi_tcp aic79xx aic7xxx fcoe libfcoe scsi_debug ppa iscsi_boot_sysfs stex ses ips arcmsr scsi_tgt scsi_transport_fc 3w-xxxx libiscsi_tcp mvsas cxgb4i libcxgbi cxgb3i 3w-9xxx hptiop libsrp st qla2xxx sd_mod scsi_dh_rdac scsi_dh_alua scsi_dh_emc scsi_dh_hp_sw lpfc isci 3w-sas initio scsi_transport_spi osst aic94xx bnx2fc hv_storvsc qla4xxx mpt2sas virtio_scsi megaraid_sas megaraid_mm megaraid_mbox fnic scsi_wait_scan vmw_pvscsi hpsa ums-datafab usb-storage ums-alauda ums-isd200 ums-freecom ums-onetouch ums-karma ums-cypress ums-usbat ums-sddr55 ums-sddr09 ums-jumpshot
++ local needle=ata_piix
++ shift
++ [[ ata_piix == \s\x\8 ]]
++ shift
++ [[ ata_piix == \a\o\e ]]
++ shift
++ [[ ata_piix == \o\s\d\b\l\k ]]
++ shift
++ [[ ata_piix == \c\r\y\p\t\o\l\o\o\p ]]
++ shift
++ [[ ata_piix == \m\t\i\p\3\2\x\x ]]
++ shift
++ [[ ata_piix == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ata_piix == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ata_piix == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ata_piix == \c\c\i\s\s ]]
++ shift
++ [[ ata_piix == \f\l\o\p\p\y ]]
++ 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\-\o\h\c\i ]]
++ shift
++ [[ ata_piix == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\s\v\w ]]
++ 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\_\c\m\d\6\4\x ]]
++ shift
++ [[ ata_piix == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ata_piix == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ata_piix == \a\t\a\_\p\i\i\x ]]
++ return 0
++ echo ata_piix
++ read module junk
++ find /tmp/rear.hhmdbEwqJeVSoRb/tmp/dev -name storage_drivers -exec cat '{}' ';'
find: `/tmp/rear.hhmdbEwqJeVSoRb/tmp/dev': No such file or directory
++ return 0
++ diff -u /var/lib/rear/recovery/storage_drivers /tmp/rear.hhmdbEwqJeVSoRb/tmp/storage_drivers
+ test 1
+ set +x
2013-11-25 09:08:32 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 iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
+++ dirname /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz
++ '[' -s /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz -o -d /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz -o -f /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.splitted ']'
++ StopIfError 'Backup archive '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz'\'' not found !'
++ (( 0 != 0 ))
++ LogPrint 'Calculating backup archive size'
++ Log 'Calculating backup archive size'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Calculating backup archive size'
2013-11-25 09:08:32 Calculating backup archive size
++ Print 'Calculating backup archive size'
++ test 1
++ echo -e 'Calculating backup archive size'
+++ dirname /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz
++ [[ -f /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.splitted ]]
++ cut -d ' ' -f1
++ du -sh ''
du: invalid zero-length file name
++ StopIfError 'Failed to determine backup archive size.'
++ (( 0 != 0 ))
++ read backuparchive_size
++ LogPrint 'Backup archive size is (compressed)'
++ Log 'Backup archive size is (compressed)'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Backup archive size is (compressed)'
2013-11-25 09:08:32 Backup archive size is (compressed)
++ Print 'Backup archive size is (compressed)'
++ test 1
++ echo -e 'Backup archive size is (compressed)'
++ [[ '' =~ ^[yY1] ]]
+ test 1
+ set +x
2013-11-25 09:08:32 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
2013-11-25 09:08:32 Including verify/NETFS/default/98_umount_NETFS_dir.sh
+ . /usr/share/rear/verify/NETFS/default/98_umount_NETFS_dir.sh
++ [[ -n '' ]]
++ umount_url iso://backups /tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ local url=iso://backups
++ local mountpoint=/tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ case $(url_scheme $url) in
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ [[ recover != \r\e\c\o\v\e\r ]]
++ umount_mountpoint /tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ local mountpoint=/tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ Log 'Unmounting '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Unmounting '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
2013-11-25 09:08:32 Unmounting '/tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ umount -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs
/dev/sr0 umounted
++ [[ 0 -eq 0 ]]
++ return 0
++ StopIfError 'Unmounting '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' failed.'
++ (( 0 != 0 ))
++ RemoveExitTask 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ local removed=
++ (( c=0 ))
++ (( c<5 ))
++ test 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2' == 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ unset 'EXIT_TASKS[c]'
++ removed=yes
++ Debug 'Removed '\''umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'\'' from the list of exit tasks'
++ test ''
++ (( c++ ))
++ (( c<4 ))
++ test 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2' == 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ (( c++ ))
++ (( c<4 ))
++ test cleanup_build_area_and_end_program == 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ (( c++ ))
++ (( c<4 ))
++ test 'exec 8>&-' == 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ (( c++ ))
++ (( c<4 ))
++ '[' yes == yes ']'
+++ for task in '"${EXIT_TASKS[@]}"'
+++ echo 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/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.hhmdbEwqJeVSoRb/outputfs'\'' >&2'\'' (not found). Exit Tasks:
rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2
cleanup_build_area_and_end_program
exec 8>&-
exec 7>&-'
++ (( 0 != 0 ))
++ return 0
++ rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs
rmdir: removing directory, `/tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ [[ 0 -eq 0 ]]
++ RemoveExitTask 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'
++ local removed=
++ (( c=0 ))
++ (( c<4 ))
++ test '' == 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'
++ (( c++ ))
++ (( c<4 ))
++ test 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2' == 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'
++ unset 'EXIT_TASKS[c]'
++ removed=yes
++ Debug 'Removed '\''rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'\'' from the list of exit tasks'
++ test ''
++ (( c++ ))
++ (( c<3 ))
++ test cleanup_build_area_and_end_program == 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/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.hhmdbEwqJeVSoRb/outputfs >&2'\'' (not found). Exit Tasks:
cleanup_build_area_and_end_program
exec 8>&-
exec 7>&-'
++ (( 0 != 0 ))
+ test 1
+ set +x
2013-11-25 09:08:32 Finished running 'verify' stage in 0 seconds
2013-11-25 09:08:32 Running 'layout/prepare' stage
2013-11-25 09:08:32 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.hhmdbEwqJeVSoRb/tmp/touch
++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch ']'
++ mkdir -p /tmp/rear.hhmdbEwqJeVSoRb/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.20131125.526.bak
++ BACKUPS_TAKEN=("${BACKUPS_TAKEN[@]}" "$1")
++ '[' -e /etc/rear/disklayout.conf ']'
++ '[' '!' -e /var/lib/rear/layout/disklayout.conf ']'
++ '[' -e /var/lib/rear/layout/fs_uuid_mapping ']'
++ :
++ :
+ test 1
+ set +x
2013-11-25 09:08:32 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
2013-11-25 09:08:32 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.98
++ '[' 2.02.98 ']'
++ BugIfError 'Function get_version could not detect lvm version.'
++ (( 0 != 0 ))
++ version_newer 2.02.98 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#098 < 10#073 ))
++ (( 10#098 > 10#073 ))
++ return 0
++ FEATURE_LVM_RESTOREFILE=y
+ test 1
+ set +x
2013-11-25 09:08:32 Including layout/prepare/GNU/Linux/12_include_raid_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/12_include_raid_code.sh
++ has_binary mdadm
++ for bin in '$@'
++ type mdadm
++ return 1
++ return
+ test 1
+ set +x
2013-11-25 09:08:32 Including layout/prepare/GNU/Linux/13_include_filesystem_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/13_include_filesystem_code.sh
+ test 1
+ set +x
2013-11-25 09:08:32 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
2013-11-25 09:08:32 Including layout/prepare/GNU/Linux/15_include_drbd_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/15_include_drbd_code.sh
+ test 1
+ set +x
2013-11-25 09:08:32 Including layout/prepare/GNU/Linux/16_include_luks_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/16_include_luks_code.sh
+ test 1
+ set +x
2013-11-25 09:08:32 Including layout/prepare/GNU/Linux/17_include_hpraid_code.sh
+ . /usr/share/rear/layout/prepare/GNU/Linux/17_include_hpraid_code.sh
+ test 1
+ set +x
2013-11-25 09:08:32 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
2013-11-25 09:08:32 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
2013-11-25 09:08:32 Including layout/prepare/default/25_compare_disks.sh
+ . /usr/share/rear/layout/prepare/default/25_compare_disks.sh
++ LogPrint 'Comparing disks.'
++ Log 'Comparing disks.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Comparing disks.'
2013-11-25 09:08:32 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 '2013-11-25 09:08:32 Looking for sda...'
2013-11-25 09:08:32 Looking for sda...
++ '[' -e /sys/block/sda ']'
++ Log 'Device sda exists.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Device sda exists.'
2013-11-25 09:08:32 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=16777216
+++ local disk_size=8589934592
+++ echo 8589934592
++ newsize=8589934592
++ '[' 8589934592 -eq 8589934592 ']'
++ Log 'Size of device sda matches.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Size of device sda matches.'
2013-11-25 09:08:32 Size of device sda matches.
++ read disk dev size junk
+++ get_sysfs_name /dev/sdb
+++ local name=sdb
+++ name=sdb
+++ [[ -e /sys/block/sdb ]]
+++ echo sdb
+++ return 0
++ dev=sdb
++ Log 'Looking for sdb...'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Looking for sdb...'
2013-11-25 09:08:32 Looking for sdb...
++ '[' -e /sys/block/sdb ']'
++ Log 'Device sdb exists.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Device sdb exists.'
2013-11-25 09:08:32 Device sdb exists.
+++ get_disk_size sdb
+++ local disk_name=sdb
++++ get_block_size sdb
++++ '[' -r /sys/block/sdb/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sdb/size ']'
+++ BugIfError 'Could not determine size of disk sdb, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=1048576
+++ local disk_size=536870912
+++ echo 536870912
++ newsize=536870912
++ '[' 536870912 -eq 536870912 ']'
++ Log 'Size of device sdb matches.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Size of device sdb matches.'
2013-11-25 09:08:32 Size of device sdb matches.
++ read disk dev size junk
+++ get_sysfs_name /dev/sdc
+++ local name=sdc
+++ name=sdc
+++ [[ -e /sys/block/sdc ]]
+++ echo sdc
+++ return 0
++ dev=sdc
++ Log 'Looking for sdc...'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Looking for sdc...'
2013-11-25 09:08:32 Looking for sdc...
++ '[' -e /sys/block/sdc ']'
++ Log 'Device sdc exists.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Device sdc exists.'
2013-11-25 09:08:32 Device sdc exists.
+++ get_disk_size sdc
+++ local disk_name=sdc
++++ get_block_size sdc
++++ '[' -r /sys/block/sdc/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sdc/size ']'
+++ BugIfError 'Could not determine size of disk sdc, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=1048576
+++ local disk_size=536870912
+++ echo 536870912
++ newsize=536870912
++ '[' 536870912 -eq 536870912 ']'
++ Log 'Size of device sdc matches.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Size of device sdc matches.'
2013-11-25 09:08:32 Size of device sdc matches.
++ read disk dev size junk
++ '[' -n '' ']'
++ LogPrint 'Disk configuration is identical, proceeding with restore.'
++ Log 'Disk configuration is identical, proceeding with restore.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 Disk configuration is identical, proceeding with restore.'
2013-11-25 09:08:32 Disk configuration is identical, proceeding with restore.
++ Print 'Disk configuration is identical, proceeding with restore.'
++ test 1
++ echo -e 'Disk configuration is identical, proceeding with restore.'
+ test 1
+ set +x
2013-11-25 09:08:32 Including layout/prepare/default/30_map_disks.sh
+ . /usr/share/rear/layout/prepare/default/30_map_disks.sh
++ '[' -z '' ']'
++ return 0
+ test 1
+ set +x
2013-11-25 09:08:32 Including layout/prepare/default/31_remove_exclusions.sh
+ . /usr/share/rear/layout/prepare/default/31_remove_exclusions.sh
++ '[' -s /var/lib/rear/layout/disktodo.conf ']'
++ return 0
+ test 1
+ set +x
2013-11-25 09:08:32 Including layout/prepare/default/32_apply_mappings.sh
+ . /usr/share/rear/layout/prepare/default/32_apply_mappings.sh
++ '[' -z '' ']'
++ return 0
+ test 1
+ set +x
2013-11-25 09:08:32 Including layout/prepare/default/40_autoresize_disks.sh
+ . /usr/share/rear/layout/prepare/default/40_autoresize_disks.sh
++ [[ -z '' ]]
++ return 0
+ test 1
+ set +x
2013-11-25 09:08:32 Including layout/prepare/default/50_confirm_layout.sh
+ . /usr/share/rear/layout/prepare/default/50_confirm_layout.sh
++ [[ -z '' ]]
++ return 0
+ test 1
+ set +x
2013-11-25 09:08:32 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 8589934592 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 8064598016 525336576 primary lvm /dev/sda2'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 8064598016 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/sdb 536870912'
++ name=/dev/sdb
++ add_component /dev/sdb disk
++ echo 'todo /dev/sdb disk'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sdc 536870912'
++ name=/dev/sdc
++ add_component /dev/sdc disk
++ echo 'todo /dev/sdc disk'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_virtualbox /dev/sda2 p2tB8o-ts0q-DZOK-AWE3-wysH-f4Oy-JDa31H 15751168'
++ vgrp=/dev/vg_virtualbox
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_virtualbox /dev/sda2 p2tB8o-ts0q-DZOK-AWE3-wysH-f4Oy-JDa31H 15751168'
++ part=/dev/sda2
++ add_dependency /dev/vg_virtualbox pv:/dev/sda2
++ echo '/dev/vg_virtualbox 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_virtualbox /dev/sdb cPCjEt-5e81-v8kW-8clZ-15ir-Ge4O-2Nie89 1048576'
++ vgrp=/dev/vg_virtualbox
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_virtualbox /dev/sdb cPCjEt-5e81-v8kW-8clZ-15ir-Ge4O-2Nie89 1048576'
++ part=/dev/sdb
++ add_dependency /dev/vg_virtualbox pv:/dev/sdb
++ echo '/dev/vg_virtualbox pv:/dev/sdb'
++ add_dependency pv:/dev/sdb /dev/sdb
++ echo 'pv:/dev/sdb /dev/sdb'
++ add_component pv:/dev/sdb lvmdev
++ echo 'todo pv:/dev/sdb lvmdev'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_virtualbox /dev/sdc zzQIFO-qSHa-U5m4-FJI6-mKMn-kUER-2YGPYq 1048576'
++ vgrp=/dev/vg_virtualbox
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_virtualbox /dev/sdc zzQIFO-qSHa-U5m4-FJI6-mKMn-kUER-2YGPYq 1048576'
++ part=/dev/sdc
++ add_dependency /dev/vg_virtualbox pv:/dev/sdc
++ echo '/dev/vg_virtualbox pv:/dev/sdc'
++ add_dependency pv:/dev/sdc /dev/sdc
++ echo 'pv:/dev/sdc /dev/sdc'
++ add_component pv:/dev/sdc lvmdev
++ echo 'todo pv:/dev/sdc lvmdev'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_virtualbox 4096 2176 8912896'
++ name=/dev/vg_virtualbox
++ add_component /dev/vg_virtualbox lvmgrp
++ echo 'todo /dev/vg_virtualbox lvmgrp'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_virtualbox lv_root 1643 13459456'
++ vgrp=/dev/vg_virtualbox
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_virtualbox lv_root 1643 13459456'
++ lvol=lv_root
++ dm_vgrp=/dev/vg_virtualbox
++ dm_lvol=lv_root
++ add_dependency /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox
++ echo '/dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox'
++ add_component /dev/mapper/vg_virtualbox-lv_root lvmvol
++ echo 'todo /dev/mapper/vg_virtualbox-lv_root lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vg_virtualbox lv_swap 504 4128768'
++ vgrp=/dev/vg_virtualbox
+++ cut -d ' ' -f 2
+++ echo '/dev/vg_virtualbox lv_swap 504 4128768'
++ lvol=lv_swap
++ dm_vgrp=/dev/vg_virtualbox
++ dm_lvol=lv_swap
++ add_dependency /dev/mapper/vg_virtualbox-lv_swap /dev/vg_virtualbox
++ echo '/dev/mapper/vg_virtualbox-lv_swap /dev/vg_virtualbox'
++ add_component /dev/mapper/vg_virtualbox-lv_swap lvmvol
++ echo 'todo /dev/mapper/vg_virtualbox-lv_swap lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vg_virtualbox-lv_root / ext4 uuid=f4610e99-f6e5-4bf5-8317-42867e96b6f4 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16401 default_mount_options=user_xattr,acl options=rw'
++ dev=/dev/mapper/vg_virtualbox-lv_root
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vg_virtualbox-lv_root / ext4 uuid=f4610e99-f6e5-4bf5-8317-42867e96b6f4 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16401 default_mount_options=user_xattr,acl options=rw'
++ mp=/
++ add_dependency fs:/ /dev/mapper/vg_virtualbox-lv_root
++ echo 'fs:/ /dev/mapper/vg_virtualbox-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=52ab7e36-aaf1-4b0d-bce8-8738b3e60a40 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=52ab7e36-aaf1-4b0d-bce8-8738b3e60a40 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_virtualbox-lv_swap uuid=6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f label='
++ dev=/dev/mapper/vg_virtualbox-lv_swap
++ add_dependency swap:/dev/mapper/vg_virtualbox-lv_swap /dev/mapper/vg_virtualbox-lv_swap
++ echo 'swap:/dev/mapper/vg_virtualbox-lv_swap /dev/mapper/vg_virtualbox-lv_swap'
++ add_component swap:/dev/mapper/vg_virtualbox-lv_swap swap
++ echo 'todo swap:/dev/mapper/vg_virtualbox-lv_swap swap'
++ read type remainder
+ test 1
+ set +x
2013-11-25 09:08:32 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
2013-11-25 09:08:32 Including layout/prepare/default/54_generate_device_code.sh
+ . /usr/share/rear/layout/prepare/default/54_generate_device_code.sh
++ backup_file /var/lib/rear/layout/diskrestore.sh
++ [[ ! -r /var/lib/rear/layout/diskrestore.sh ]]
++ return
++ cat
++ all_done=
++ '[' -z '' ']'
++ willdodev=
++ willdotype=
++ cp /var/lib/rear/layout/disktodo.conf /var/lib/rear/layout/disktodo.conf.tmp
++ read status thisdev type
+++ grep '^todo' /var/lib/rear/layout/disktodo.conf
++ Debug 'Testing /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=16777216
+++ local disk_size=8589934592
+++ echo 8589934592
++ local disk_size=8589934592
++ [[ -n 8589934592 ]]
++ BugIfError 'Could not determine size of disk /dev/sda, please file a bug.'
++ (( 0 != 0 ))
++ [[ 8589934592 -gt 0 ]]
++ StopIfError 'Disk /dev/sda has size 8589934592, 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=16777216
+++ local disk_size=8589934592
+++ echo 8589934592
++ device_size=8589934592
++ [[ 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 '' ']'
++ '[' 1048576 = unknown ']'
++ start=1048576
++ end=525336576
++ [[ -n 8589934592 ]]
++ (( end > 8589934592 ))
++ [[ primary = \e\x\t\e\n\d\e\d ]]
+++ sed -e 's/0x20/ /g'
+++ echo primary
++ name=primary
++ [[ -n y ]]
++ [[ -n 525336576 ]]
++ end=525336575B
++ cat
++ start=525336576
+++ awk '{printf "%u", $1+4096-($1%4096);}'
+++ echo 525336576
++ start=525340672
+++ 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 '' ']'
++ '[' 525336576 = unknown ']'
++ start=525336576
++ end=8589934592
++ [[ -n 8589934592 ]]
++ (( end > 8589934592 ))
++ [[ primary = \e\x\t\e\n\d\e\d ]]
+++ sed -e 's/0x20/ /g'
+++ echo primary
++ name=primary
++ [[ -n y ]]
++ [[ -n 8589934592 ]]
++ end=8589934591B
++ cat
++ start=8589934592
+++ awk '{printf "%u", $1+4096-($1%4096);}'
+++ echo 8589934592
++ start=8589938688
+++ 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=donedeps+1
++ '[' 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=donedeps+1
++ '[' 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 /dev/sdb for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/sdb\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (0): '
++ test ''
++ donedeps=0
++ '[' 0 -eq 0 ']'
++ Debug 'All dependencies for /dev/sdb are present, processing...'
++ test ''
++ willdodev=/dev/sdb
++ willdotype=disk
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/sdb ']'
++ create_device /dev/sdb disk
++ local device=/dev/sdb
++ local type=disk
++ local name
++ cat
++ echo '# Create /dev/sdb (disk)'
++ type -t create_disk
++ create_disk /dev/sdb
++ local component disk size label junk
++ read component disk size label junk
+++ grep '^disk /dev/sdb ' /var/lib/rear/layout/disklayout.conf
++ [[ -b /dev/sdb ]]
++ BugIfError 'Disk /dev/sdb is not a block device.'
++ (( 0 != 0 ))
++++ get_sysfs_name /dev/sdb
++++ local name=sdb
++++ name=sdb
++++ [[ -e /sys/block/sdb ]]
++++ echo sdb
++++ return 0
+++ get_disk_size sdb
+++ local disk_name=sdb
++++ get_block_size sdb
++++ '[' -r /sys/block/sdb/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sdb/size ']'
+++ BugIfError 'Could not determine size of disk sdb, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=1048576
+++ local disk_size=536870912
+++ echo 536870912
++ local disk_size=536870912
++ [[ -n 536870912 ]]
++ BugIfError 'Could not determine size of disk /dev/sdb, please file a bug.'
++ (( 0 != 0 ))
++ [[ 536870912 -gt 0 ]]
++ StopIfError 'Disk /dev/sdb has size 536870912, unable to continue.'
++ (( 0 != 0 ))
++ cat
++ create_partitions /dev/sdb ''
++ local device=/dev/sdb
++ local label=
++ names=()
++ local -a names
++ local part size pstart name junk
++ read part disk size pstart name junk
+++ grep '^part /dev/sdb ' /var/lib/rear/layout/disklayout.conf
++ [[ 0 -eq 0 ]]
++ Log 'No partitions on device /dev/sdb.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 No partitions on device /dev/sdb.'
2013-11-25 09:08:32 No partitions on device /dev/sdb.
++ return 0
++ cat
++ cat
++ mark_as_done /dev/sdb
++ Debug 'Marking /dev/sdb as done.'
++ test ''
++ sed -i 's;todo\ /dev/sdb\ ;done\ /dev/sdb\ ;' /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/sdc for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/sdc\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (0): '
++ test ''
++ donedeps=0
++ '[' 0 -eq 0 ']'
++ Debug 'All dependencies for /dev/sdc are present, processing...'
++ test ''
++ willdodev=/dev/sdc
++ willdotype=disk
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/sdc ']'
++ create_device /dev/sdc disk
++ local device=/dev/sdc
++ local type=disk
++ local name
++ cat
++ echo '# Create /dev/sdc (disk)'
++ type -t create_disk
++ create_disk /dev/sdc
++ local component disk size label junk
++ read component disk size label junk
+++ grep '^disk /dev/sdc ' /var/lib/rear/layout/disklayout.conf
++ [[ -b /dev/sdc ]]
++ BugIfError 'Disk /dev/sdc is not a block device.'
++ (( 0 != 0 ))
++++ get_sysfs_name /dev/sdc
++++ local name=sdc
++++ name=sdc
++++ [[ -e /sys/block/sdc ]]
++++ echo sdc
++++ return 0
+++ get_disk_size sdc
+++ local disk_name=sdc
++++ get_block_size sdc
++++ '[' -r /sys/block/sdc/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sdc/size ']'
+++ BugIfError 'Could not determine size of disk sdc, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=1048576
+++ local disk_size=536870912
+++ echo 536870912
++ local disk_size=536870912
++ [[ -n 536870912 ]]
++ BugIfError 'Could not determine size of disk /dev/sdc, please file a bug.'
++ (( 0 != 0 ))
++ [[ 536870912 -gt 0 ]]
++ StopIfError 'Disk /dev/sdc has size 536870912, unable to continue.'
++ (( 0 != 0 ))
++ cat
++ create_partitions /dev/sdc ''
++ local device=/dev/sdc
++ local label=
++ names=()
++ local -a names
++ local part size pstart name junk
++ read part disk size pstart name junk
+++ grep '^part /dev/sdc ' /var/lib/rear/layout/disklayout.conf
++ [[ 0 -eq 0 ]]
++ Log 'No partitions on device /dev/sdc.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:08:32 No partitions on device /dev/sdc.'
2013-11-25 09:08:32 No partitions on device /dev/sdc.
++ return 0
++ cat
++ cat
++ mark_as_done /dev/sdc
++ Debug 'Marking /dev/sdc as done.'
++ test ''
++ sed -i 's;todo\ /dev/sdc\ ;done\ /dev/sdc\ ;' /var/lib/rear/layout/disktodo.conf
++ '[' -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=donedeps+1
++ '[' 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_virtualbox || true'
++ local uuidopt=
++ local restorefileopt=
++ '[' -z '' ']'
++ '[' -e /var/lib/rear/layout/lvm/vg_virtualbox.cfg ']'
++ restorefileopt=' --restorefile /var/lib/rear/layout/lvm/vg_virtualbox.cfg'
++ '[' -n p2tB8o-ts0q-DZOK-AWE3-wysH-f4Oy-JDa31H ']'
++ uuidopt=' --uuid "p2tB8o-ts0q-DZOK-AWE3-wysH-f4Oy-JDa31H"'
++ echo 'lvm pvcreate -ff --yes -v --uuid "p2tB8o-ts0q-DZOK-AWE3-wysH-f4Oy-JDa31H" --restorefile /var/lib/rear/layout/lvm/vg_virtualbox.cfg /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 pv:/dev/sdb for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^pv:/dev/sdb\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/sdb'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sdb ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for pv:/dev/sdb are present, processing...'
++ test ''
++ willdodev=pv:/dev/sdb
++ willdotype=lvmdev
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n pv:/dev/sdb ']'
++ create_device pv:/dev/sdb lvmdev
++ local device=pv:/dev/sdb
++ local type=lvmdev
++ local name
++ cat
++ echo '# Create pv:/dev/sdb (lvmdev)'
++ type -t create_lvmdev
++ create_lvmdev pv:/dev/sdb
++ local lvmdev vgrp device uuid junk
++ read lvmdev vgrp device uuid junk
+++ grep '^lvmdev.*/dev/sdb' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM PV /dev/sdb"'
++ echo 'lvm vgchange -a n vg_virtualbox || true'
++ local uuidopt=
++ local restorefileopt=
++ '[' -z '' ']'
++ '[' -e /var/lib/rear/layout/lvm/vg_virtualbox.cfg ']'
++ restorefileopt=' --restorefile /var/lib/rear/layout/lvm/vg_virtualbox.cfg'
++ '[' -n cPCjEt-5e81-v8kW-8clZ-15ir-Ge4O-2Nie89 ']'
++ uuidopt=' --uuid "cPCjEt-5e81-v8kW-8clZ-15ir-Ge4O-2Nie89"'
++ echo 'lvm pvcreate -ff --yes -v --uuid "cPCjEt-5e81-v8kW-8clZ-15ir-Ge4O-2Nie89" --restorefile /var/lib/rear/layout/lvm/vg_virtualbox.cfg /dev/sdb >&2'
++ cat
++ mark_as_done pv:/dev/sdb
++ Debug 'Marking pv:/dev/sdb as done.'
++ test ''
++ sed -i 's;todo\ pv:/dev/sdb\ ;done\ pv:/dev/sdb\ ;' /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/sdc for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^pv:/dev/sdc\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/sdc'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sdc ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for pv:/dev/sdc are present, processing...'
++ test ''
++ willdodev=pv:/dev/sdc
++ willdotype=lvmdev
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n pv:/dev/sdc ']'
++ create_device pv:/dev/sdc lvmdev
++ local device=pv:/dev/sdc
++ local type=lvmdev
++ local name
++ cat
++ echo '# Create pv:/dev/sdc (lvmdev)'
++ type -t create_lvmdev
++ create_lvmdev pv:/dev/sdc
++ local lvmdev vgrp device uuid junk
++ read lvmdev vgrp device uuid junk
+++ grep '^lvmdev.*/dev/sdc' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM PV /dev/sdc"'
++ echo 'lvm vgchange -a n vg_virtualbox || true'
++ local uuidopt=
++ local restorefileopt=
++ '[' -z '' ']'
++ '[' -e /var/lib/rear/layout/lvm/vg_virtualbox.cfg ']'
++ restorefileopt=' --restorefile /var/lib/rear/layout/lvm/vg_virtualbox.cfg'
++ '[' -n zzQIFO-qSHa-U5m4-FJI6-mKMn-kUER-2YGPYq ']'
++ uuidopt=' --uuid "zzQIFO-qSHa-U5m4-FJI6-mKMn-kUER-2YGPYq"'
++ echo 'lvm pvcreate -ff --yes -v --uuid "zzQIFO-qSHa-U5m4-FJI6-mKMn-kUER-2YGPYq" --restorefile /var/lib/rear/layout/lvm/vg_virtualbox.cfg /dev/sdc >&2'
++ cat
++ mark_as_done pv:/dev/sdc
++ Debug 'Marking pv:/dev/sdc as done.'
++ test ''
++ sed -i 's;todo\ pv:/dev/sdc\ ;done\ pv:/dev/sdc\ ;' /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_virtualbox for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/vg_virtualbox\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (3): pv:/dev/sda2 pv:/dev/sdb pv:/dev/sdc'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done pv:/dev/sda2 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ for dep in '"${deps[@]}"'
++ grep -q 'done pv:/dev/sdb ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ for dep in '"${deps[@]}"'
++ grep -q 'done pv:/dev/sdc ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 3 -eq 3 ']'
++ Debug 'All dependencies for /dev/vg_virtualbox are present, processing...'
++ test ''
++ willdodev=/dev/vg_virtualbox
++ willdotype=lvmgrp
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/vg_virtualbox ']'
++ create_device /dev/vg_virtualbox lvmgrp
++ local device=/dev/vg_virtualbox
++ local type=lvmgrp
++ local name
++ cat
++ echo '# Create /dev/vg_virtualbox (lvmgrp)'
++ type -t create_lvmgrp
++ create_lvmgrp /dev/vg_virtualbox
++ '[' -z '' ']'
++ restore_lvmgrp /dev/vg_virtualbox
++ local lvmgrp vgrp extentsize junk
++ read lvmgrp vgrp extentsize junk
+++ grep '^lvmgrp /dev/vg_virtualbox ' /var/lib/rear/layout/disklayout.conf
++ cat
++ return
++ cat
++ mark_as_done /dev/vg_virtualbox
++ Debug 'Marking /dev/vg_virtualbox as done.'
++ test ''
++ sed -i 's;todo\ /dev/vg_virtualbox\ ;done\ /dev/vg_virtualbox\ ;' /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_virtualbox-lv_root for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vg_virtualbox-lv_root\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vg_virtualbox'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_virtualbox ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vg_virtualbox-lv_root are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vg_virtualbox-lv_root
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vg_virtualbox-lv_root ']'
++ create_device /dev/mapper/vg_virtualbox-lv_root lvmvol
++ local device=/dev/mapper/vg_virtualbox-lv_root
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vg_virtualbox-lv_root (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vg_virtualbox-lv_root
++ '[' -z '' ']'
++ return
++ cat
++ mark_as_done /dev/mapper/vg_virtualbox-lv_root
++ Debug 'Marking /dev/mapper/vg_virtualbox-lv_root as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vg_virtualbox-lv_root\ ;done\ /dev/mapper/vg_virtualbox-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_virtualbox-lv_swap for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vg_virtualbox-lv_swap\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vg_virtualbox'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vg_virtualbox ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vg_virtualbox-lv_swap are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vg_virtualbox-lv_swap
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vg_virtualbox-lv_swap ']'
++ create_device /dev/mapper/vg_virtualbox-lv_swap lvmvol
++ local device=/dev/mapper/vg_virtualbox-lv_swap
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vg_virtualbox-lv_swap (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vg_virtualbox-lv_swap
++ '[' -z '' ']'
++ return
++ cat
++ mark_as_done /dev/mapper/vg_virtualbox-lv_swap
++ Debug 'Marking /dev/mapper/vg_virtualbox-lv_swap as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vg_virtualbox-lv_swap\ ;done\ /dev/mapper/vg_virtualbox-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_virtualbox-lv_root'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_virtualbox-lv_root ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 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=f4610e99-f6e5-4bf5-8317-42867e96b6f4
++ 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=16401
++ case $name in
++ bytes_per_inode=' -i 16401'
++ 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 f4610e99-f6e5-4bf5-8317-42867e96b6f4 ']'
++ echo 'tune2fs -U f4610e99-f6e5-4bf5-8317-42867e96b6f4 /dev/mapper/vg_virtualbox-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_virtualbox-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=16401
++ 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_virtualbox-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=donedeps+1
++ for dep in '"${deps[@]}"'
++ grep -q 'done fs:/ ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 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=52ab7e36-aaf1-4b0d-bce8-8738b3e60a40
++ 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 52ab7e36-aaf1-4b0d-bce8-8738b3e60a40 ']'
++ echo 'tune2fs -U 52ab7e36-aaf1-4b0d-bce8-8738b3e60a40 /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_virtualbox-lv_swap for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^swap:/dev/mapper/vg_virtualbox-lv_swap\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/mapper/vg_virtualbox-lv_swap'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vg_virtualbox-lv_swap ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for swap:/dev/mapper/vg_virtualbox-lv_swap are present, processing...'
++ test ''
++ willdodev=swap:/dev/mapper/vg_virtualbox-lv_swap
++ willdotype=swap
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n swap:/dev/mapper/vg_virtualbox-lv_swap ']'
++ create_device swap:/dev/mapper/vg_virtualbox-lv_swap swap
++ local device=swap:/dev/mapper/vg_virtualbox-lv_swap
++ local type=swap
++ local name
++ cat
++ echo '# Create swap:/dev/mapper/vg_virtualbox-lv_swap (swap)'
++ type -t create_swap
++ create_swap swap:/dev/mapper/vg_virtualbox-lv_swap
++ local swap device uuid label junk
++ read swap device uuid label junk
+++ grep '^swap /dev/mapper/vg_virtualbox-lv_swap ' /var/lib/rear/layout/disklayout.conf
++ [[ -n y ]]
++ [[ -n 6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f ]]
++ uuid='-U 6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f '
++ [[ -n '' ]]
++ label=
++ echo 'LogPrint "Creating swap on /dev/mapper/vg_virtualbox-lv_swap"'
++ echo 'mkswap -U 6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f /dev/mapper/vg_virtualbox-lv_swap >&2'
++ cat
++ mark_as_done swap:/dev/mapper/vg_virtualbox-lv_swap
++ Debug 'Marking swap:/dev/mapper/vg_virtualbox-lv_swap as done.'
++ test ''
++ sed -i 's;todo\ swap:/dev/mapper/vg_virtualbox-lv_swap\ ;done\ swap:/dev/mapper/vg_virtualbox-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
2013-11-25 09:08:32 Including layout/prepare/default/55_finalize_script.sh
+ . /usr/share/rear/layout/prepare/default/55_finalize_script.sh
++ cat
+ test 1
+ set +x
2013-11-25 09:08: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
2013-11-25 09:08:32 Including layout/prepare/default/61_exclude_from_restore.sh
+ . /usr/share/rear/layout/prepare/default/61_exclude_from_restore.sh
++ :
+ test 1
+ set +x
2013-11-25 09:08:32 Finished running 'layout/prepare' stage in 0 seconds
2013-11-25 09:08:32 Running 'layout/recreate' stage
2013-11-25 09:08:32 Including layout/recreate/default/10_ask_confirmation.sh
+ . /usr/share/rear/layout/recreate/default/10_ask_confirmation.sh
++ [[ -z '' ]]
++ return 0
+ test 1
+ set +x
2013-11-25 09:08:32 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 '2013-11-25 09:08:32 Start system layout restoration.'
2013-11-25 09:08:32 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.hhmdbEwqJeVSoRb/tmp/touch/rear-vgchange ']'
+++ return 0
+++ lvm vgchange -a n
+++ component_created vgchange rear
+++ local device=vgchange
+++ local type=rear
+++ local touchfile=rear-vgchange
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/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.hhmdbEwqJeVSoRb/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 '2013-11-25 09:08:32 Erasing MBR of disk /dev/sda'
2013-11-25 09:08:32 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.00147151 s, 348 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 '2013-11-25 09:08:32 Creating partitions for disk /dev/sda (msdos)'
2013-11-25 09:08:32 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
+++ parted -s /dev/sda mkpart '"primary"' 1048576B 525336575B
+++ parted -s /dev/sda set 1 boot on
+++ parted -s /dev/sda mkpart '"primary"' 525336576B 8589934591B
+++ 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.hhmdbEwqJeVSoRb/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.hhmdbEwqJeVSoRb/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.hhmdbEwqJeVSoRb/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.hhmdbEwqJeVSoRb/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.hhmdbEwqJeVSoRb/tmp/touch/part--dev-sda2
+++ create_component /dev/sdb disk
+++ local device=/dev/sdb
+++ local type=disk
+++ local touchfile=disk--dev-sdb
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/disk--dev-sdb ']'
+++ return 0
+++ Log 'Erasing MBR of disk /dev/sdb'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:08:43 Erasing MBR of disk /dev/sdb'
2013-11-25 09:08:43 Erasing MBR of disk /dev/sdb
+++ dd if=/dev/zero of=/dev/sdb bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00124 s, 413 kB/s
+++ sync
+++ 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/sdb disk
+++ local device=/dev/sdb
+++ local type=disk
+++ local touchfile=disk--dev-sdb
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/disk--dev-sdb
+++ create_component /dev/sdc disk
+++ local device=/dev/sdc
+++ local type=disk
+++ local touchfile=disk--dev-sdc
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/disk--dev-sdc ']'
+++ return 0
+++ Log 'Erasing MBR of disk /dev/sdc'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:08:53 Erasing MBR of disk /dev/sdc'
2013-11-25 09:08:53 Erasing MBR of disk /dev/sdc
+++ dd if=/dev/zero of=/dev/sdc bs=512 count=1
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.00158474 s, 323 kB/s
+++ sync
+++ 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/sdc disk
+++ local device=/dev/sdc
+++ local type=disk
+++ local touchfile=disk--dev-sdc
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/disk--dev-sdc
+++ create_component pv:/dev/sda2 lvmdev
+++ local device=pv:/dev/sda2
+++ local type=lvmdev
+++ local touchfile=lvmdev-pv:-dev-sda2
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/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 '2013-11-25 09:09:03 Creating LVM PV /dev/sda2'
2013-11-25 09:09:03 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_virtualbox
+++ lvm pvcreate -ff --yes -v --uuid p2tB8o-ts0q-DZOK-AWE3-wysH-f4Oy-JDa31H --restorefile /var/lib/rear/layout/lvm/vg_virtualbox.cfg /dev/sda2
WARNING: Forcing physical volume creation on /dev/sda2 of volume group "vg_virtualbox"
Set up physical volume for "/dev/sda2" with 15751168 available sectors
Writing physical volume data to disk "/dev/sda2"
Physical volume "/dev/sda2" successfully created
+++ component_created pv:/dev/sda2 lvmdev
+++ local device=pv:/dev/sda2
+++ local type=lvmdev
+++ local touchfile=lvmdev-pv:-dev-sda2
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmdev-pv:-dev-sda2
+++ create_component pv:/dev/sdb lvmdev
+++ local device=pv:/dev/sdb
+++ local type=lvmdev
+++ local touchfile=lvmdev-pv:-dev-sdb
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmdev-pv:-dev-sdb ']'
+++ return 0
+++ LogPrint 'Creating LVM PV /dev/sdb'
+++ Log 'Creating LVM PV /dev/sdb'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:09:03 Creating LVM PV /dev/sdb'
2013-11-25 09:09:03 Creating LVM PV /dev/sdb
+++ Print 'Creating LVM PV /dev/sdb'
+++ test 1
+++ echo -e 'Creating LVM PV /dev/sdb'
+++ lvm vgchange -a n vg_virtualbox
+++ lvm pvcreate -ff --yes -v --uuid cPCjEt-5e81-v8kW-8clZ-15ir-Ge4O-2Nie89 --restorefile /var/lib/rear/layout/lvm/vg_virtualbox.cfg /dev/sdb
Wiping cache of LVM-capable devices
WARNING: Forcing physical volume creation on /dev/sdb of volume group "vg_virtualbox"
Set up physical volume for "/dev/sdb" with 1048576 available sectors
Writing physical volume data to disk "/dev/sdb"
Physical volume "/dev/sdb" successfully created
+++ component_created pv:/dev/sdb lvmdev
+++ local device=pv:/dev/sdb
+++ local type=lvmdev
+++ local touchfile=lvmdev-pv:-dev-sdb
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmdev-pv:-dev-sdb
+++ create_component pv:/dev/sdc lvmdev
+++ local device=pv:/dev/sdc
+++ local type=lvmdev
+++ local touchfile=lvmdev-pv:-dev-sdc
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmdev-pv:-dev-sdc ']'
+++ return 0
+++ LogPrint 'Creating LVM PV /dev/sdc'
+++ Log 'Creating LVM PV /dev/sdc'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:09:03 Creating LVM PV /dev/sdc'
2013-11-25 09:09:03 Creating LVM PV /dev/sdc
+++ Print 'Creating LVM PV /dev/sdc'
+++ test 1
+++ echo -e 'Creating LVM PV /dev/sdc'
+++ lvm vgchange -a n vg_virtualbox
+++ lvm pvcreate -ff --yes -v --uuid zzQIFO-qSHa-U5m4-FJI6-mKMn-kUER-2YGPYq --restorefile /var/lib/rear/layout/lvm/vg_virtualbox.cfg /dev/sdc
Wiping cache of LVM-capable devices
WARNING: Forcing physical volume creation on /dev/sdc of volume group "vg_virtualbox"
Set up physical volume for "/dev/sdc" with 1048576 available sectors
Writing physical volume data to disk "/dev/sdc"
Physical volume "/dev/sdc" successfully created
+++ component_created pv:/dev/sdc lvmdev
+++ local device=pv:/dev/sdc
+++ local type=lvmdev
+++ local touchfile=lvmdev-pv:-dev-sdc
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmdev-pv:-dev-sdc
+++ create_component /dev/vg_virtualbox lvmgrp
+++ local device=/dev/vg_virtualbox
+++ local type=lvmgrp
+++ local touchfile=lvmgrp--dev-vg_virtualbox
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmgrp--dev-vg_virtualbox ']'
+++ return 0
+++ LogPrint 'Restoring LVM VG vg_virtualbox'
+++ Log 'Restoring LVM VG vg_virtualbox'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:09:03 Restoring LVM VG vg_virtualbox'
2013-11-25 09:09:03 Restoring LVM VG vg_virtualbox
+++ Print 'Restoring LVM VG vg_virtualbox'
+++ test 1
+++ echo -e 'Restoring LVM VG vg_virtualbox'
+++ '[' -e /dev/vg_virtualbox ']'
+++ rm -rf /dev/vg_virtualbox
+++ lvm vgcfgrestore -f /var/lib/rear/layout/lvm/vg_virtualbox.cfg vg_virtualbox
Restored volume group vg_virtualbox
+++ lvm vgchange --available y vg_virtualbox
2 logical volume(s) in volume group "vg_virtualbox" now active
+++ component_created /dev/vg_virtualbox lvmgrp
+++ local device=/dev/vg_virtualbox
+++ local type=lvmgrp
+++ local touchfile=lvmgrp--dev-vg_virtualbox
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmgrp--dev-vg_virtualbox
+++ create_component /dev/mapper/vg_virtualbox-lv_root lvmvol
+++ local device=/dev/mapper/vg_virtualbox-lv_root
+++ local type=lvmvol
+++ local touchfile=lvmvol--dev-mapper-vg_virtualbox-lv_root
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmvol--dev-mapper-vg_virtualbox-lv_root ']'
+++ return 0
+++ component_created /dev/mapper/vg_virtualbox-lv_root lvmvol
+++ local device=/dev/mapper/vg_virtualbox-lv_root
+++ local type=lvmvol
+++ local touchfile=lvmvol--dev-mapper-vg_virtualbox-lv_root
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmvol--dev-mapper-vg_virtualbox-lv_root
+++ create_component /dev/mapper/vg_virtualbox-lv_swap lvmvol
+++ local device=/dev/mapper/vg_virtualbox-lv_swap
+++ local type=lvmvol
+++ local touchfile=lvmvol--dev-mapper-vg_virtualbox-lv_swap
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmvol--dev-mapper-vg_virtualbox-lv_swap ']'
+++ return 0
+++ component_created /dev/mapper/vg_virtualbox-lv_swap lvmvol
+++ local device=/dev/mapper/vg_virtualbox-lv_swap
+++ local type=lvmvol
+++ local touchfile=lvmvol--dev-mapper-vg_virtualbox-lv_swap
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/lvmvol--dev-mapper-vg_virtualbox-lv_swap
+++ create_component fs:/ fs
+++ local device=fs:/
+++ local type=fs
+++ local touchfile=fs-fs:-
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/fs-fs:- ']'
+++ return 0
+++ LogPrint 'Creating ext4-filesystem / on /dev/mapper/vg_virtualbox-lv_root'
+++ Log 'Creating ext4-filesystem / on /dev/mapper/vg_virtualbox-lv_root'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:09:04 Creating ext4-filesystem / on /dev/mapper/vg_virtualbox-lv_root'
2013-11-25 09:09:04 Creating ext4-filesystem / on /dev/mapper/vg_virtualbox-lv_root
+++ Print 'Creating ext4-filesystem / on /dev/mapper/vg_virtualbox-lv_root'
+++ test 1
+++ echo -e 'Creating ext4-filesystem / on /dev/mapper/vg_virtualbox-lv_root'
+++ mkfs -t ext4 -b 4096 -i 16401 /dev/mapper/vg_virtualbox-lv_root
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
420992 inodes, 1682432 blocks
84121 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1723858944
52 block groups
32768 blocks per group, 32768 fragments per group
8096 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Writing inode tables: 0/52 1/52 2/52 3/52 4/52 5/52 6/52 7/52 8/52 9/5210/5211/5212/5213/5214/5215/5216/5217/5218/5219/5220/5221/5222/5223/5224/5225/5226/5227/5228/5229/5230/5231/5232/5233/5234/5235/5236/5237/5238/5239/5240/5241/5242/5243/5244/5245/5246/5247/5248/5249/5250/5251/52done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
+++ tune2fs -U f4610e99-f6e5-4bf5-8317-42867e96b6f4 /dev/mapper/vg_virtualbox-lv_root
tune2fs 1.41.12 (17-May-2010)
+++ tune2fs -m 4 -c -1 -i 0d -o user_xattr,acl /dev/mapper/vg_virtualbox-lv_root
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
Setting reserved blocks percentage to 4% (67297 blocks)
+++ LogPrint 'Mounting filesystem /'
+++ Log 'Mounting filesystem /'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:09:08 Mounting filesystem /'
2013-11-25 09:09:08 Mounting filesystem /
+++ Print 'Mounting filesystem /'
+++ test 1
+++ echo -e 'Mounting filesystem /'
+++ mkdir -p /mnt/local/
+++ mount -o rw /dev/mapper/vg_virtualbox-lv_root /mnt/local/
+++ component_created fs:/ fs
+++ local device=fs:/
+++ local type=fs
+++ local touchfile=fs-fs:-
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/fs-fs:-
+++ create_component fs:/boot fs
+++ local device=fs:/boot
+++ local type=fs
+++ local touchfile=fs-fs:-boot
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/fs-fs:-boot ']'
+++ return 0
+++ LogPrint 'Creating ext4-filesystem /boot on /dev/sda1'
+++ Log 'Creating ext4-filesystem /boot on /dev/sda1'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:09:08 Creating ext4-filesystem /boot on /dev/sda1'
2013-11-25 09:09:08 Creating ext4-filesystem /boot on /dev/sda1
+++ Print 'Creating ext4-filesystem /boot on /dev/sda1'
+++ test 1
+++ echo -e 'Creating ext4-filesystem /boot on /dev/sda1'
+++ mkfs -t ext4 -b 1024 -i 4095 /dev/sda1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
128520 inodes, 512000 blocks
25600 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
63 block groups
8192 blocks per group, 8192 fragments per group
2040 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
Writing inode tables: 0/63 1/63 2/63 3/63 4/63 5/63 6/63 7/63 8/63 9/6310/6311/6312/6313/6314/6315/6316/6317/6318/6319/6320/6321/6322/6323/6324/6325/6326/6327/6328/6329/6330/6331/6332/6333/6334/6335/6336/6337/6338/6339/6340/6341/6342/6343/6344/6345/6346/6347/6348/6349/6350/6351/6352/6353/6354/6355/6356/6357/6358/6359/6360/6361/6362/63done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
+++ tune2fs -U 52ab7e36-aaf1-4b0d-bce8-8738b3e60a40 /dev/sda1
tune2fs 1.41.12 (17-May-2010)
+++ tune2fs -m 5 -c -1 -i 0d -o user_xattr,acl /dev/sda1
tune2fs 1.41.12 (17-May-2010)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
Setting reserved blocks percentage to 5% (25600 blocks)
+++ LogPrint 'Mounting filesystem /boot'
+++ Log 'Mounting filesystem /boot'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:09:10 Mounting filesystem /boot'
2013-11-25 09:09:10 Mounting filesystem /boot
+++ Print 'Mounting filesystem /boot'
+++ test 1
+++ echo -e 'Mounting filesystem /boot'
+++ mkdir -p /mnt/local/boot
+++ mount -o rw /dev/sda1 /mnt/local/boot
+++ component_created fs:/boot fs
+++ local device=fs:/boot
+++ local type=fs
+++ local touchfile=fs-fs:-boot
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/fs-fs:-boot
+++ create_component swap:/dev/mapper/vg_virtualbox-lv_swap swap
+++ local device=swap:/dev/mapper/vg_virtualbox-lv_swap
+++ local type=swap
+++ local touchfile=swap-swap:-dev-mapper-vg_virtualbox-lv_swap
+++ '[' -e /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/swap-swap:-dev-mapper-vg_virtualbox-lv_swap ']'
+++ return 0
+++ LogPrint 'Creating swap on /dev/mapper/vg_virtualbox-lv_swap'
+++ Log 'Creating swap on /dev/mapper/vg_virtualbox-lv_swap'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-25 09:09:10 Creating swap on /dev/mapper/vg_virtualbox-lv_swap'
2013-11-25 09:09:10 Creating swap on /dev/mapper/vg_virtualbox-lv_swap
+++ Print 'Creating swap on /dev/mapper/vg_virtualbox-lv_swap'
+++ test 1
+++ echo -e 'Creating swap on /dev/mapper/vg_virtualbox-lv_swap'
+++ mkswap -U 6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f /dev/mapper/vg_virtualbox-lv_swap
mkswap: /dev/mapper/vg_virtualbox-lv_swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1, size = 2064380 KiB
no label, UUID=6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f
+++ component_created swap:/dev/mapper/vg_virtualbox-lv_swap swap
+++ local device=swap:/dev/mapper/vg_virtualbox-lv_swap
+++ local type=swap
+++ local touchfile=swap-swap:-dev-mapper-vg_virtualbox-lv_swap
+++ touch /tmp/rear.hhmdbEwqJeVSoRb/tmp/touch/swap-swap:-dev-mapper-vg_virtualbox-lv_swap
+++ set +x
2013-11-25 09:09:10 Disk layout created.
++ (( 0 == 0 ))
++ RESTORE_OK=y
++ [[ -z y ]]
+ test 1
+ set +x
2013-11-25 09:09:10 Including layout/recreate/default/25_verify_mount.sh
+ . /usr/share/rear/layout/recreate/default/25_verify_mount.sh
++ diff -u /dev/fd/63 /dev/fd/62
+++ df -P /
+++ df -P /mnt/local
+ test 1
+ set +x
2013-11-25 09:09:10 Finished running 'layout/recreate' stage in 38 seconds
2013-11-25 09:09:10 Running 'restore' stage
2013-11-25 09:09:10 Including restore/Fedora/05_copy_dev_files.sh
+ . /usr/share/rear/restore/Fedora/05_copy_dev_files.sh
++ cp -a /dev/. /mnt/local/dev/
+ test 1
+ set +x
2013-11-25 09:09:10 Including restore/NETFS/default/10_mount_NETFS_path.sh
+ . /usr/share/rear/restore/NETFS/default/10_mount_NETFS_path.sh
++ mkdir -p -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs
mkdir: created directory `/tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ StopIfError 'Could not mkdir '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
++ (( 0 != 0 ))
++ AddExitTask 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'
++ EXIT_TASKS=("$*" "${EXIT_TASKS[@]}")
++ Debug 'Added '\''rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'\'' as an exit task'
++ test ''
++ [[ -n '' ]]
++ mount_url iso://backups /tmp/rear.hhmdbEwqJeVSoRb/outputfs ro
++ local url=iso://backups
++ local mountpoint=/tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ local defaultoptions=rw,noatime
++ local options=ro
++ local mount_cmd
++ case $(url_scheme $url) in
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ [[ recover = \r\e\c\o\v\e\r ]]
++ mount_cmd='mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ Log 'Mounting with '\''mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:09:10 Mounting with '\''mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
2013-11-25 09:09:10 Mounting with 'mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs
mount: block device /dev/sr0 is write-protected, mounting read-only
++ StopIfError 'Mount command '\''mount /dev/disk/by-label/RELAXRECOVER /tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' failed.'
++ (( 0 != 0 ))
++ AddExitTask 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ EXIT_TASKS=("$*" "${EXIT_TASKS[@]}")
++ Debug 'Added '\''umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'\'' as an exit task'
++ test ''
++ return 0
+ test 1
+ set +x
2013-11-25 09:09:10 Including restore/NETFS/default/38_prepare_multiple_isos.sh
+ . /usr/share/rear/restore/NETFS/default/38_prepare_multiple_isos.sh
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ local scheme=iso
+++ url_path iso://backups
+++ local url=iso://backups
+++ local path=backups
+++ echo /backups
++ local path=/backups
+++ backup_path iso /backups
+++ local scheme=iso
+++ local path=/backups
+++ case $scheme in
+++ [[ recover = \r\e\c\o\v\e\r ]]
+++ path=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
+++ echo /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
++ local opath=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
++ [[ -f /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.splitted ]]
++ return
+ test 1
+ set +x
2013-11-25 09:09:10 Including restore/NETFS/default/40_restore_backup.sh
+ . /usr/share/rear/restore/NETFS/default/40_restore_backup.sh
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ local scheme=iso
+++ url_path iso://backups
+++ local url=iso://backups
+++ local path=backups
+++ echo /backups
++ local path=/backups
+++ backup_path iso /backups
+++ local scheme=iso
+++ local path=/backups
+++ case $scheme in
+++ [[ recover = \r\e\c\o\v\e\r ]]
+++ path=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
+++ echo /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
++ local opath=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
++ mkdir -p /tmp/rear.hhmdbEwqJeVSoRb/outputfs/virtualbox
mkdir: cannot create directory `/tmp/rear.hhmdbEwqJeVSoRb/outputfs/virtualbox': Read-only file system
++ (( 0 == 1 ))
++ LogPrint 'Decrypting disabled'
++ Log 'Decrypting disabled'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:09:10 Decrypting disabled'
2013-11-25 09:09:10 Decrypting disabled
++ Print 'Decrypting disabled'
++ test 1
++ echo -e 'Decrypting disabled'
++ BACKUP_PROG_DECRYPT_OPTIONS=cat
++ BACKUP_PROG_CRYPT_KEY=
++ [[ -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup.splitted ]]
++ restoreinput=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz
++ Log 'Restoring tar archive '\'''\'''
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:09:10 Restoring tar archive '\'''\'''
2013-11-25 09:09:10 Restoring tar archive ''
++ Print 'Restoring from '\'''\'''
++ test 1
++ echo -e 'Restoring from '\'''\'''
++ ProgressStart 'Preparing restore operation'
++ echo -en '\e[2K\rPreparing restore operation\e7'
++ BackupPID=2151
++ starttime=38
++ sleep 1
++ case "$BACKUP_PROG" in
++ [[ ! 1 =~ ^[yY1] ]]
++ '[' -s /tmp/rear.hhmdbEwqJeVSoRb/tmp/restore-exclude-list.txt ']'
++ '[' == incremental ']'
/usr/share/rear/restore/NETFS/default/40_restore_backup.sh: line 42: [: ==: unary operator expected
++ Log dd if=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz '|' cat '|' tar --block-number --totals --verbose --gzip -C /mnt/local/ -x -f -
++ test 15 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:09:10 dd if=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz | cat | tar --block-number --totals --verbose --gzip -C /mnt/local/ -x -f -'
2013-11-25 09:09:10 dd if=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz | cat | tar --block-number --totals --verbose --gzip -C /mnt/local/ -x -f -
++ tar --block-number --totals --verbose --gzip -C /mnt/local/ -x -f -
++ cat
++ dd if=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/backup.tar.gz
++ unset size
++ case "$BACKUP_PROG" in
++ sleep 1
++ [[ -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup.splitted ]]
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=224373
++ size=114878976
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 109 MiB [avg 56093 KiB/sec]'
++ echo -en '\e[2K\rRestored 109 MiB [avg 56093 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=261761
++ size=134021632
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 127 MiB [avg 43626 KiB/sec]'
++ echo -en '\e[2K\rRestored 127 MiB [avg 43626 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
++ blocks=296958
++ size=152042496
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 144 MiB [avg 37119 KiB/sec]'
++ echo -en '\e[2K\rRestored 144 MiB [avg 37119 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=329311
++ size=168607232
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 160 MiB [avg 32931 KiB/sec]'
++ echo -en '\e[2K\rRestored 160 MiB [avg 32931 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=334449
++ size=171237888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 163 MiB [avg 27870 KiB/sec]'
++ echo -en '\e[2K\rRestored 163 MiB [avg 27870 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=334449
++ size=171237888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 163 MiB [avg 23889 KiB/sec]'
++ echo -en '\e[2K\rRestored 163 MiB [avg 23889 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 20994 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 20994 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 18661 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 18661 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 16795 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 16795 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 13996 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 13996 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 12919 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 12919 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 11996 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 11996 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 11197 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 11197 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 10497 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 10497 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 9879 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 9879 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 9330 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 9330 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 8839 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 8839 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 8397 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 8397 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 7997 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 7997 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 7634 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 7634 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 7302 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 7302 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 6998 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 6998 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 6718 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 6718 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=335910
++ size=171985920
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 164 MiB [avg 6459 KiB/sec]'
++ echo -en '\e[2K\rRestored 164 MiB [avg 6459 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=961339
++ size=492205568
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 469 MiB [avg 17802 KiB/sec]'
++ echo -en '\e[2K\rRestored 469 MiB [avg 17802 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=961339
++ size=492205568
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 469 MiB [avg 17166 KiB/sec]'
++ echo -en '\e[2K\rRestored 469 MiB [avg 17166 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=961339
++ size=492205568
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 469 MiB [avg 16574 KiB/sec]'
++ echo -en '\e[2K\rRestored 469 MiB [avg 16574 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=964636
++ size=493893632
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 471 MiB [avg 16077 KiB/sec]'
++ echo -en '\e[2K\rRestored 471 MiB [avg 16077 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1000341
++ size=512174592
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 488 MiB [avg 16134 KiB/sec]'
++ echo -en '\e[2K\rRestored 488 MiB [avg 16134 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1035979
++ size=530421248
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 505 MiB [avg 16187 KiB/sec]'
++ echo -en '\e[2K\rRestored 505 MiB [avg 16187 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1075695
++ size=550755840
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 525 MiB [avg 16298 KiB/sec]'
++ echo -en '\e[2K\rRestored 525 MiB [avg 16298 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1098500
++ size=562432000
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 536 MiB [avg 16154 KiB/sec]'
++ echo -en '\e[2K\rRestored 536 MiB [avg 16154 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 16377 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 16377 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 15922 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 15922 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 15492 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 15492 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 15084 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 15084 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 14698 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 14698 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 14330 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 14330 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 13981 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 13981 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 13648 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 13648 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 13330 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 13330 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1146449
++ size=586981888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 559 MiB [avg 13027 KiB/sec]'
++ echo -en '\e[2K\rRestored 559 MiB [avg 13027 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1454481
++ size=744694272
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 710 MiB [avg 16160 KiB/sec]'
++ echo -en '\e[2K\rRestored 710 MiB [avg 16160 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1462233
++ size=748663296
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 713 MiB [avg 15893 KiB/sec]'
++ echo -en '\e[2K\rRestored 713 MiB [avg 15893 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1462233
++ size=748663296
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 713 MiB [avg 15555 KiB/sec]'
++ echo -en '\e[2K\rRestored 713 MiB [avg 15555 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1481873
++ size=758718976
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 723 MiB [avg 15436 KiB/sec]'
++ echo -en '\e[2K\rRestored 723 MiB [avg 15436 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1519097
++ size=777777664
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 741 MiB [avg 15500 KiB/sec]'
++ echo -en '\e[2K\rRestored 741 MiB [avg 15500 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1601374
++ size=819903488
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 781 MiB [avg 16013 KiB/sec]'
++ echo -en '\e[2K\rRestored 781 MiB [avg 16013 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1611066
++ size=824865792
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 786 MiB [avg 15794 KiB/sec]'
++ echo -en '\e[2K\rRestored 786 MiB [avg 15794 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1611066
++ size=824865792
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 786 MiB [avg 15491 KiB/sec]'
++ echo -en '\e[2K\rRestored 786 MiB [avg 15491 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1611066
++ size=824865792
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 786 MiB [avg 15198 KiB/sec]'
++ echo -en '\e[2K\rRestored 786 MiB [avg 15198 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1635372
++ size=837310464
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 798 MiB [avg 15142 KiB/sec]'
++ echo -en '\e[2K\rRestored 798 MiB [avg 15142 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1738034
++ size=889873408
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 848 MiB [avg 15800 KiB/sec]'
++ echo -en '\e[2K\rRestored 848 MiB [avg 15800 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1782943
++ size=912866816
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 870 MiB [avg 15919 KiB/sec]'
++ echo -en '\e[2K\rRestored 870 MiB [avg 15919 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1819502
++ size=931585024
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 888 MiB [avg 15960 KiB/sec]'
++ echo -en '\e[2K\rRestored 888 MiB [avg 15960 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1882175
++ size=963673600
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 919 MiB [avg 16225 KiB/sec]'
++ echo -en '\e[2K\rRestored 919 MiB [avg 16225 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1900755
++ size=973186560
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 928 MiB [avg 16108 KiB/sec]'
++ echo -en '\e[2K\rRestored 928 MiB [avg 16108 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1946324
++ size=996517888
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 950 MiB [avg 16219 KiB/sec]'
++ echo -en '\e[2K\rRestored 950 MiB [avg 16219 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1951608
++ size=999223296
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 952 MiB [avg 15996 KiB/sec]'
++ echo -en '\e[2K\rRestored 952 MiB [avg 15996 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1951608
++ size=999223296
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 952 MiB [avg 15738 KiB/sec]'
++ echo -en '\e[2K\rRestored 952 MiB [avg 15738 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1982204
++ size=1014888448
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 967 MiB [avg 15731 KiB/sec]'
++ echo -en '\e[2K\rRestored 967 MiB [avg 15731 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1995018
++ size=1021449216
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 974 MiB [avg 15586 KiB/sec]'
++ echo -en '\e[2K\rRestored 974 MiB [avg 15586 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1995018
++ size=1021449216
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 974 MiB [avg 15346 KiB/sec]'
++ echo -en '\e[2K\rRestored 974 MiB [avg 15346 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1995018
++ size=1021449216
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 974 MiB [avg 15113 KiB/sec]'
++ echo -en '\e[2K\rRestored 974 MiB [avg 15113 KiB/sec]\e7'
++ sleep 1
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=1995018
++ size=1021449216
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 974 MiB [avg 14888 KiB/sec]'
++ echo -en '\e[2K\rRestored 974 MiB [avg 14888 KiB/sec]\e7'
++ sleep 1
1202757+1 records in
1202757+1 records out
615811932 bytes (616 MB) copied, 66.8695 s, 9.2 MB/s
++ kill -0 2151
+++ awk 'BEGIN { FS="[ :]" } /^block [0-9]+: / { print $2 }'
+++ tail -1 /tmp/rear.hhmdbEwqJeVSoRb/tmp/backup-restore.log
++ blocks=2081204
++ size=1065576448
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/tmp/wait_dvd ']'
++ ProgressInfo 'Restored 1016 MiB [avg 15302 KiB/sec]'
++ echo -en '\e[2K\rRestored 1016 MiB [avg 15302 KiB/sec]\e7'
++ sleep 1
Total bytes read: 1065728000 (1017MiB, 16MiB/s)
++ kill -0 2151
++ ProgressStop
++ echo -e '\e8\e[KOK'
++ transfertime=69
++ wait 2151
++ backup_prog_rc=0
++ sleep 1
++ test 0 -gt 0
+++ grep -m1 '^Total bytes written: '
+++ tac /var/log/rear/rear-virtualbox.log
++ tar_message=
++ '[' 0 -eq 0 -a '' ']'
++ '[' 1065576448 ']'
++ LogPrint 'Restored 1016 MiB in 69 seconds [avg 15081 KiB/sec]'
++ Log 'Restored 1016 MiB in 69 seconds [avg 15081 KiB/sec]'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:10:20 Restored 1016 MiB in 69 seconds [avg 15081 KiB/sec]'
2013-11-25 09:10:20 Restored 1016 MiB in 69 seconds [avg 15081 KiB/sec]
++ Print 'Restored 1016 MiB in 69 seconds [avg 15081 KiB/sec]'
++ test 1
++ echo -e 'Restored 1016 MiB in 69 seconds [avg 15081 KiB/sec]'
+ test 1
+ set +x
2013-11-25 09:10:20 Including restore/NETFS/default/50_selinux_autorelabel.sh
+ . /usr/share/rear/restore/NETFS/default/50_selinux_autorelabel.sh
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ local scheme=iso
+++ url_path iso://backups
+++ local url=iso://backups
+++ local path=backups
+++ echo /backups
++ local path=/backups
+++ backup_path iso /backups
+++ local scheme=iso
+++ local path=/backups
+++ case $scheme in
+++ [[ recover = \r\e\c\o\v\e\r ]]
+++ path=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
+++ echo /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
++ local opath=/tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups
++ '[' -f /tmp/rear.hhmdbEwqJeVSoRb/outputfs/backups/selinux.autorelabel ']'
++ touch /mnt/local/.autorelabel
++ Log 'Created /.autorelabel file : after reboot SELinux will relabel all files'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:10:20 Created /.autorelabel file : after reboot SELinux will relabel all files'
2013-11-25 09:10:20 Created /.autorelabel file : after reboot SELinux will relabel all files
+ test 1
+ set +x
2013-11-25 09:10:20 Including restore/NETFS/Linux-i386/51_selinux_fixfiles_exclude_dirs.sh
+ . /usr/share/rear/restore/NETFS/Linux-i386/51_selinux_fixfiles_exclude_dirs.sh
++ [[ -z '' ]]
++ return
+ test 1
+ set +x
2013-11-25 09:10:20 Including restore/default/90_create_missing_directories.sh
+ . /usr/share/rear/restore/default/90_create_missing_directories.sh
++ pushd /mnt/local
++ mkdir -p mnt proc sys tmp dev/pts dev/shm
++ chmod 1777 tmp
++ popd
+ test 1
+ set +x
2013-11-25 09:10:21 Including restore/NETFS/default/98_umount_NETFS_dir.sh
+ . /usr/share/rear/restore/NETFS/default/98_umount_NETFS_dir.sh
++ [[ -n '' ]]
++ umount_url iso://backups /tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ local url=iso://backups
++ local mountpoint=/tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ case $(url_scheme $url) in
+++ url_scheme iso://backups
+++ local url=iso://backups
+++ local scheme=iso
+++ grep -q :
+++ echo iso
+++ echo iso
++ [[ recover != \r\e\c\o\v\e\r ]]
++ umount_mountpoint /tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ local mountpoint=/tmp/rear.hhmdbEwqJeVSoRb/outputfs
++ Log 'Unmounting '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:10:21 Unmounting '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'''
2013-11-25 09:10:21 Unmounting '/tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ umount -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs
/dev/sr0 umounted
++ [[ 0 -eq 0 ]]
++ return 0
++ StopIfError 'Unmounting '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' failed.'
++ (( 0 != 0 ))
++ RemoveExitTask 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ local removed=
++ (( c=0 ))
++ (( c<5 ))
++ test 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2' == 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ unset 'EXIT_TASKS[c]'
++ removed=yes
++ Debug 'Removed '\''umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'\'' from the list of exit tasks'
++ test ''
++ (( c++ ))
++ (( c<4 ))
++ test 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2' == 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ (( c++ ))
++ (( c<4 ))
++ test cleanup_build_area_and_end_program == 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ (( c++ ))
++ (( c<4 ))
++ test 'exec 8>&-' == 'umount -f -v '\''/tmp/rear.hhmdbEwqJeVSoRb/outputfs'\'' >&2'
++ (( c++ ))
++ (( c<4 ))
++ '[' yes == yes ']'
+++ for task in '"${EXIT_TASKS[@]}"'
+++ echo 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/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.hhmdbEwqJeVSoRb/outputfs'\'' >&2'\'' (not found). Exit Tasks:
rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2
cleanup_build_area_and_end_program
exec 8>&-
exec 7>&-'
++ (( 0 != 0 ))
++ return 0
++ rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs
rmdir: removing directory, `/tmp/rear.hhmdbEwqJeVSoRb/outputfs'
++ [[ 0 -eq 0 ]]
++ RemoveExitTask 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'
++ local removed=
++ (( c=0 ))
++ (( c<4 ))
++ test '' == 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'
++ (( c++ ))
++ (( c<4 ))
++ test 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2' == 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'
++ unset 'EXIT_TASKS[c]'
++ removed=yes
++ Debug 'Removed '\''rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/outputfs >&2'\'' from the list of exit tasks'
++ test ''
++ (( c++ ))
++ (( c<3 ))
++ test cleanup_build_area_and_end_program == 'rmdir -v /tmp/rear.hhmdbEwqJeVSoRb/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.hhmdbEwqJeVSoRb/outputfs >&2'\'' (not found). Exit Tasks:
cleanup_build_area_and_end_program
exec 8>&-
exec 7>&-'
++ (( 0 != 0 ))
+ test 1
+ set +x
2013-11-25 09:10:21 Finished running 'restore' stage in 71 seconds
2013-11-25 09:10:21 Running 'finalize' stage
2013-11-25 09:10:21 Including finalize/default/01_prepare_checks.sh
+ . /usr/share/rear/finalize/default/01_prepare_checks.sh
++ NOBOOTLOADER=1
+ test 1
+ set +x
2013-11-25 09:10:21 Including finalize/default/10_populate_dev.sh
+ . /usr/share/rear/finalize/default/10_populate_dev.sh
++ cp -fa /dev /mnt/local/
+ test 1
+ set +x
2013-11-25 09:10:22 Including finalize/GNU/Linux/15_migrate_disk_devices_layout.sh
+ . /usr/share/rear/finalize/GNU/Linux/15_migrate_disk_devices_layout.sh
++ [[ ! -s '' ]]
++ return
+ test 1
+ set +x
2013-11-25 09:10:22 Including finalize/GNU/Linux/15_migrate_uuid_tags.sh
+ . /usr/share/rear/finalize/GNU/Linux/15_migrate_uuid_tags.sh
++ test -s /var/lib/rear/layout/fs_uuid_mapping
++ return 0
+ test 1
+ set +x
2013-11-25 09:10:22 Including finalize/GNU/Linux/16_rename_diskbyid.sh
+ . /usr/share/rear/finalize/GNU/Linux/16_rename_diskbyid.sh
++ FILES='/etc/fstab /boot/grub/menu.lst /boot/grub2/grub.cfg /boot/grub/device.map /boot/efi/*/*/grub.cfg'
++ OLD_ID_FILE=/var/lib/rear/recovery/diskbyid_mappings
++ NEW_ID_FILE=/tmp/diskbyid_mappings
++ '[' '!' -s /var/lib/rear/recovery/diskbyid_mappings ']'
++ '[' -z '/etc/fstab /boot/grub/menu.lst /boot/grub2/grub.cfg /boot/grub/device.map /boot/efi/*/*/grub.cfg' ']'
++ UdevSymlinkName=
++ type -p udevinfo
++ type -p udevadm
++ UdevSymlinkName='udevadm info --root --query=symlink --name'
++ [[ -z udevadm info --root --query=symlink --name ]]
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sdb =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sdb
++ SYMLINKS='/dev/block/8:16 /dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499 /dev/disk/by-path/pci-0000:00:0d.0-scsi-1:0:0:0'
++ set -- /dev/block/8:16 /dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499 /dev/disk/by-path/pci-0000:00:0d.0-scsi-1:0:0:0
++ '[' 4 -gt 0 ']'
++ [[ /dev/block/8:16 =~ /dev/disk/by-id ]]
++ shift
++ '[' 3 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499 =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VB29115861-f8eba499
++ break
++ echo ata-VBOX_HARDDISK_VB29115861-f8eba499 sdb ata-VBOX_HARDDISK_VB29115861-f8eba499
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sda =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sda
++ SYMLINKS='/dev/block/8:0 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0'
++ set -- /dev/block/8:0 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0
++ '[' 4 -gt 0 ']'
++ [[ /dev/block/8:0 =~ /dev/disk/by-id ]]
++ shift
++ '[' 3 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ break
++ echo ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 sda ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sda1 =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sda1
++ SYMLINKS='/dev/block/8:1 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part1 /dev/disk/by-uuid/52ab7e36-aaf1-4b0d-bce8-8738b3e60a40'
++ set -- /dev/block/8:1 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part1 /dev/disk/by-uuid/52ab7e36-aaf1-4b0d-bce8-8738b3e60a40
++ '[' 5 -gt 0 ']'
++ [[ /dev/block/8:1 =~ /dev/disk/by-id ]]
++ shift
++ '[' 4 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ break
++ echo ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 sda1 ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sda2 =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sda2
++ SYMLINKS='/dev/block/8:2 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part2'
++ set -- /dev/block/8:2 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part2
++ '[' 4 -gt 0 ']'
++ [[ /dev/block/8:2 =~ /dev/disk/by-id ]]
++ shift
++ '[' 3 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ break
++ echo ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 sda2 ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sdc =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sdc
++ SYMLINKS='/dev/block/8:32 /dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa /dev/disk/by-path/pci-0000:00:0d.0-scsi-2:0:0:0'
++ set -- /dev/block/8:32 /dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa /dev/disk/by-path/pci-0000:00:0d.0-scsi-2:0:0:0
++ '[' 4 -gt 0 ']'
++ [[ /dev/block/8:32 =~ /dev/disk/by-id ]]
++ shift
++ '[' 3 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ break
++ echo ata-VBOX_HARDDISK_VBdb404523-c46274fa sdc ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ read ID DEV_NAME
++ ID_NEW=
++ [[ dm-0 =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name dm-0
++ SYMLINKS='/dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox/lv_root /dev/disk/by-id/dm-name-vg_virtualbox-lv_root /dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ /dev/disk/by-uuid/f4610e99-f6e5-4bf5-8317-42867e96b6f4 /dev/block/253:0'
++ set -- /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox/lv_root /dev/disk/by-id/dm-name-vg_virtualbox-lv_root /dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ /dev/disk/by-uuid/f4610e99-f6e5-4bf5-8317-42867e96b6f4 /dev/block/253:0
++ '[' 6 -gt 0 ']'
++ [[ /dev/mapper/vg_virtualbox-lv_root =~ /dev/disk/by-id ]]
++ shift
++ '[' 5 -gt 0 ']'
++ [[ /dev/vg_virtualbox/lv_root =~ /dev/disk/by-id ]]
++ shift
++ '[' 4 -gt 0 ']'
++ [[ /dev/disk/by-id/dm-name-vg_virtualbox-lv_root =~ /dev/disk/by-id ]]
++ ID_NEW=dm-name-vg_virtualbox-lv_root
++ break
++ echo dm-name-vg_virtualbox-lv_root dm-0 dm-name-vg_virtualbox-lv_root
++ read ID DEV_NAME
++ ID_NEW=
++ [[ dm-1 =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name dm-1
++ SYMLINKS='/dev/mapper/vg_virtualbox-lv_swap /dev/vg_virtualbox/lv_swap /dev/disk/by-id/dm-name-vg_virtualbox-lv_swap /dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V /dev/disk/by-uuid/6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f /dev/block/253:1'
++ set -- /dev/mapper/vg_virtualbox-lv_swap /dev/vg_virtualbox/lv_swap /dev/disk/by-id/dm-name-vg_virtualbox-lv_swap /dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V /dev/disk/by-uuid/6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f /dev/block/253:1
++ '[' 6 -gt 0 ']'
++ [[ /dev/mapper/vg_virtualbox-lv_swap =~ /dev/disk/by-id ]]
++ shift
++ '[' 5 -gt 0 ']'
++ [[ /dev/vg_virtualbox/lv_swap =~ /dev/disk/by-id ]]
++ shift
++ '[' 4 -gt 0 ']'
++ [[ /dev/disk/by-id/dm-name-vg_virtualbox-lv_swap =~ /dev/disk/by-id ]]
++ ID_NEW=dm-name-vg_virtualbox-lv_swap
++ break
++ echo dm-name-vg_virtualbox-lv_swap dm-1 dm-name-vg_virtualbox-lv_swap
++ read ID DEV_NAME
++ ID_NEW=
++ [[ dm-1 =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name dm-1
++ SYMLINKS='/dev/mapper/vg_virtualbox-lv_swap /dev/vg_virtualbox/lv_swap /dev/disk/by-id/dm-name-vg_virtualbox-lv_swap /dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V /dev/disk/by-uuid/6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f /dev/block/253:1'
++ set -- /dev/mapper/vg_virtualbox-lv_swap /dev/vg_virtualbox/lv_swap /dev/disk/by-id/dm-name-vg_virtualbox-lv_swap /dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V /dev/disk/by-uuid/6be5c8a3-bab1-4f23-94cb-9ac566fe7e8f /dev/block/253:1
++ '[' 6 -gt 0 ']'
++ [[ /dev/mapper/vg_virtualbox-lv_swap =~ /dev/disk/by-id ]]
++ shift
++ '[' 5 -gt 0 ']'
++ [[ /dev/vg_virtualbox/lv_swap =~ /dev/disk/by-id ]]
++ shift
++ '[' 4 -gt 0 ']'
++ [[ /dev/disk/by-id/dm-name-vg_virtualbox-lv_swap =~ /dev/disk/by-id ]]
++ ID_NEW=dm-name-vg_virtualbox-lv_swap
++ break
++ echo dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V dm-1 dm-name-vg_virtualbox-lv_swap
++ read ID DEV_NAME
++ ID_NEW=
++ [[ dm-0 =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name dm-0
++ SYMLINKS='/dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox/lv_root /dev/disk/by-id/dm-name-vg_virtualbox-lv_root /dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ /dev/disk/by-uuid/f4610e99-f6e5-4bf5-8317-42867e96b6f4 /dev/block/253:0'
++ set -- /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox/lv_root /dev/disk/by-id/dm-name-vg_virtualbox-lv_root /dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ /dev/disk/by-uuid/f4610e99-f6e5-4bf5-8317-42867e96b6f4 /dev/block/253:0
++ '[' 6 -gt 0 ']'
++ [[ /dev/mapper/vg_virtualbox-lv_root =~ /dev/disk/by-id ]]
++ shift
++ '[' 5 -gt 0 ']'
++ [[ /dev/vg_virtualbox/lv_root =~ /dev/disk/by-id ]]
++ shift
++ '[' 4 -gt 0 ']'
++ [[ /dev/disk/by-id/dm-name-vg_virtualbox-lv_root =~ /dev/disk/by-id ]]
++ ID_NEW=dm-name-vg_virtualbox-lv_root
++ break
++ echo dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ dm-0 dm-name-vg_virtualbox-lv_root
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sdb =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sdb
++ SYMLINKS='/dev/block/8:16 /dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499 /dev/disk/by-path/pci-0000:00:0d.0-scsi-1:0:0:0'
++ set -- /dev/block/8:16 /dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499 /dev/disk/by-path/pci-0000:00:0d.0-scsi-1:0:0:0
++ '[' 4 -gt 0 ']'
++ [[ /dev/block/8:16 =~ /dev/disk/by-id ]]
++ shift
++ '[' 3 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499 =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VB29115861-f8eba499
++ break
++ echo scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499 sdb ata-VBOX_HARDDISK_VB29115861-f8eba499
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sda =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sda
++ SYMLINKS='/dev/block/8:0 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0'
++ set -- /dev/block/8:0 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0
++ '[' 4 -gt 0 ']'
++ [[ /dev/block/8:0 =~ /dev/disk/by-id ]]
++ shift
++ '[' 3 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ break
++ echo scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0 sda ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sda1 =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sda1
++ SYMLINKS='/dev/block/8:1 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part1 /dev/disk/by-uuid/52ab7e36-aaf1-4b0d-bce8-8738b3e60a40'
++ set -- /dev/block/8:1 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part1 /dev/disk/by-uuid/52ab7e36-aaf1-4b0d-bce8-8738b3e60a40
++ '[' 5 -gt 0 ']'
++ [[ /dev/block/8:1 =~ /dev/disk/by-id ]]
++ shift
++ '[' 4 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ break
++ echo scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 sda1 ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sda2 =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sda2
++ SYMLINKS='/dev/block/8:2 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part2'
++ set -- /dev/block/8:2 /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 /dev/disk/by-path/pci-0000:00:0d.0-scsi-0:0:0:0-part2
++ '[' 4 -gt 0 ']'
++ [[ /dev/block/8:2 =~ /dev/disk/by-id ]]
++ shift
++ '[' 3 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ break
++ echo scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 sda2 ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ read ID DEV_NAME
++ ID_NEW=
++ [[ sdc =~ /dev/dm ]]
+++ udevadm info --root --query=symlink --name sdc
++ SYMLINKS='/dev/block/8:32 /dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa /dev/disk/by-path/pci-0000:00:0d.0-scsi-2:0:0:0'
++ set -- /dev/block/8:32 /dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa /dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa /dev/disk/by-path/pci-0000:00:0d.0-scsi-2:0:0:0
++ '[' 4 -gt 0 ']'
++ [[ /dev/block/8:32 =~ /dev/disk/by-id ]]
++ shift
++ '[' 3 -gt 0 ']'
++ [[ /dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa =~ /dev/disk/by-id ]]
++ ID_NEW=ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ break
++ echo scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa sdc ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ read ID DEV_NAME
++ for file in '$FILES'
++ realfile=/mnt/local//etc/fstab
++ '[' '!' -f /mnt/local//etc/fstab ']'
++ cp /mnt/local//etc/fstab /mnt/local//etc/fstab.rearbak
++ sed -i -e 's/$/ /g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB29115861-f8eba499 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VBdb404523-c46274fa ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_root ']'
++ ID_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_root
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_root
++ sed -i 's#/dev/disk/by-id/dm-name-vg_virtualbox-lv_root\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_root\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_swap ']'
++ ID_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap
++ sed -i 's#/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_swap ']'
++ ID_FULL=/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap
++ sed -i 's#/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_root ']'
++ ID_FULL=/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_root
++ sed -i 's#/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_root\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB29115861-f8eba499 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VBdb404523-c46274fa ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa\1#g' /mnt/local//etc/fstab
++ read ID DEV_NAME ID_NEW
++ for file in '$FILES'
++ realfile=/mnt/local//boot/grub/menu.lst
++ '[' '!' -f /mnt/local//boot/grub/menu.lst ']'
++ cp /mnt/local//boot/grub/menu.lst /mnt/local//boot/grub/menu.lst.rearbak
++ sed -i -e 's/$/ /g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB29115861-f8eba499 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VBdb404523-c46274fa ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_root ']'
++ ID_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_root
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_root
++ sed -i 's#/dev/disk/by-id/dm-name-vg_virtualbox-lv_root\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_root\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_swap ']'
++ ID_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap
++ sed -i 's#/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_swap ']'
++ ID_FULL=/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap
++ sed -i 's#/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_root ']'
++ ID_FULL=/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_root
++ sed -i 's#/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_root\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB29115861-f8eba499 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VBdb404523-c46274fa ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa\1#g' /mnt/local//boot/grub/menu.lst
++ read ID DEV_NAME ID_NEW
++ for file in '$FILES'
++ realfile=/mnt/local//boot/grub2/grub.cfg
++ '[' '!' -f /mnt/local//boot/grub2/grub.cfg ']'
++ continue
++ for file in '$FILES'
++ realfile=/mnt/local//boot/grub/device.map
++ '[' '!' -f /mnt/local//boot/grub/device.map ']'
++ cp /mnt/local//boot/grub/device.map /mnt/local//boot/grub/device.map.rearbak
++ sed -i -e 's/$/ /g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB29115861-f8eba499 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VBdb404523-c46274fa ']'
++ ID_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ sed -i 's#/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_root ']'
++ ID_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_root
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_root
++ sed -i 's#/dev/disk/by-id/dm-name-vg_virtualbox-lv_root\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_root\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_swap ']'
++ ID_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap
++ sed -i 's#/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_swap ']'
++ ID_FULL=/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap
++ sed -i 's#/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzUFhcTiYlTYFmTmayHDiKqnvgafBTKK1V\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_swap\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n dm-name-vg_virtualbox-lv_root ']'
++ ID_FULL=/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ
++ ID_NEW_FULL=/dev/disk/by-id/dm-name-vg_virtualbox-lv_root
++ sed -i 's#/dev/disk/by-id/dm-uuid-LVM-Joh2IbbdH9UdTQ80fhLQoW0UjVHKtdpzsnDyt1Bfvbngs0V2Ty7YTleAVEjZM7uQ\([^-a-zA-Z0-9]\)#/dev/disk/by-id/dm-name-vg_virtualbox-lv_root\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB29115861-f8eba499 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB29115861-f8eba499\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB29115861-f8eba499\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part1\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2 ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VB2cc4dd09-134a47d0-part2\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ '[' -n ata-VBOX_HARDDISK_VBdb404523-c46274fa ']'
++ ID_FULL=/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa
++ ID_NEW_FULL=/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa
++ sed -i 's#/dev/disk/by-id/scsi-SATA_VBOX_HARDDISK_VBdb404523-c46274fa\([^-a-zA-Z0-9]\)#/dev/disk/by-id/ata-VBOX_HARDDISK_VBdb404523-c46274fa\1#g' /mnt/local//boot/grub/device.map
++ read ID DEV_NAME ID_NEW
++ unset ID DEV_NAME ID_NEW SYMLINKS ID_FULL ID_NEW_FULL
+ test 1
+ set +x
2013-11-25 09:10:22 Including finalize/Fedora/i386/17_rebuild_initramfs.sh
+ . /usr/share/rear/finalize/Fedora/i386/17_rebuild_initramfs.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
++ test -s /tmp/rear.hhmdbEwqJeVSoRb/tmp/storage_drivers
++ diff /tmp/rear.hhmdbEwqJeVSoRb/tmp/storage_drivers /var/lib/rear/recovery/storage_drivers
+ test 1
+ set +x
2013-11-25 09:10:22 Including finalize/Linux-i386/21_install_grub.sh
+ . /usr/share/rear/finalize/Linux-i386/21_install_grub.sh
++ [[ -z 1 ]]
++ [[ ! -z '' ]]
+++ type -p grub
++ [[ -z /sbin/grub ]]
++ LogPrint 'Installing GRUB boot loader'
++ Log 'Installing GRUB boot loader'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-25 09:10:22 Installing GRUB boot loader'
2013-11-25 09:10:22 Installing GRUB boot loader
++ Print 'Installing GRUB boot loader'
++ test 1
++ echo -e 'Installing GRUB boot loader'
++ mount -t proc none /mnt/local/proc
++ [[ -r /var/lib/rear/layout/disklayout.conf ]]
++ [[ -r /var/lib/rear/layout/diskdeps.conf ]]
++ [[ -d /mnt/local/boot ]]
++ StopIfError 'Could not find directory /boot'
++ (( 0 != 0 ))
++ [[ -d /mnt/local/boot/grub ]]
++ StopIfError 'Could not find directory /boot/grub'
++ (( 0 != 0 ))
++ [[ -r /mnt/local/boot/grub/stage2 ]]
++ StopIfError 'Unable to find /boot/grub/stage2.'
++ (( 0 != 0 ))
+++ filesystem_name /mnt/local/boot
+++ local path=/mnt/local/boot
++++ awk 'END { print $6 }'
++++ df -P /mnt/local/boot
+++ local fs=/mnt/local/boot
+++ [[ -z /mnt/local/boot ]]
+++ echo /mnt/local/boot
++ [[ /mnt/local/boot == \/\m\n\t\/\l\o\c\a\l ]]
+++ find_partition fs:/boot
+++ get_parent_components fs:/boot part
+++ declare -a ancestors devlist
+++ declare current child parent
+++ devlist=("$1")
+++ (( 1 ))
+++ current=fs:/boot
+++ read child parent junk
+++ [[ /dev/sda1 = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ fs:/ = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ [[ fs:/boot = \f\s\:\/\b\o\o\t ]]
+++ IsInArray /dev/sda1
+++ local needle=/dev/sda1
+++ shift
+++ [[ /dev/sda1 == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ fs:/boot = \f\s\:\/\b\o\o\t ]]
+++ IsInArray fs:/ /dev/sda1
+++ local needle=fs:/
+++ shift
+++ [[ fs:/ == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ fs:/ == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \f\s\:\/\b\o\o\t ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 2 ))
+++ current=/dev/sda1
+++ read child parent junk
+++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\1 ]]
+++ IsInArray /dev/sda /dev/sda1 fs:/
+++ local needle=/dev/sda
+++ shift
+++ [[ /dev/sda == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ /dev/sda == \f\s\:\/ ]]
+++ shift
+++ [[ /dev/sda == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ fs:/ = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 2 ))
+++ current=fs:/
+++ read child parent junk
+++ [[ /dev/sda1 = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ fs:/ = \f\s\:\/ ]]
+++ IsInArray /dev/mapper/vg_virtualbox-lv_root /dev/sda1 fs:/ /dev/sda
+++ local needle=/dev/mapper/vg_virtualbox-lv_root
+++ shift
+++ [[ /dev/mapper/vg_virtualbox-lv_root == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ /dev/mapper/vg_virtualbox-lv_root == \f\s\:\/ ]]
+++ shift
+++ [[ /dev/mapper/vg_virtualbox-lv_root == \/\d\e\v\/\s\d\a ]]
+++ shift
+++ [[ /dev/mapper/vg_virtualbox-lv_root == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ fs:/boot = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ fs:/boot = \f\s\:\/ ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \f\s\:\/ ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 2 ))
+++ current=/dev/sda
+++ read child parent junk
+++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ fs:/ = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 1 ))
+++ current=/dev/mapper/vg_virtualbox-lv_root
+++ read child parent junk
+++ [[ /dev/sda1 = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ IsInArray /dev/vg_virtualbox /dev/sda1 fs:/ /dev/sda /dev/mapper/vg_virtualbox-lv_root
+++ local needle=/dev/vg_virtualbox
+++ shift
+++ [[ /dev/vg_virtualbox == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ /dev/vg_virtualbox == \f\s\:\/ ]]
+++ shift
+++ [[ /dev/vg_virtualbox == \/\d\e\v\/\s\d\a ]]
+++ shift
+++ [[ /dev/vg_virtualbox == \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ shift
+++ [[ /dev/vg_virtualbox == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ fs:/ = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 1 ))
+++ current=/dev/vg_virtualbox
+++ read child parent junk
+++ [[ /dev/sda1 = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ IsInArray pv:/dev/sda2 /dev/sda1 fs:/ /dev/sda /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox
+++ local needle=pv:/dev/sda2
+++ shift
+++ [[ pv:/dev/sda2 == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ pv:/dev/sda2 == \f\s\:\/ ]]
+++ shift
+++ [[ pv:/dev/sda2 == \/\d\e\v\/\s\d\a ]]
+++ shift
+++ [[ pv:/dev/sda2 == \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ shift
+++ [[ pv:/dev/sda2 == \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ shift
+++ [[ pv:/dev/sda2 == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ IsInArray pv:/dev/sdb /dev/sda1 fs:/ /dev/sda /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox pv:/dev/sda2
+++ local needle=pv:/dev/sdb
+++ shift
+++ [[ pv:/dev/sdb == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ pv:/dev/sdb == \f\s\:\/ ]]
+++ shift
+++ [[ pv:/dev/sdb == \/\d\e\v\/\s\d\a ]]
+++ shift
+++ [[ pv:/dev/sdb == \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ shift
+++ [[ pv:/dev/sdb == \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ shift
+++ [[ pv:/dev/sdb == \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ shift
+++ [[ pv:/dev/sdb == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ pv:/dev/sdb = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ IsInArray pv:/dev/sdc /dev/sda1 fs:/ /dev/sda /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox pv:/dev/sda2 pv:/dev/sdb
+++ local needle=pv:/dev/sdc
+++ shift
+++ [[ pv:/dev/sdc == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ pv:/dev/sdc == \f\s\:\/ ]]
+++ shift
+++ [[ pv:/dev/sdc == \/\d\e\v\/\s\d\a ]]
+++ shift
+++ [[ pv:/dev/sdc == \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ shift
+++ [[ pv:/dev/sdc == \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ shift
+++ [[ pv:/dev/sdc == \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ shift
+++ [[ pv:/dev/sdc == \p\v\:\/\d\e\v\/\s\d\b ]]
+++ shift
+++ [[ pv:/dev/sdc == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ pv:/dev/sdc = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ fs:/ = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 3 ))
+++ current=pv:/dev/sda2
+++ read child parent junk
+++ [[ /dev/sda1 = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ IsInArray /dev/sda2 /dev/sda1 fs:/ /dev/sda /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox pv:/dev/sda2 pv:/dev/sdb pv:/dev/sdc
+++ local needle=/dev/sda2
+++ shift
+++ [[ /dev/sda2 == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ /dev/sda2 == \f\s\:\/ ]]
+++ shift
+++ [[ /dev/sda2 == \/\d\e\v\/\s\d\a ]]
+++ shift
+++ [[ /dev/sda2 == \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ shift
+++ [[ /dev/sda2 == \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ shift
+++ [[ /dev/sda2 == \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ shift
+++ [[ /dev/sda2 == \p\v\:\/\d\e\v\/\s\d\b ]]
+++ shift
+++ [[ /dev/sda2 == \p\v\:\/\d\e\v\/\s\d\c ]]
+++ shift
+++ [[ /dev/sda2 == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ fs:/ = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ fs:/boot = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ fs:/boot = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 3 ))
+++ current=pv:/dev/sdb
+++ read child parent junk
+++ [[ /dev/sda1 = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ IsInArray /dev/sdb /dev/sda1 fs:/ /dev/sda /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox pv:/dev/sda2 pv:/dev/sdb pv:/dev/sdc /dev/sda2
+++ local needle=/dev/sdb
+++ shift
+++ [[ /dev/sdb == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ /dev/sdb == \f\s\:\/ ]]
+++ shift
+++ [[ /dev/sdb == \/\d\e\v\/\s\d\a ]]
+++ shift
+++ [[ /dev/sdb == \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ shift
+++ [[ /dev/sdb == \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ shift
+++ [[ /dev/sdb == \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ shift
+++ [[ /dev/sdb == \p\v\:\/\d\e\v\/\s\d\b ]]
+++ shift
+++ [[ /dev/sdb == \p\v\:\/\d\e\v\/\s\d\c ]]
+++ shift
+++ [[ /dev/sdb == \/\d\e\v\/\s\d\a\2 ]]
+++ shift
+++ [[ /dev/sdb == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ fs:/ = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ fs:/boot = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ fs:/boot = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \p\v\:\/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 3 ))
+++ current=pv:/dev/sdc
+++ read child parent junk
+++ [[ /dev/sda1 = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ IsInArray /dev/sdc /dev/sda1 fs:/ /dev/sda /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox pv:/dev/sda2 pv:/dev/sdb pv:/dev/sdc /dev/sda2 /dev/sdb
+++ local needle=/dev/sdc
+++ shift
+++ [[ /dev/sdc == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ /dev/sdc == \f\s\:\/ ]]
+++ shift
+++ [[ /dev/sdc == \/\d\e\v\/\s\d\a ]]
+++ shift
+++ [[ /dev/sdc == \/\d\e\v\/\m\a\p\p\e\r\/\v\g\_\v\i\r\t\u\a\l\b\o\x\-\l\v\_\r\o\o\t ]]
+++ shift
+++ [[ /dev/sdc == \/\d\e\v\/\v\g\_\v\i\r\t\u\a\l\b\o\x ]]
+++ shift
+++ [[ /dev/sdc == \p\v\:\/\d\e\v\/\s\d\a\2 ]]
+++ shift
+++ [[ /dev/sdc == \p\v\:\/\d\e\v\/\s\d\b ]]
+++ shift
+++ [[ /dev/sdc == \p\v\:\/\d\e\v\/\s\d\c ]]
+++ shift
+++ [[ /dev/sdc == \/\d\e\v\/\s\d\a\2 ]]
+++ shift
+++ [[ /dev/sdc == \/\d\e\v\/\s\d\b ]]
+++ shift
+++ [[ /dev/sdc == '' ]]
+++ shift
+++ return 1
+++ devlist=("${devlist[@]}" "$parent")
+++ ancestors=("${ancestors[@]}" "$parent")
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ fs:/ = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ fs:/boot = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ fs:/boot = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \p\v\:\/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 3 ))
+++ current=/dev/sda2
+++ read child parent junk
+++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\2 ]]
+++ IsInArray /dev/sda /dev/sda1 fs:/ /dev/sda /dev/mapper/vg_virtualbox-lv_root /dev/vg_virtualbox pv:/dev/sda2 pv:/dev/sdb pv:/dev/sdc /dev/sda2 /dev/sdb /dev/sdc
+++ local needle=/dev/sda
+++ shift
+++ [[ /dev/sda == \/\d\e\v\/\s\d\a\1 ]]
+++ shift
+++ [[ /dev/sda == \f\s\:\/ ]]
+++ shift
+++ [[ /dev/sda == \/\d\e\v\/\s\d\a ]]
+++ return 0
+++ continue
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ fs:/ = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\2 ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 2 ))
+++ current=/dev/sdb
+++ read child parent junk
+++ [[ /dev/sda1 = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ fs:/ = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\b ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 1 ))
+++ current=/dev/sdc
+++ read child parent junk
+++ [[ /dev/sda1 = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/sda2 = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ fs:/ = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ fs:/boot = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\c ]]
+++ read child parent junk
+++ unset 'devlist[0]'
+++ devlist=("${devlist[@]}")
+++ (( 0 ))
+++ declare component type
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type /dev/sda1
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ /dev/sda1 ' /var/lib/rear/layout/disktodo.conf
+++ type=part
+++ [[ part != \p\a\r\t ]]
+++ echo /dev/sda1
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type fs:/
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ fs:/ ' /var/lib/rear/layout/disktodo.conf
+++ type=fs
+++ [[ fs != \p\a\r\t ]]
+++ continue
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type /dev/sda
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ /dev/sda ' /var/lib/rear/layout/disktodo.conf
+++ type=disk
+++ [[ disk != \p\a\r\t ]]
+++ continue
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type /dev/mapper/vg_virtualbox-lv_root
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ /dev/mapper/vg_virtualbox-lv_root ' /var/lib/rear/layout/disktodo.conf
+++ type=lvmvol
+++ [[ lvmvol != \p\a\r\t ]]
+++ continue
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type /dev/vg_virtualbox
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ /dev/vg_virtualbox ' /var/lib/rear/layout/disktodo.conf
+++ type=lvmgrp
+++ [[ lvmgrp != \p\a\r\t ]]
+++ continue
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type pv:/dev/sda2
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ pv:/dev/sda2 ' /var/lib/rear/layout/disktodo.conf
+++ type=lvmdev
+++ [[ lvmdev != \p\a\r\t ]]
+++ continue
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type pv:/dev/sdb
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ pv:/dev/sdb ' /var/lib/rear/layout/disktodo.conf
+++ type=lvmdev
+++ [[ lvmdev != \p\a\r\t ]]
+++ continue
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type pv:/dev/sdc
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ pv:/dev/sdc ' /var/lib/rear/layout/disktodo.conf
+++ type=lvmdev
+++ [[ lvmdev != \p\a\r\t ]]
+++ continue
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type /dev/sda2
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ /dev/sda2 ' /var/lib/rear/layout/disktodo.conf
+++ type=part
+++ [[ part != \p\a\r\t ]]
+++ echo /dev/sda2
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type /dev/sdb
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ /dev/sdb ' /var/lib/rear/layout/disktodo.conf
+++ type=disk
+++ [[ disk != \p\a\r\t ]]
+++ continue
+++ for component in '"${ancestors[@]}"'
+++ [[ -n part ]]
++++ get_component_type /dev/sdc
++++ cut -d ' ' -f 3
++++ grep -E '^[^ ]+ /dev/sdc ' /var/lib/rear/layout/disktodo.conf
+++ type=disk
+++ [[ disk != \p\a\r\t ]]
+++ continue
++ bootparts='/dev/sda1
/dev/sda2'
++ grub_prefix=/grub
++ [[ -n /dev/sda1
/dev/sda2 ]]
++ BugIfError 'Unable to find any /boot partitions'
++ (( 0 != 0 ))
+++ cut '-d ' -f2
+++ grep '^disk \|^multipath ' /var/lib/rear/layout/disklayout.conf
++ disks='/dev/sda
/dev/sdb
/dev/sdc'
++ [[ -n /dev/sda
/dev/sdb
/dev/sdc ]]
++ StopIfError 'Unable to find any disks'
++ (( 0 != 0 ))
++ for disk in '$disks'
+++ cut '-d ' -f1
+++ echo /dev/sda1 /dev/sda2
++ part=/dev/sda1
++ for bootpart in '$bootparts'
+++ find_disk_and_multipath /dev/sda1
++++ find_disk /dev/sda1
++++ get_parent_components /dev/sda1 disk
++++ declare -a ancestors devlist
++++ declare current child parent
++++ devlist=("$1")
++++ (( 1 ))
++++ current=/dev/sda1
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\1 ]]
++++ IsInArray /dev/sda
++++ local needle=/dev/sda
++++ shift
++++ [[ /dev/sda == '' ]]
++++ shift
++++ return 1
++++ devlist=("${devlist[@]}" "$parent")
++++ ancestors=("${ancestors[@]}" "$parent")
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 1 ))
++++ current=/dev/sda
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 0 ))
++++ declare component type
++++ for component in '"${ancestors[@]}"'
++++ [[ -n disk ]]
+++++ get_component_type /dev/sda
+++++ cut -d ' ' -f 3
+++++ grep -E '^[^ ]+ /dev/sda ' /var/lib/rear/layout/disktodo.conf
++++ type=disk
++++ [[ disk != \d\i\s\k ]]
++++ echo /dev/sda
+++ res=/dev/sda
+++ [[ -n /dev/sda ]]
+++ echo /dev/sda
++ bootdisk=/dev/sda
++ [[ /dev/sda == \/\d\e\v\/\s\d\a ]]
++ part=/dev/sda1
++ break
+++ find_disk_and_multipath /dev/sda1
++++ find_disk /dev/sda1
++++ get_parent_components /dev/sda1 disk
++++ declare -a ancestors devlist
++++ declare current child parent
++++ devlist=("$1")
++++ (( 1 ))
++++ current=/dev/sda1
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\1 ]]
++++ IsInArray /dev/sda
++++ local needle=/dev/sda
++++ shift
++++ [[ /dev/sda == '' ]]
++++ shift
++++ return 1
++++ devlist=("${devlist[@]}" "$parent")
++++ ancestors=("${ancestors[@]}" "$parent")
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 1 ))
++++ current=/dev/sda
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 0 ))
++++ declare component type
++++ for component in '"${ancestors[@]}"'
++++ [[ -n disk ]]
+++++ get_component_type /dev/sda
+++++ cut -d ' ' -f 3
+++++ grep -E '^[^ ]+ /dev/sda ' /var/lib/rear/layout/disktodo.conf
++++ type=disk
++++ [[ disk != \d\i\s\k ]]
++++ echo /dev/sda
+++ res=/dev/sda
+++ [[ -n /dev/sda ]]
+++ echo /dev/sda
++ bootdisk=/dev/sda
++ partnr=1
++ partnr=1
++ partnr=0
++ [[ /dev/sda == \/\d\e\v\/\s\d\a ]]
++ chroot /mnt/local grub --batch --no-floppy
Probing devices to guess BIOS drives. This may take a long time.
Unknown partition table signature
Unknown partition table signature
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> device (hd0) /dev/sda
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup --stage2=/boot/grub/stage2 --prefix=/grub (hd0)
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... 27 sectors are embedded.
succeeded
Running "install --stage2=/boot/grub/stage2 /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub> quit
++ (( 0 == 0 ))
++ NOBOOTLOADER=
++ for disk in '$disks'
+++ cut '-d ' -f1
+++ echo /dev/sda1 /dev/sda2
++ part=/dev/sda1
++ for bootpart in '$bootparts'
+++ find_disk_and_multipath /dev/sda1
++++ find_disk /dev/sda1
++++ get_parent_components /dev/sda1 disk
++++ declare -a ancestors devlist
++++ declare current child parent
++++ devlist=("$1")
++++ (( 1 ))
++++ current=/dev/sda1
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\1 ]]
++++ IsInArray /dev/sda
++++ local needle=/dev/sda
++++ shift
++++ [[ /dev/sda == '' ]]
++++ shift
++++ return 1
++++ devlist=("${devlist[@]}" "$parent")
++++ ancestors=("${ancestors[@]}" "$parent")
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 1 ))
++++ current=/dev/sda
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 0 ))
++++ declare component type
++++ for component in '"${ancestors[@]}"'
++++ [[ -n disk ]]
+++++ get_component_type /dev/sda
+++++ cut -d ' ' -f 3
+++++ grep -E '^[^ ]+ /dev/sda ' /var/lib/rear/layout/disktodo.conf
++++ type=disk
++++ [[ disk != \d\i\s\k ]]
++++ echo /dev/sda
+++ res=/dev/sda
+++ [[ -n /dev/sda ]]
+++ echo /dev/sda
++ bootdisk=/dev/sda
++ [[ /dev/sdb == \/\d\e\v\/\s\d\a ]]
++ for bootpart in '$bootparts'
+++ find_disk_and_multipath /dev/sda2
++++ find_disk /dev/sda2
++++ get_parent_components /dev/sda2 disk
++++ declare -a ancestors devlist
++++ declare current child parent
++++ devlist=("$1")
++++ (( 1 ))
++++ current=/dev/sda2
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\2 ]]
++++ IsInArray /dev/sda
++++ local needle=/dev/sda
++++ shift
++++ [[ /dev/sda == '' ]]
++++ shift
++++ return 1
++++ devlist=("${devlist[@]}" "$parent")
++++ ancestors=("${ancestors[@]}" "$parent")
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 1 ))
++++ current=/dev/sda
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 0 ))
++++ declare component type
++++ for component in '"${ancestors[@]}"'
++++ [[ -n disk ]]
+++++ get_component_type /dev/sda
+++++ cut -d ' ' -f 3
+++++ grep -E '^[^ ]+ /dev/sda ' /var/lib/rear/layout/disktodo.conf
++++ type=disk
++++ [[ disk != \d\i\s\k ]]
++++ echo /dev/sda
+++ res=/dev/sda
+++ [[ -n /dev/sda ]]
+++ echo /dev/sda
++ bootdisk=/dev/sda
++ [[ /dev/sdb == \/\d\e\v\/\s\d\a ]]
+++ find_disk_and_multipath /dev/sda1
++++ find_disk /dev/sda1
++++ get_parent_components /dev/sda1 disk
++++ declare -a ancestors devlist
++++ declare current child parent
++++ devlist=("$1")
++++ (( 1 ))
++++ current=/dev/sda1
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\1 ]]
++++ IsInArray /dev/sda
++++ local needle=/dev/sda
++++ shift
++++ [[ /dev/sda == '' ]]
++++ shift
++++ return 1
++++ devlist=("${devlist[@]}" "$parent")
++++ ancestors=("${ancestors[@]}" "$parent")
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 1 ))
++++ current=/dev/sda
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 0 ))
++++ declare component type
++++ for component in '"${ancestors[@]}"'
++++ [[ -n disk ]]
+++++ get_component_type /dev/sda
+++++ cut -d ' ' -f 3
+++++ grep -E '^[^ ]+ /dev/sda ' /var/lib/rear/layout/disktodo.conf
++++ type=disk
++++ [[ disk != \d\i\s\k ]]
++++ echo /dev/sda
+++ res=/dev/sda
+++ [[ -n /dev/sda ]]
+++ echo /dev/sda
++ bootdisk=/dev/sda
++ partnr=1
++ partnr=1
++ partnr=0
++ [[ /dev/sda == \/\d\e\v\/\s\d\b ]]
++ chroot /mnt/local grub --batch --no-floppy
Probing devices to guess BIOS drives. This may take a long time.
Unknown partition table signature
Unknown partition table signature
Unknown partition table signature
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> device (hd0) /dev/sdb
grub> device (hd1) /dev/sda
grub> root (hd1,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup --stage2=/boot/grub/stage2 --prefix=/grub (hd0)
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... failed (this is not fatal)
Running "embed /grub/e2fs_stage1_5 (hd1,0)"... failed (this is not fatal)
Running "install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p /grub/grub.conf "... succeeded
Done.
grub> quit
++ (( 0 == 0 ))
++ NOBOOTLOADER=
++ for disk in '$disks'
+++ cut '-d ' -f1
+++ echo /dev/sda1 /dev/sda2
++ part=/dev/sda1
++ for bootpart in '$bootparts'
+++ find_disk_and_multipath /dev/sda1
++++ find_disk /dev/sda1
++++ get_parent_components /dev/sda1 disk
++++ declare -a ancestors devlist
++++ declare current child parent
++++ devlist=("$1")
++++ (( 1 ))
++++ current=/dev/sda1
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\1 ]]
++++ IsInArray /dev/sda
++++ local needle=/dev/sda
++++ shift
++++ [[ /dev/sda == '' ]]
++++ shift
++++ return 1
++++ devlist=("${devlist[@]}" "$parent")
++++ ancestors=("${ancestors[@]}" "$parent")
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 1 ))
++++ current=/dev/sda
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 0 ))
++++ declare component type
++++ for component in '"${ancestors[@]}"'
++++ [[ -n disk ]]
+++++ get_component_type /dev/sda
+++++ cut -d ' ' -f 3
+++++ grep -E '^[^ ]+ /dev/sda ' /var/lib/rear/layout/disktodo.conf
++++ type=disk
++++ [[ disk != \d\i\s\k ]]
++++ echo /dev/sda
+++ res=/dev/sda
+++ [[ -n /dev/sda ]]
+++ echo /dev/sda
++ bootdisk=/dev/sda
++ [[ /dev/sdc == \/\d\e\v\/\s\d\a ]]
++ for bootpart in '$bootparts'
+++ find_disk_and_multipath /dev/sda2
++++ find_disk /dev/sda2
++++ get_parent_components /dev/sda2 disk
++++ declare -a ancestors devlist
++++ declare current child parent
++++ devlist=("$1")
++++ (( 1 ))
++++ current=/dev/sda2
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\2 ]]
++++ IsInArray /dev/sda
++++ local needle=/dev/sda
++++ shift
++++ [[ /dev/sda == '' ]]
++++ shift
++++ return 1
++++ devlist=("${devlist[@]}" "$parent")
++++ ancestors=("${ancestors[@]}" "$parent")
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\2 ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 1 ))
++++ current=/dev/sda
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 0 ))
++++ declare component type
++++ for component in '"${ancestors[@]}"'
++++ [[ -n disk ]]
+++++ get_component_type /dev/sda
+++++ cut -d ' ' -f 3
+++++ grep -E '^[^ ]+ /dev/sda ' /var/lib/rear/layout/disktodo.conf
++++ type=disk
++++ [[ disk != \d\i\s\k ]]
++++ echo /dev/sda
+++ res=/dev/sda
+++ [[ -n /dev/sda ]]
+++ echo /dev/sda
++ bootdisk=/dev/sda
++ [[ /dev/sdc == \/\d\e\v\/\s\d\a ]]
+++ find_disk_and_multipath /dev/sda1
++++ find_disk /dev/sda1
++++ get_parent_components /dev/sda1 disk
++++ declare -a ancestors devlist
++++ declare current child parent
++++ devlist=("$1")
++++ (( 1 ))
++++ current=/dev/sda1
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a\1 ]]
++++ IsInArray /dev/sda
++++ local needle=/dev/sda
++++ shift
++++ [[ /dev/sda == '' ]]
++++ shift
++++ return 1
++++ devlist=("${devlist[@]}" "$parent")
++++ ancestors=("${ancestors[@]}" "$parent")
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a\1 ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 1 ))
++++ current=/dev/sda
++++ read child parent junk
++++ [[ /dev/sda1 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sda2 = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdb = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/vg_virtualbox = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ pv:/dev/sdc = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_root = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ /dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/ = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ fs:/boot = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ [[ swap:/dev/mapper/vg_virtualbox-lv_swap = \/\d\e\v\/\s\d\a ]]
++++ read child parent junk
++++ unset 'devlist[0]'
++++ devlist=("${devlist[@]}")
++++ (( 0 ))
++++ declare component type
++++ for component in '"${ancestors[@]}"'
++++ [[ -n disk ]]
+++++ get_component_type /dev/sda
+++++ cut -d ' ' -f 3
+++++ grep -E '^[^ ]+ /dev/sda ' /var/lib/rear/layout/disktodo.conf
++++ type=disk
++++ [[ disk != \d\i\s\k ]]
++++ echo /dev/sda
+++ res=/dev/sda
+++ [[ -n /dev/sda ]]
+++ echo /dev/sda
++ bootdisk=/dev/sda
++ partnr=1
++ partnr=1
++ partnr=0
++ [[ /dev/sda == \/\d\e\v\/\s\d\c ]]
++ chroot /mnt/local grub --batch --no-floppy
Probing devices to guess BIOS drives. This may take a long time.
Unknown partition table signature
Unknown partition table signature
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename.]
grub> device (hd0) /dev/sdc
grub> device (hd1) /dev/sda
grub> root (hd1,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup --stage2=/boot/grub/stage2 --prefix=/grub (hd0)
Checking if "/grub/stage1" exists... yes
Checking if "/grub/stage2" exists... yes
Checking if "/grub/e2fs_stage1_5" exists... yes
Running "embed /grub/e2fs_stage1_5 (hd0)"... failed (this is not fatal)
Running "embed /grub/e2fs_stage1_5 (hd1,0)"... failed (this is not fatal)
Running "install --stage2=/boot/grub/stage2 /grub/stage1 d (hd0) /grub/stage2 p /grub/grub.conf "... succeeded
Done.
grub> quit
++ (( 0 == 0 ))
++ NOBOOTLOADER=
++ [[ -n '' ]]
++ umount /mnt/local/proc
+ test 1
+ set +x
2013-11-25 09:10:26 Including finalize/Linux-i386/22_install_grub2.sh
+ . /usr/share/rear/finalize/Linux-i386/22_install_grub2.sh
++ [[ -z '' ]]
++ return
+ test 1
+ set +x
2013-11-25 09:10:26 Including finalize/Linux-i386/23_run_efibootmgr.sh
+ . /usr/share/rear/finalize/Linux-i386/23_run_efibootmgr.sh
++ [[ -z '' ]]
++ return
+ test 1
+ set +x
2013-11-25 09:10:26 Including finalize/GNU/Linux/30_create_mac_mapping.sh
+ . /usr/share/rear/finalize/GNU/Linux/30_create_mac_mapping.sh
++ PATCH_FILES=(/mnt/local/etc/sysconfig/*/ifcfg-*)
++ test /mnt/local/etc/sysconfig/network-scripts/ifcfg-eth0
++ [[ -f /etc/rear/mappings/mac ]]
++ for file in '"${PATCH_FILES[@]}"'
++ grep -q HWADDR /mnt/local/etc/sysconfig/network-scripts/ifcfg-eth0
+++ cut -d- -f3
+++ echo /mnt/local/etc/sysconfig/network-scripts/ifcfg-eth0
++ dev=eth0
+++ cut -d= -f2
+++ grep HWADDR /mnt/local/etc/sysconfig/network-scripts/ifcfg-eth0
++ old_mac=08:00:27:96:F4:C9
+++ cat /sys/class/net/eth0/address
++ new_mac=08:00:27:96:f4:c9
++ [[ -z 08:00:27:96:f4:c9 ]]
+++ sed -e y/abcdef/ABCDEF/
+++ echo 08:00:27:96:F4:C9
+++ sed -e y/abcdef/ABCDEF/
+++ echo 08:00:27:96:f4:c9
++ [[ 08:00:27:96:F4:C9 = \0\8\:\0\0\:\2\7\:\9\6\:\F\4\:\C\9 ]]
++ continue
++ for file in '"${PATCH_FILES[@]}"'
++ grep -q HWADDR /mnt/local/etc/sysconfig/network-scripts/ifcfg-lo
++ continue
+ test 1
+ set +x
2013-11-25 09:10:26 Including finalize/GNU/Linux/41_migrate_udev_rules.sh
+ . /usr/share/rear/finalize/GNU/Linux/41_migrate_udev_rules.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
++ RULE_FILES=($( echo /etc/udev/rules.d/*persistent*{names,net,cd}.rules ))
+++ echo /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/70-persistent-cd.rules
++ for rule in '"${RULE_FILES[@]}"'
+++ basename /etc/udev/rules.d/70-persistent-net.rules
++ rulefile=70-persistent-net.rules
++ test -s /etc/udev/rules.d/70-persistent-net.rules
++ diff -q /etc/udev/rules.d/70-persistent-net.rules /mnt/local//etc/udev/rules.d/70-persistent-net.rules
++ for rule in '"${RULE_FILES[@]}"'
+++ basename /etc/udev/rules.d/70-persistent-cd.rules
++ rulefile=70-persistent-cd.rules
++ test -s /etc/udev/rules.d/70-persistent-cd.rules
++ diff -q /etc/udev/rules.d/70-persistent-cd.rules /mnt/local//etc/udev/rules.d/70-persistent-cd.rules
+ test 1
+ set +x
2013-11-25 09:10:26 Including finalize/GNU/Linux/42_migrate_network_configuration_files.sh
+ . /usr/share/rear/finalize/GNU/Linux/42_migrate_network_configuration_files.sh
++ PATCH_FILES=(/mnt/local/etc/sysconfig/*/ifcfg-*)
++ test /mnt/local/etc/sysconfig/network-scripts/ifcfg-eth0
++ mkdir -p /tmp/rear.hhmdbEwqJeVSoRb/tmp/mappings
++ StopIfError 'Could not create /tmp/rear.hhmdbEwqJeVSoRb/tmp/mappings'
++ (( 0 != 0 ))
++ for mapping_file in mac ip_addresses routes
++ read_and_strip_file /etc/rear/mappings/mac
++ test -s /etc/rear/mappings/mac
++ for mapping_file in mac ip_addresses routes
++ read_and_strip_file /etc/rear/mappings/ip_addresses
++ test -s /etc/rear/mappings/ip_addresses
++ for mapping_file in mac ip_addresses routes
++ read_and_strip_file /etc/rear/mappings/routes
++ test -s /etc/rear/mappings/routes
++ test -s /tmp/rear.hhmdbEwqJeVSoRb/tmp/mappings/mac
++ test -s /tmp/rear.hhmdbEwqJeVSoRb/tmp/mappings/ip_addresses
++ test -s /tmp/rear.hhmdbEwqJeVSoRb/tmp/mappings/ip_addresses
++ test -s /tmp/rear.hhmdbEwqJeVSoRb/tmp/mappings/routes
+ test 1
+ set +x
2013-11-25 09:10:26 Including finalize/default/88_check_for_mount_by_id.sh
+ . /usr/share/rear/finalize/default/88_check_for_mount_by_id.sh
++ '[' -e /mnt/local/etc/fstab ']'
++ grep -q by-id
++ grep -v swap /mnt/local/etc/fstab
+ test 1
+ set +x
2013-11-25 09:10:26 Including finalize/default/89_finish_checks.sh
+ . /usr/share/rear/finalize/default/89_finish_checks.sh
++ grep -q xen
++ ls -l /sys/block/dm-0/ /sys/block/dm-1/ /sys/block/loop0/ /sys/block/loop1/ /sys/block/loop2/ /sys/block/loop3/ /sys/block/loop4/ /sys/block/loop5/ /sys/block/loop6/ /sys/block/loop7/ /sys/block/ram0/ /sys/block/ram1/ /sys/block/ram10/ /sys/block/ram11/ /sys/block/ram12/ /sys/block/ram13/ /sys/block/ram14/ /sys/block/ram15/ /sys/block/ram2/ /sys/block/ram3/ /sys/block/ram4/ /sys/block/ram5/ /sys/block/ram6/ /sys/block/ram7/ /sys/block/ram8/ /sys/block/ram9/ /sys/block/sda/ /sys/block/sdb/ /sys/block/sdc/ /sys/block/sr0/ /sys/block/sr1/
++ test ''
+ test 1
+ set +x
2013-11-25 09:10:26 Including finalize/default/90_remount_sync.sh
+ . /usr/share/rear/finalize/default/90_remount_sync.sh
++ read mountpoint device mountby filesystem junk
++ mount -o remount,sync /dev/mapper/vg_virtualbox-lv_root /mnt/local/
++ LogIfError 'Remount sync of '\''/dev/mapper/vg_virtualbox-lv_root'\'' failed'
++ (( 0 != 0 ))
++ read mountpoint device mountby filesystem junk
++ mount -o remount,sync /dev/sda1 /mnt/local/boot
++ LogIfError 'Remount sync of '\''/dev/sda1'\'' failed'
++ (( 0 != 0 ))
++ read mountpoint device mountby filesystem junk
+ test 1
+ set +x
2013-11-25 09:10:26 Finished running 'finalize' stage in 5 seconds
2013-11-25 09:10:26 Running 'wrapup' stage
2013-11-25 09:10:26 Including wrapup/default/50_post_recovery_script.sh
+ . /usr/share/rear/wrapup/default/50_post_recovery_script.sh
++ test ''
+ test 1
+ set +x
2013-11-25 09:10:26 Including wrapup/default/98_good_bye.sh
+ . /usr/share/rear/wrapup/default/98_good_bye.sh
++ Print '
Finished recovering your system. You can explore it under '\''/mnt/local'\''.
'
++ test 1
++ echo -e '
Finished recovering your system. You can explore it under '\''/mnt/local'\''.
'
+ test 1
+ set +x
2013-11-25 09:10:26 Including wrapup/default/99_copy_logfile.sh
+ . /usr/share/rear/wrapup/default/99_copy_logfile.sh
++ test -d /mnt/local/root
+++ date -Iseconds
++ AddExitTask 'cat '\''/var/log/rear/rear-virtualbox.log'\'' >'\''/mnt/local/root/rear-2013-11-25T09:10:26+0100.log'\'''
++ EXIT_TASKS=("$*" "${EXIT_TASKS[@]}")
++ Debug 'Added '\''cat '\''/var/log/rear/rear-virtualbox.log'\'' >'\''/mnt/local/root/rear-2013-11-25T09:10:26+0100.log'\'''\'' as an exit task'
++ test ''
+ test 1
+ set +x
2013-11-25 09:10:26 Finished running 'wrapup' stage in 0 seconds
2013-11-25 09:10:26 Finished running recover workflow
2013-11-25 09:10:26 Running exit tasks.
2013-11-25 09:10:26 The following jobs are still active:
[2] 2160 Done ( if [[ -f "${TMP_DIR}/backup.splitted" ]]; then
Print ""; while read file; do
name=${file%% *}; vol_name=${file##* }; file_path="${opath}/${name}"; touch ${TMP_DIR}/wait_dvd; while ! [[ -f $file_path ]]; do
umount "${BUILD_DIR}/outputfs"; ProgressInfo "Please insert the media called $vol_name in your CD-ROM drive..."; sleep 2; drive=$(cat /proc/sys/dev/cdrom/info | grep -i "drive name:" | awk '{print $3 " " $4}'); for dev in $drive;
do
label=$(blkid /dev/${dev} | awk 'BEGIN{FS="[=\"]"} {print $3}'); if [[ $label = $vol_name ]]; then
LogPrint "\n${vol_name} detected in /dev/${dev} ..."; mount /dev/${dev} "${BUILD_DIR}/outputfs";
fi;
done;
done; if [[ -f $file_path ]]; then
if [[ $BACKUP_INTEGRITY_CHECK =~ ^[yY1] && -f "${TMP_DIR}/backup.md5" ]]; then
LogPrint "Checking $name ..."; ( cd $(dirname $backuparchive) && grep $name "${TMP_DIR}/backup.md5" | md5sum -c ); ret=$?; if [[ $ret -ne 0 ]]; then
Error "Integrity check failed ! Restore aborted.
If you want to bypass this check, disable the option in your Rear configuration."; return;
fi;
fi; rm ${TMP_DIR}/wait_dvd; LogPrint "Processing $name ..."; dd if="${file_path}" of="$FIFO";
else
StopIfError "$name could not be found on the $vol_name media !";
fi;
done < "${TMP_DIR}/backup.splitted"; kill -9 $(cat "${TMP_DIR}/cat_pid"); rm "${TMP_DIR}/cat_pid"; rm "${TMP_DIR}/backup.splitted"; rm "${TMP_DIR}/backup.md5";
fi )
/usr/share/rear/lib/_input-output-functions.sh: line 65: kill: (2160) - No such process
2013-11-25 09:10:27 Finished in 115 seconds
2013-11-25 09:10:27 Removing build area /tmp/rear.hhmdbEwqJeVSoRb
rmdir: removing directory, `/tmp/rear.hhmdbEwqJeVSoRb'
2013-11-25 09:10:27 End of program reached
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment