Skip to content

Instantly share code, notes, and snippets.

@vincentCegedim
Created November 26, 2013 16:37
Show Gist options
  • Save vincentCegedim/7661554 to your computer and use it in GitHub Desktop.
Save vincentCegedim/7661554 to your computer and use it in GitHub Desktop.
rear -D recover (part 2)
++ echo mptbase
++ read module junk
++ IsInArray vmwgfx brd rbd osdblk on20 pd pf dstr aten kbic fit2 epia comm paride frpw friq pcd bpck epat pt ktti fit3 on26 pg virtio_blk sx8 aoe xen-blkfront pktcdvd drbd cciss cpqarray umem xen-blkback nbd loop DAC960 floppy firewire-sbp2 firewire-core firewire-ohci firewire-net nosy pata_it8213 pata_mpiix pata_hpt366 pata_rz1000 pata_ali pdc_adma sata_via libahci pata_sil680 sata_inic162x pata_pdc2027x pata_pcmcia pata_ninja32 sata_nv pata_jmicron sata_sx4 pata_ns87410 pata_arasan_cf ata_piix pata_netcell pata_sis pata_via pata_piccolo pata_serverworks pata_rdc pata_amd sata_promise sata_sil24 pata_oldpiix pata_sch libata pata_cmd64x sata_sil pata_hpt37x pata_ns87415 pata_triflex acard-ahci sata_vsc pata_atp867x sata_mv pata_pdc202xx_old pata_sc1200 pata_artop pata_efar ata_generic pata_marvell pata_cs5530 pata_cs5520 sata_uli pata_atiixp sata_qstor ahci pata_it821x sata_sis sata_svw dm-multipath dm-delay raid456 dm-persistent-data dm-round-robin dm-mod linear dm-log dm-region-hash faulty dm-thin-pool raid1 multipath dm-zero dm-snapshot dm-raid md-mod dm-bufio dm-crypt dm-queue-length dm-mirror raid10 raid0 dm-log-userspace dm-flakey dm-service-time i2o_block i2o_bus i2o_proc i2o_scsi i2o_core i2o_config mptscsih mptctl mptfc mptspi mptlan mptbase mptsas vmw_pvscsi imm qla4xxx aic7xxx aic79xx lpfc bfa aacraid eata scsi_transport_srp scsi_wait_scan BusLogic scsi_tgt ses aic7xxx_old iscsi_boot_sysfs libiscsi_tcp iscsi_tcp stex osd libosd aha152x_cs qlogic_cs fdomain_cs sym53c500_cs sym53c8xx sg aic94xx scsi_transport_sas a100u2w cxgb4i libcxgbi cxgb3i fnic raid_class megaraid_mm megaraid_sas megaraid_mbox libiscsi libfc ipr mvsas osst 3w-sas 3w-9xxx scsi_dh_emc scsi_dh_alua scsi_dh scsi_dh_hp_sw scsi_dh_rdac mpt2sas libsas dpt_i2o scsi_transport_fc ppa mvumi scsi_debug tmscsim arcmsr isci be2iscsi bnx2i scsi_transport_spi initio pmcraid qla1280 advansys hptiop hpsa sd_mod libfcoe fcoe pm8001 fdomain virtio_scsi bnx2fc dmx3191d sr_mod 3w-xxxx scsi_transport_iscsi qlogicfas408 scsi_mod atp870u qla2xxx megaraid ch gdth hv_storvsc libsrp dc395x ips st ums-jumpshot ums-realtek usb-storage ums-eneub6250 ums-usbat ums-sddr55 ums-sddr09 ums-freecom ums-onetouch ums-alauda ums-isd200 ums-karma ums-cypress ums-datafab
++ local needle=vmwgfx
++ shift
++ [[ vmwgfx == \b\r\d ]]
++ shift
++ [[ vmwgfx == \r\b\d ]]
++ shift
++ [[ vmwgfx == \o\s\d\b\l\k ]]
++ shift
++ [[ vmwgfx == \o\n\2\0 ]]
++ shift
++ [[ vmwgfx == \p\d ]]
++ shift
++ [[ vmwgfx == \p\f ]]
++ shift
++ [[ vmwgfx == \d\s\t\r ]]
++ shift
++ [[ vmwgfx == \a\t\e\n ]]
++ shift
++ [[ vmwgfx == \k\b\i\c ]]
++ shift
++ [[ vmwgfx == \f\i\t\2 ]]
++ shift
++ [[ vmwgfx == \e\p\i\a ]]
++ shift
++ [[ vmwgfx == \c\o\m\m ]]
++ shift
++ [[ vmwgfx == \p\a\r\i\d\e ]]
++ shift
++ [[ vmwgfx == \f\r\p\w ]]
++ shift
++ [[ vmwgfx == \f\r\i\q ]]
++ shift
++ [[ vmwgfx == \p\c\d ]]
++ shift
++ [[ vmwgfx == \b\p\c\k ]]
++ shift
++ [[ vmwgfx == \e\p\a\t ]]
++ shift
++ [[ vmwgfx == \p\t ]]
++ shift
++ [[ vmwgfx == \k\t\t\i ]]
++ shift
++ [[ vmwgfx == \f\i\t\3 ]]
++ shift
++ [[ vmwgfx == \o\n\2\6 ]]
++ shift
++ [[ vmwgfx == \p\g ]]
++ shift
++ [[ vmwgfx == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ vmwgfx == \s\x\8 ]]
++ shift
++ [[ vmwgfx == \a\o\e ]]
++ shift
++ [[ vmwgfx == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ vmwgfx == \p\k\t\c\d\v\d ]]
++ shift
++ [[ vmwgfx == \d\r\b\d ]]
++ shift
++ [[ vmwgfx == \c\c\i\s\s ]]
++ shift
++ [[ vmwgfx == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ vmwgfx == \u\m\e\m ]]
++ shift
++ [[ vmwgfx == \x\e\n\-\b\l\k\b\a\c\k ]]
++ shift
++ [[ vmwgfx == \n\b\d ]]
++ shift
++ [[ vmwgfx == \l\o\o\p ]]
++ shift
++ [[ vmwgfx == \D\A\C\9\6\0 ]]
++ shift
++ [[ vmwgfx == \f\l\o\p\p\y ]]
++ shift
++ [[ vmwgfx == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ vmwgfx == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ vmwgfx == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ vmwgfx == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ vmwgfx == \n\o\s\y ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\m\p\i\i\x ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\r\z\1\0\0\0 ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ vmwgfx == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ vmwgfx == \l\i\b\a\h\c\i ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\n\v ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\n\s\8\7\4\1\0 ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\a\r\a\s\a\n\_\c\f ]]
++ shift
++ [[ vmwgfx == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\p\i\c\c\o\l\o ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ vmwgfx == \l\i\b\a\t\a ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\n\s\8\7\4\1\5 ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\t\r\i\f\l\e\x ]]
++ shift
++ [[ vmwgfx == \a\c\a\r\d\-\a\h\c\i ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\m\v ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\s\c\1\2\0\0 ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\e\f\a\r ]]
++ shift
++ [[ vmwgfx == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\c\s\5\5\3\0 ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\c\s\5\5\2\0 ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ vmwgfx == \a\h\c\i ]]
++ shift
++ [[ vmwgfx == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ vmwgfx == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ vmwgfx == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ vmwgfx == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ vmwgfx == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ vmwgfx == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ vmwgfx == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ vmwgfx == \d\m\-\m\o\d ]]
++ shift
++ [[ vmwgfx == \l\i\n\e\a\r ]]
++ shift
++ [[ vmwgfx == \d\m\-\l\o\g ]]
++ shift
++ [[ vmwgfx == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ vmwgfx == \f\a\u\l\t\y ]]
++ shift
++ [[ vmwgfx == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ vmwgfx == \r\a\i\d\1 ]]
++ shift
++ [[ vmwgfx == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ vmwgfx == \d\m\-\z\e\r\o ]]
++ shift
++ [[ vmwgfx == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ vmwgfx == \d\m\-\r\a\i\d ]]
++ shift
++ [[ vmwgfx == \m\d\-\m\o\d ]]
++ shift
++ [[ vmwgfx == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ vmwgfx == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ vmwgfx == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ vmwgfx == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ vmwgfx == \r\a\i\d\1\0 ]]
++ shift
++ [[ vmwgfx == \r\a\i\d\0 ]]
++ shift
++ [[ vmwgfx == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ vmwgfx == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ vmwgfx == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ vmwgfx == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ vmwgfx == \i\2\o\_\b\u\s ]]
++ shift
++ [[ vmwgfx == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ vmwgfx == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ vmwgfx == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ vmwgfx == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ vmwgfx == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ vmwgfx == \m\p\t\c\t\l ]]
++ shift
++ [[ vmwgfx == \m\p\t\f\c ]]
++ shift
++ [[ vmwgfx == \m\p\t\s\p\i ]]
++ shift
++ [[ vmwgfx == \m\p\t\l\a\n ]]
++ shift
++ [[ vmwgfx == \m\p\t\b\a\s\e ]]
++ shift
++ [[ vmwgfx == \m\p\t\s\a\s ]]
++ shift
++ [[ vmwgfx == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ vmwgfx == \i\m\m ]]
++ shift
++ [[ vmwgfx == \q\l\a\4\x\x\x ]]
++ shift
++ [[ vmwgfx == \a\i\c\7\x\x\x ]]
++ shift
++ [[ vmwgfx == \a\i\c\7\9\x\x ]]
++ shift
++ [[ vmwgfx == \l\p\f\c ]]
++ shift
++ [[ vmwgfx == \b\f\a ]]
++ shift
++ [[ vmwgfx == \a\a\c\r\a\i\d ]]
++ shift
++ [[ vmwgfx == \e\a\t\a ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ vmwgfx == \B\u\s\L\o\g\i\c ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ vmwgfx == \s\e\s ]]
++ shift
++ [[ vmwgfx == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ vmwgfx == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ vmwgfx == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ vmwgfx == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ vmwgfx == \s\t\e\x ]]
++ shift
++ [[ vmwgfx == \o\s\d ]]
++ shift
++ [[ vmwgfx == \l\i\b\o\s\d ]]
++ shift
++ [[ vmwgfx == \a\h\a\1\5\2\x\_\c\s ]]
++ shift
++ [[ vmwgfx == \q\l\o\g\i\c\_\c\s ]]
++ shift
++ [[ vmwgfx == \f\d\o\m\a\i\n\_\c\s ]]
++ shift
++ [[ vmwgfx == \s\y\m\5\3\c\5\0\0\_\c\s ]]
++ shift
++ [[ vmwgfx == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ vmwgfx == \s\g ]]
++ shift
++ [[ vmwgfx == \a\i\c\9\4\x\x ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ vmwgfx == \a\1\0\0\u\2\w ]]
++ shift
++ [[ vmwgfx == \c\x\g\b\4\i ]]
++ shift
++ [[ vmwgfx == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ vmwgfx == \c\x\g\b\3\i ]]
++ shift
++ [[ vmwgfx == \f\n\i\c ]]
++ shift
++ [[ vmwgfx == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ vmwgfx == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ vmwgfx == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ vmwgfx == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ vmwgfx == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ vmwgfx == \l\i\b\f\c ]]
++ shift
++ [[ vmwgfx == \i\p\r ]]
++ shift
++ [[ vmwgfx == \m\v\s\a\s ]]
++ shift
++ [[ vmwgfx == \o\s\s\t ]]
++ shift
++ [[ vmwgfx == \3\w\-\s\a\s ]]
++ shift
++ [[ vmwgfx == \3\w\-\9\x\x\x ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\d\h ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ vmwgfx == \m\p\t\2\s\a\s ]]
++ shift
++ [[ vmwgfx == \l\i\b\s\a\s ]]
++ shift
++ [[ vmwgfx == \d\p\t\_\i\2\o ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ vmwgfx == \p\p\a ]]
++ shift
++ [[ vmwgfx == \m\v\u\m\i ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ vmwgfx == \t\m\s\c\s\i\m ]]
++ shift
++ [[ vmwgfx == \a\r\c\m\s\r ]]
++ shift
++ [[ vmwgfx == \i\s\c\i ]]
++ shift
++ [[ vmwgfx == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ vmwgfx == \b\n\x\2\i ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ vmwgfx == \i\n\i\t\i\o ]]
++ shift
++ [[ vmwgfx == \p\m\c\r\a\i\d ]]
++ shift
++ [[ vmwgfx == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ vmwgfx == \a\d\v\a\n\s\y\s ]]
++ shift
++ [[ vmwgfx == \h\p\t\i\o\p ]]
++ shift
++ [[ vmwgfx == \h\p\s\a ]]
++ shift
++ [[ vmwgfx == \s\d\_\m\o\d ]]
++ shift
++ [[ vmwgfx == \l\i\b\f\c\o\e ]]
++ shift
++ [[ vmwgfx == \f\c\o\e ]]
++ shift
++ [[ vmwgfx == \p\m\8\0\0\1 ]]
++ shift
++ [[ vmwgfx == \f\d\o\m\a\i\n ]]
++ shift
++ [[ vmwgfx == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ vmwgfx == \b\n\x\2\f\c ]]
++ shift
++ [[ vmwgfx == \d\m\x\3\1\9\1\d ]]
++ shift
++ [[ vmwgfx == \s\r\_\m\o\d ]]
++ shift
++ [[ vmwgfx == \3\w\-\x\x\x\x ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ vmwgfx == \q\l\o\g\i\c\f\a\s\4\0\8 ]]
++ shift
++ [[ vmwgfx == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ vmwgfx == \a\t\p\8\7\0\u ]]
++ shift
++ [[ vmwgfx == \q\l\a\2\x\x\x ]]
++ shift
++ [[ vmwgfx == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ vmwgfx == \c\h ]]
++ shift
++ [[ vmwgfx == \g\d\t\h ]]
++ shift
++ [[ vmwgfx == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ vmwgfx == \l\i\b\s\r\p ]]
++ shift
++ [[ vmwgfx == \d\c\3\9\5\x ]]
++ shift
++ [[ vmwgfx == \i\p\s ]]
++ shift
++ [[ vmwgfx == \s\t ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\r\e\a\l\t\e\k ]]
++ shift
++ [[ vmwgfx == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\e\n\e\u\b\6\2\5\0 ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ vmwgfx == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ vmwgfx == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray ttm brd rbd osdblk on20 pd pf dstr aten kbic fit2 epia comm paride frpw friq pcd bpck epat pt ktti fit3 on26 pg virtio_blk sx8 aoe xen-blkfront pktcdvd drbd cciss cpqarray umem xen-blkback nbd loop DAC960 floppy firewire-sbp2 firewire-core firewire-ohci firewire-net nosy pata_it8213 pata_mpiix pata_hpt366 pata_rz1000 pata_ali pdc_adma sata_via libahci pata_sil680 sata_inic162x pata_pdc2027x pata_pcmcia pata_ninja32 sata_nv pata_jmicron sata_sx4 pata_ns87410 pata_arasan_cf ata_piix pata_netcell pata_sis pata_via pata_piccolo pata_serverworks pata_rdc pata_amd sata_promise sata_sil24 pata_oldpiix pata_sch libata pata_cmd64x sata_sil pata_hpt37x pata_ns87415 pata_triflex acard-ahci sata_vsc pata_atp867x sata_mv pata_pdc202xx_old pata_sc1200 pata_artop pata_efar ata_generic pata_marvell pata_cs5530 pata_cs5520 sata_uli pata_atiixp sata_qstor ahci pata_it821x sata_sis sata_svw dm-multipath dm-delay raid456 dm-persistent-data dm-round-robin dm-mod linear dm-log dm-region-hash faulty dm-thin-pool raid1 multipath dm-zero dm-snapshot dm-raid md-mod dm-bufio dm-crypt dm-queue-length dm-mirror raid10 raid0 dm-log-userspace dm-flakey dm-service-time i2o_block i2o_bus i2o_proc i2o_scsi i2o_core i2o_config mptscsih mptctl mptfc mptspi mptlan mptbase mptsas vmw_pvscsi imm qla4xxx aic7xxx aic79xx lpfc bfa aacraid eata scsi_transport_srp scsi_wait_scan BusLogic scsi_tgt ses aic7xxx_old iscsi_boot_sysfs libiscsi_tcp iscsi_tcp stex osd libosd aha152x_cs qlogic_cs fdomain_cs sym53c500_cs sym53c8xx sg aic94xx scsi_transport_sas a100u2w cxgb4i libcxgbi cxgb3i fnic raid_class megaraid_mm megaraid_sas megaraid_mbox libiscsi libfc ipr mvsas osst 3w-sas 3w-9xxx scsi_dh_emc scsi_dh_alua scsi_dh scsi_dh_hp_sw scsi_dh_rdac mpt2sas libsas dpt_i2o scsi_transport_fc ppa mvumi scsi_debug tmscsim arcmsr isci be2iscsi bnx2i scsi_transport_spi initio pmcraid qla1280 advansys hptiop hpsa sd_mod libfcoe fcoe pm8001 fdomain virtio_scsi bnx2fc dmx3191d sr_mod 3w-xxxx scsi_transport_iscsi qlogicfas408 scsi_mod atp870u qla2xxx megaraid ch gdth hv_storvsc libsrp dc395x ips st ums-jumpshot ums-realtek usb-storage ums-eneub6250 ums-usbat ums-sddr55 ums-sddr09 ums-freecom ums-onetouch ums-alauda ums-isd200 ums-karma ums-cypress ums-datafab
++ local needle=ttm
++ shift
++ [[ ttm == \b\r\d ]]
++ shift
++ [[ ttm == \r\b\d ]]
++ shift
++ [[ ttm == \o\s\d\b\l\k ]]
++ shift
++ [[ ttm == \o\n\2\0 ]]
++ shift
++ [[ ttm == \p\d ]]
++ shift
++ [[ ttm == \p\f ]]
++ shift
++ [[ ttm == \d\s\t\r ]]
++ shift
++ [[ ttm == \a\t\e\n ]]
++ shift
++ [[ ttm == \k\b\i\c ]]
++ shift
++ [[ ttm == \f\i\t\2 ]]
++ shift
++ [[ ttm == \e\p\i\a ]]
++ shift
++ [[ ttm == \c\o\m\m ]]
++ shift
++ [[ ttm == \p\a\r\i\d\e ]]
++ shift
++ [[ ttm == \f\r\p\w ]]
++ shift
++ [[ ttm == \f\r\i\q ]]
++ shift
++ [[ ttm == \p\c\d ]]
++ shift
++ [[ ttm == \b\p\c\k ]]
++ shift
++ [[ ttm == \e\p\a\t ]]
++ shift
++ [[ ttm == \p\t ]]
++ shift
++ [[ ttm == \k\t\t\i ]]
++ shift
++ [[ ttm == \f\i\t\3 ]]
++ shift
++ [[ ttm == \o\n\2\6 ]]
++ shift
++ [[ ttm == \p\g ]]
++ shift
++ [[ ttm == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ ttm == \s\x\8 ]]
++ shift
++ [[ ttm == \a\o\e ]]
++ shift
++ [[ ttm == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ ttm == \p\k\t\c\d\v\d ]]
++ shift
++ [[ ttm == \d\r\b\d ]]
++ shift
++ [[ ttm == \c\c\i\s\s ]]
++ shift
++ [[ ttm == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ ttm == \u\m\e\m ]]
++ shift
++ [[ ttm == \x\e\n\-\b\l\k\b\a\c\k ]]
++ shift
++ [[ ttm == \n\b\d ]]
++ shift
++ [[ ttm == \l\o\o\p ]]
++ shift
++ [[ ttm == \D\A\C\9\6\0 ]]
++ shift
++ [[ ttm == \f\l\o\p\p\y ]]
++ shift
++ [[ ttm == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ ttm == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ ttm == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ ttm == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ ttm == \n\o\s\y ]]
++ shift
++ [[ ttm == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ ttm == \p\a\t\a\_\m\p\i\i\x ]]
++ shift
++ [[ ttm == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ ttm == \p\a\t\a\_\r\z\1\0\0\0 ]]
++ shift
++ [[ ttm == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ ttm == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ ttm == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ ttm == \l\i\b\a\h\c\i ]]
++ shift
++ [[ ttm == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ ttm == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ ttm == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ ttm == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ ttm == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ ttm == \s\a\t\a\_\n\v ]]
++ shift
++ [[ ttm == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ ttm == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ ttm == \p\a\t\a\_\n\s\8\7\4\1\0 ]]
++ shift
++ [[ ttm == \p\a\t\a\_\a\r\a\s\a\n\_\c\f ]]
++ shift
++ [[ ttm == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ ttm == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ ttm == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ ttm == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ ttm == \p\a\t\a\_\p\i\c\c\o\l\o ]]
++ shift
++ [[ ttm == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ ttm == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ ttm == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ ttm == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ ttm == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ ttm == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ ttm == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ ttm == \l\i\b\a\t\a ]]
++ shift
++ [[ ttm == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ ttm == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ ttm == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ ttm == \p\a\t\a\_\n\s\8\7\4\1\5 ]]
++ shift
++ [[ ttm == \p\a\t\a\_\t\r\i\f\l\e\x ]]
++ shift
++ [[ ttm == \a\c\a\r\d\-\a\h\c\i ]]
++ shift
++ [[ ttm == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ ttm == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ ttm == \s\a\t\a\_\m\v ]]
++ shift
++ [[ ttm == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ ttm == \p\a\t\a\_\s\c\1\2\0\0 ]]
++ shift
++ [[ ttm == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ ttm == \p\a\t\a\_\e\f\a\r ]]
++ shift
++ [[ ttm == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ ttm == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ ttm == \p\a\t\a\_\c\s\5\5\3\0 ]]
++ shift
++ [[ ttm == \p\a\t\a\_\c\s\5\5\2\0 ]]
++ shift
++ [[ ttm == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ ttm == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ ttm == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ ttm == \a\h\c\i ]]
++ shift
++ [[ ttm == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ ttm == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ ttm == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ ttm == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ttm == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ ttm == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ ttm == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ ttm == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ ttm == \d\m\-\m\o\d ]]
++ shift
++ [[ ttm == \l\i\n\e\a\r ]]
++ shift
++ [[ ttm == \d\m\-\l\o\g ]]
++ shift
++ [[ ttm == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ ttm == \f\a\u\l\t\y ]]
++ shift
++ [[ ttm == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ ttm == \r\a\i\d\1 ]]
++ shift
++ [[ ttm == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ ttm == \d\m\-\z\e\r\o ]]
++ shift
++ [[ ttm == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ ttm == \d\m\-\r\a\i\d ]]
++ shift
++ [[ ttm == \m\d\-\m\o\d ]]
++ shift
++ [[ ttm == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ ttm == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ ttm == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ ttm == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ ttm == \r\a\i\d\1\0 ]]
++ shift
++ [[ ttm == \r\a\i\d\0 ]]
++ shift
++ [[ ttm == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ ttm == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ ttm == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ ttm == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ ttm == \i\2\o\_\b\u\s ]]
++ shift
++ [[ ttm == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ ttm == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ ttm == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ ttm == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ ttm == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ ttm == \m\p\t\c\t\l ]]
++ shift
++ [[ ttm == \m\p\t\f\c ]]
++ shift
++ [[ ttm == \m\p\t\s\p\i ]]
++ shift
++ [[ ttm == \m\p\t\l\a\n ]]
++ shift
++ [[ ttm == \m\p\t\b\a\s\e ]]
++ shift
++ [[ ttm == \m\p\t\s\a\s ]]
++ shift
++ [[ ttm == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ ttm == \i\m\m ]]
++ shift
++ [[ ttm == \q\l\a\4\x\x\x ]]
++ shift
++ [[ ttm == \a\i\c\7\x\x\x ]]
++ shift
++ [[ ttm == \a\i\c\7\9\x\x ]]
++ shift
++ [[ ttm == \l\p\f\c ]]
++ shift
++ [[ ttm == \b\f\a ]]
++ shift
++ [[ ttm == \a\a\c\r\a\i\d ]]
++ shift
++ [[ ttm == \e\a\t\a ]]
++ shift
++ [[ ttm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ ttm == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ ttm == \B\u\s\L\o\g\i\c ]]
++ shift
++ [[ ttm == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ ttm == \s\e\s ]]
++ shift
++ [[ ttm == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ ttm == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ ttm == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ttm == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ ttm == \s\t\e\x ]]
++ shift
++ [[ ttm == \o\s\d ]]
++ shift
++ [[ ttm == \l\i\b\o\s\d ]]
++ shift
++ [[ ttm == \a\h\a\1\5\2\x\_\c\s ]]
++ shift
++ [[ ttm == \q\l\o\g\i\c\_\c\s ]]
++ shift
++ [[ ttm == \f\d\o\m\a\i\n\_\c\s ]]
++ shift
++ [[ ttm == \s\y\m\5\3\c\5\0\0\_\c\s ]]
++ shift
++ [[ ttm == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ ttm == \s\g ]]
++ shift
++ [[ ttm == \a\i\c\9\4\x\x ]]
++ shift
++ [[ ttm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ ttm == \a\1\0\0\u\2\w ]]
++ shift
++ [[ ttm == \c\x\g\b\4\i ]]
++ shift
++ [[ ttm == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ ttm == \c\x\g\b\3\i ]]
++ shift
++ [[ ttm == \f\n\i\c ]]
++ shift
++ [[ ttm == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ ttm == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ ttm == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ ttm == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ ttm == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ ttm == \l\i\b\f\c ]]
++ shift
++ [[ ttm == \i\p\r ]]
++ shift
++ [[ ttm == \m\v\s\a\s ]]
++ shift
++ [[ ttm == \o\s\s\t ]]
++ shift
++ [[ ttm == \3\w\-\s\a\s ]]
++ shift
++ [[ ttm == \3\w\-\9\x\x\x ]]
++ shift
++ [[ ttm == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ ttm == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ ttm == \s\c\s\i\_\d\h ]]
++ shift
++ [[ ttm == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ ttm == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ ttm == \m\p\t\2\s\a\s ]]
++ shift
++ [[ ttm == \l\i\b\s\a\s ]]
++ shift
++ [[ ttm == \d\p\t\_\i\2\o ]]
++ shift
++ [[ ttm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ ttm == \p\p\a ]]
++ shift
++ [[ ttm == \m\v\u\m\i ]]
++ shift
++ [[ ttm == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ ttm == \t\m\s\c\s\i\m ]]
++ shift
++ [[ ttm == \a\r\c\m\s\r ]]
++ shift
++ [[ ttm == \i\s\c\i ]]
++ shift
++ [[ ttm == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ ttm == \b\n\x\2\i ]]
++ shift
++ [[ ttm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ ttm == \i\n\i\t\i\o ]]
++ shift
++ [[ ttm == \p\m\c\r\a\i\d ]]
++ shift
++ [[ ttm == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ ttm == \a\d\v\a\n\s\y\s ]]
++ shift
++ [[ ttm == \h\p\t\i\o\p ]]
++ shift
++ [[ ttm == \h\p\s\a ]]
++ shift
++ [[ ttm == \s\d\_\m\o\d ]]
++ shift
++ [[ ttm == \l\i\b\f\c\o\e ]]
++ shift
++ [[ ttm == \f\c\o\e ]]
++ shift
++ [[ ttm == \p\m\8\0\0\1 ]]
++ shift
++ [[ ttm == \f\d\o\m\a\i\n ]]
++ shift
++ [[ ttm == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ ttm == \b\n\x\2\f\c ]]
++ shift
++ [[ ttm == \d\m\x\3\1\9\1\d ]]
++ shift
++ [[ ttm == \s\r\_\m\o\d ]]
++ shift
++ [[ ttm == \3\w\-\x\x\x\x ]]
++ shift
++ [[ ttm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ ttm == \q\l\o\g\i\c\f\a\s\4\0\8 ]]
++ shift
++ [[ ttm == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ ttm == \a\t\p\8\7\0\u ]]
++ shift
++ [[ ttm == \q\l\a\2\x\x\x ]]
++ shift
++ [[ ttm == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ ttm == \c\h ]]
++ shift
++ [[ ttm == \g\d\t\h ]]
++ shift
++ [[ ttm == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ ttm == \l\i\b\s\r\p ]]
++ shift
++ [[ ttm == \d\c\3\9\5\x ]]
++ shift
++ [[ ttm == \i\p\s ]]
++ shift
++ [[ ttm == \s\t ]]
++ shift
++ [[ ttm == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ ttm == \u\m\s\-\r\e\a\l\t\e\k ]]
++ shift
++ [[ ttm == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ ttm == \u\m\s\-\e\n\e\u\b\6\2\5\0 ]]
++ shift
++ [[ ttm == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ ttm == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ ttm == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ ttm == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ ttm == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ ttm == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ ttm == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ ttm == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ ttm == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ ttm == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ ttm == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray drm brd rbd osdblk on20 pd pf dstr aten kbic fit2 epia comm paride frpw friq pcd bpck epat pt ktti fit3 on26 pg virtio_blk sx8 aoe xen-blkfront pktcdvd drbd cciss cpqarray umem xen-blkback nbd loop DAC960 floppy firewire-sbp2 firewire-core firewire-ohci firewire-net nosy pata_it8213 pata_mpiix pata_hpt366 pata_rz1000 pata_ali pdc_adma sata_via libahci pata_sil680 sata_inic162x pata_pdc2027x pata_pcmcia pata_ninja32 sata_nv pata_jmicron sata_sx4 pata_ns87410 pata_arasan_cf ata_piix pata_netcell pata_sis pata_via pata_piccolo pata_serverworks pata_rdc pata_amd sata_promise sata_sil24 pata_oldpiix pata_sch libata pata_cmd64x sata_sil pata_hpt37x pata_ns87415 pata_triflex acard-ahci sata_vsc pata_atp867x sata_mv pata_pdc202xx_old pata_sc1200 pata_artop pata_efar ata_generic pata_marvell pata_cs5530 pata_cs5520 sata_uli pata_atiixp sata_qstor ahci pata_it821x sata_sis sata_svw dm-multipath dm-delay raid456 dm-persistent-data dm-round-robin dm-mod linear dm-log dm-region-hash faulty dm-thin-pool raid1 multipath dm-zero dm-snapshot dm-raid md-mod dm-bufio dm-crypt dm-queue-length dm-mirror raid10 raid0 dm-log-userspace dm-flakey dm-service-time i2o_block i2o_bus i2o_proc i2o_scsi i2o_core i2o_config mptscsih mptctl mptfc mptspi mptlan mptbase mptsas vmw_pvscsi imm qla4xxx aic7xxx aic79xx lpfc bfa aacraid eata scsi_transport_srp scsi_wait_scan BusLogic scsi_tgt ses aic7xxx_old iscsi_boot_sysfs libiscsi_tcp iscsi_tcp stex osd libosd aha152x_cs qlogic_cs fdomain_cs sym53c500_cs sym53c8xx sg aic94xx scsi_transport_sas a100u2w cxgb4i libcxgbi cxgb3i fnic raid_class megaraid_mm megaraid_sas megaraid_mbox libiscsi libfc ipr mvsas osst 3w-sas 3w-9xxx scsi_dh_emc scsi_dh_alua scsi_dh scsi_dh_hp_sw scsi_dh_rdac mpt2sas libsas dpt_i2o scsi_transport_fc ppa mvumi scsi_debug tmscsim arcmsr isci be2iscsi bnx2i scsi_transport_spi initio pmcraid qla1280 advansys hptiop hpsa sd_mod libfcoe fcoe pm8001 fdomain virtio_scsi bnx2fc dmx3191d sr_mod 3w-xxxx scsi_transport_iscsi qlogicfas408 scsi_mod atp870u qla2xxx megaraid ch gdth hv_storvsc libsrp dc395x ips st ums-jumpshot ums-realtek usb-storage ums-eneub6250 ums-usbat ums-sddr55 ums-sddr09 ums-freecom ums-onetouch ums-alauda ums-isd200 ums-karma ums-cypress ums-datafab
++ local needle=drm
++ shift
++ [[ drm == \b\r\d ]]
++ shift
++ [[ drm == \r\b\d ]]
++ shift
++ [[ drm == \o\s\d\b\l\k ]]
++ shift
++ [[ drm == \o\n\2\0 ]]
++ shift
++ [[ drm == \p\d ]]
++ shift
++ [[ drm == \p\f ]]
++ shift
++ [[ drm == \d\s\t\r ]]
++ shift
++ [[ drm == \a\t\e\n ]]
++ shift
++ [[ drm == \k\b\i\c ]]
++ shift
++ [[ drm == \f\i\t\2 ]]
++ shift
++ [[ drm == \e\p\i\a ]]
++ shift
++ [[ drm == \c\o\m\m ]]
++ shift
++ [[ drm == \p\a\r\i\d\e ]]
++ shift
++ [[ drm == \f\r\p\w ]]
++ shift
++ [[ drm == \f\r\i\q ]]
++ shift
++ [[ drm == \p\c\d ]]
++ shift
++ [[ drm == \b\p\c\k ]]
++ shift
++ [[ drm == \e\p\a\t ]]
++ shift
++ [[ drm == \p\t ]]
++ shift
++ [[ drm == \k\t\t\i ]]
++ shift
++ [[ drm == \f\i\t\3 ]]
++ shift
++ [[ drm == \o\n\2\6 ]]
++ shift
++ [[ drm == \p\g ]]
++ shift
++ [[ drm == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ drm == \s\x\8 ]]
++ shift
++ [[ drm == \a\o\e ]]
++ shift
++ [[ drm == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ drm == \p\k\t\c\d\v\d ]]
++ shift
++ [[ drm == \d\r\b\d ]]
++ shift
++ [[ drm == \c\c\i\s\s ]]
++ shift
++ [[ drm == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ drm == \u\m\e\m ]]
++ shift
++ [[ drm == \x\e\n\-\b\l\k\b\a\c\k ]]
++ shift
++ [[ drm == \n\b\d ]]
++ shift
++ [[ drm == \l\o\o\p ]]
++ shift
++ [[ drm == \D\A\C\9\6\0 ]]
++ shift
++ [[ drm == \f\l\o\p\p\y ]]
++ shift
++ [[ drm == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ drm == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ drm == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ drm == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ drm == \n\o\s\y ]]
++ shift
++ [[ drm == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ drm == \p\a\t\a\_\m\p\i\i\x ]]
++ shift
++ [[ drm == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ drm == \p\a\t\a\_\r\z\1\0\0\0 ]]
++ shift
++ [[ drm == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ drm == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ drm == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ drm == \l\i\b\a\h\c\i ]]
++ shift
++ [[ drm == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ drm == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ drm == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ drm == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ drm == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ drm == \s\a\t\a\_\n\v ]]
++ shift
++ [[ drm == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ drm == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ drm == \p\a\t\a\_\n\s\8\7\4\1\0 ]]
++ shift
++ [[ drm == \p\a\t\a\_\a\r\a\s\a\n\_\c\f ]]
++ shift
++ [[ drm == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ drm == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ drm == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ drm == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ drm == \p\a\t\a\_\p\i\c\c\o\l\o ]]
++ shift
++ [[ drm == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ drm == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ drm == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ drm == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ drm == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ drm == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ drm == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ drm == \l\i\b\a\t\a ]]
++ shift
++ [[ drm == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ drm == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ drm == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ drm == \p\a\t\a\_\n\s\8\7\4\1\5 ]]
++ shift
++ [[ drm == \p\a\t\a\_\t\r\i\f\l\e\x ]]
++ shift
++ [[ drm == \a\c\a\r\d\-\a\h\c\i ]]
++ shift
++ [[ drm == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ drm == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ drm == \s\a\t\a\_\m\v ]]
++ shift
++ [[ drm == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ drm == \p\a\t\a\_\s\c\1\2\0\0 ]]
++ shift
++ [[ drm == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ drm == \p\a\t\a\_\e\f\a\r ]]
++ shift
++ [[ drm == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ drm == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ drm == \p\a\t\a\_\c\s\5\5\3\0 ]]
++ shift
++ [[ drm == \p\a\t\a\_\c\s\5\5\2\0 ]]
++ shift
++ [[ drm == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ drm == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ drm == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ drm == \a\h\c\i ]]
++ shift
++ [[ drm == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ drm == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ drm == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ drm == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ drm == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ drm == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ drm == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ drm == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ drm == \d\m\-\m\o\d ]]
++ shift
++ [[ drm == \l\i\n\e\a\r ]]
++ shift
++ [[ drm == \d\m\-\l\o\g ]]
++ shift
++ [[ drm == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ drm == \f\a\u\l\t\y ]]
++ shift
++ [[ drm == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ drm == \r\a\i\d\1 ]]
++ shift
++ [[ drm == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ drm == \d\m\-\z\e\r\o ]]
++ shift
++ [[ drm == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ drm == \d\m\-\r\a\i\d ]]
++ shift
++ [[ drm == \m\d\-\m\o\d ]]
++ shift
++ [[ drm == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ drm == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ drm == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ drm == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ drm == \r\a\i\d\1\0 ]]
++ shift
++ [[ drm == \r\a\i\d\0 ]]
++ shift
++ [[ drm == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ drm == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ drm == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ drm == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ drm == \i\2\o\_\b\u\s ]]
++ shift
++ [[ drm == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ drm == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ drm == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ drm == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ drm == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ drm == \m\p\t\c\t\l ]]
++ shift
++ [[ drm == \m\p\t\f\c ]]
++ shift
++ [[ drm == \m\p\t\s\p\i ]]
++ shift
++ [[ drm == \m\p\t\l\a\n ]]
++ shift
++ [[ drm == \m\p\t\b\a\s\e ]]
++ shift
++ [[ drm == \m\p\t\s\a\s ]]
++ shift
++ [[ drm == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ drm == \i\m\m ]]
++ shift
++ [[ drm == \q\l\a\4\x\x\x ]]
++ shift
++ [[ drm == \a\i\c\7\x\x\x ]]
++ shift
++ [[ drm == \a\i\c\7\9\x\x ]]
++ shift
++ [[ drm == \l\p\f\c ]]
++ shift
++ [[ drm == \b\f\a ]]
++ shift
++ [[ drm == \a\a\c\r\a\i\d ]]
++ shift
++ [[ drm == \e\a\t\a ]]
++ shift
++ [[ drm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ drm == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ drm == \B\u\s\L\o\g\i\c ]]
++ shift
++ [[ drm == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ drm == \s\e\s ]]
++ shift
++ [[ drm == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ drm == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ drm == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ drm == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ drm == \s\t\e\x ]]
++ shift
++ [[ drm == \o\s\d ]]
++ shift
++ [[ drm == \l\i\b\o\s\d ]]
++ shift
++ [[ drm == \a\h\a\1\5\2\x\_\c\s ]]
++ shift
++ [[ drm == \q\l\o\g\i\c\_\c\s ]]
++ shift
++ [[ drm == \f\d\o\m\a\i\n\_\c\s ]]
++ shift
++ [[ drm == \s\y\m\5\3\c\5\0\0\_\c\s ]]
++ shift
++ [[ drm == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ drm == \s\g ]]
++ shift
++ [[ drm == \a\i\c\9\4\x\x ]]
++ shift
++ [[ drm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ drm == \a\1\0\0\u\2\w ]]
++ shift
++ [[ drm == \c\x\g\b\4\i ]]
++ shift
++ [[ drm == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ drm == \c\x\g\b\3\i ]]
++ shift
++ [[ drm == \f\n\i\c ]]
++ shift
++ [[ drm == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ drm == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ drm == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ drm == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ drm == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ drm == \l\i\b\f\c ]]
++ shift
++ [[ drm == \i\p\r ]]
++ shift
++ [[ drm == \m\v\s\a\s ]]
++ shift
++ [[ drm == \o\s\s\t ]]
++ shift
++ [[ drm == \3\w\-\s\a\s ]]
++ shift
++ [[ drm == \3\w\-\9\x\x\x ]]
++ shift
++ [[ drm == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ drm == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ drm == \s\c\s\i\_\d\h ]]
++ shift
++ [[ drm == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ drm == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ drm == \m\p\t\2\s\a\s ]]
++ shift
++ [[ drm == \l\i\b\s\a\s ]]
++ shift
++ [[ drm == \d\p\t\_\i\2\o ]]
++ shift
++ [[ drm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ drm == \p\p\a ]]
++ shift
++ [[ drm == \m\v\u\m\i ]]
++ shift
++ [[ drm == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ drm == \t\m\s\c\s\i\m ]]
++ shift
++ [[ drm == \a\r\c\m\s\r ]]
++ shift
++ [[ drm == \i\s\c\i ]]
++ shift
++ [[ drm == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ drm == \b\n\x\2\i ]]
++ shift
++ [[ drm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ drm == \i\n\i\t\i\o ]]
++ shift
++ [[ drm == \p\m\c\r\a\i\d ]]
++ shift
++ [[ drm == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ drm == \a\d\v\a\n\s\y\s ]]
++ shift
++ [[ drm == \h\p\t\i\o\p ]]
++ shift
++ [[ drm == \h\p\s\a ]]
++ shift
++ [[ drm == \s\d\_\m\o\d ]]
++ shift
++ [[ drm == \l\i\b\f\c\o\e ]]
++ shift
++ [[ drm == \f\c\o\e ]]
++ shift
++ [[ drm == \p\m\8\0\0\1 ]]
++ shift
++ [[ drm == \f\d\o\m\a\i\n ]]
++ shift
++ [[ drm == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ drm == \b\n\x\2\f\c ]]
++ shift
++ [[ drm == \d\m\x\3\1\9\1\d ]]
++ shift
++ [[ drm == \s\r\_\m\o\d ]]
++ shift
++ [[ drm == \3\w\-\x\x\x\x ]]
++ shift
++ [[ drm == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ drm == \q\l\o\g\i\c\f\a\s\4\0\8 ]]
++ shift
++ [[ drm == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ drm == \a\t\p\8\7\0\u ]]
++ shift
++ [[ drm == \q\l\a\2\x\x\x ]]
++ shift
++ [[ drm == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ drm == \c\h ]]
++ shift
++ [[ drm == \g\d\t\h ]]
++ shift
++ [[ drm == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ drm == \l\i\b\s\r\p ]]
++ shift
++ [[ drm == \d\c\3\9\5\x ]]
++ shift
++ [[ drm == \i\p\s ]]
++ shift
++ [[ drm == \s\t ]]
++ shift
++ [[ drm == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ drm == \u\m\s\-\r\e\a\l\t\e\k ]]
++ shift
++ [[ drm == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ drm == \u\m\s\-\e\n\e\u\b\6\2\5\0 ]]
++ shift
++ [[ drm == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ drm == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ drm == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ drm == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ drm == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ drm == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ drm == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ drm == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ drm == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ drm == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ drm == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray button brd rbd osdblk on20 pd pf dstr aten kbic fit2 epia comm paride frpw friq pcd bpck epat pt ktti fit3 on26 pg virtio_blk sx8 aoe xen-blkfront pktcdvd drbd cciss cpqarray umem xen-blkback nbd loop DAC960 floppy firewire-sbp2 firewire-core firewire-ohci firewire-net nosy pata_it8213 pata_mpiix pata_hpt366 pata_rz1000 pata_ali pdc_adma sata_via libahci pata_sil680 sata_inic162x pata_pdc2027x pata_pcmcia pata_ninja32 sata_nv pata_jmicron sata_sx4 pata_ns87410 pata_arasan_cf ata_piix pata_netcell pata_sis pata_via pata_piccolo pata_serverworks pata_rdc pata_amd sata_promise sata_sil24 pata_oldpiix pata_sch libata pata_cmd64x sata_sil pata_hpt37x pata_ns87415 pata_triflex acard-ahci sata_vsc pata_atp867x sata_mv pata_pdc202xx_old pata_sc1200 pata_artop pata_efar ata_generic pata_marvell pata_cs5530 pata_cs5520 sata_uli pata_atiixp sata_qstor ahci pata_it821x sata_sis sata_svw dm-multipath dm-delay raid456 dm-persistent-data dm-round-robin dm-mod linear dm-log dm-region-hash faulty dm-thin-pool raid1 multipath dm-zero dm-snapshot dm-raid md-mod dm-bufio dm-crypt dm-queue-length dm-mirror raid10 raid0 dm-log-userspace dm-flakey dm-service-time i2o_block i2o_bus i2o_proc i2o_scsi i2o_core i2o_config mptscsih mptctl mptfc mptspi mptlan mptbase mptsas vmw_pvscsi imm qla4xxx aic7xxx aic79xx lpfc bfa aacraid eata scsi_transport_srp scsi_wait_scan BusLogic scsi_tgt ses aic7xxx_old iscsi_boot_sysfs libiscsi_tcp iscsi_tcp stex osd libosd aha152x_cs qlogic_cs fdomain_cs sym53c500_cs sym53c8xx sg aic94xx scsi_transport_sas a100u2w cxgb4i libcxgbi cxgb3i fnic raid_class megaraid_mm megaraid_sas megaraid_mbox libiscsi libfc ipr mvsas osst 3w-sas 3w-9xxx scsi_dh_emc scsi_dh_alua scsi_dh scsi_dh_hp_sw scsi_dh_rdac mpt2sas libsas dpt_i2o scsi_transport_fc ppa mvumi scsi_debug tmscsim arcmsr isci be2iscsi bnx2i scsi_transport_spi initio pmcraid qla1280 advansys hptiop hpsa sd_mod libfcoe fcoe pm8001 fdomain virtio_scsi bnx2fc dmx3191d sr_mod 3w-xxxx scsi_transport_iscsi qlogicfas408 scsi_mod atp870u qla2xxx megaraid ch gdth hv_storvsc libsrp dc395x ips st ums-jumpshot ums-realtek usb-storage ums-eneub6250 ums-usbat ums-sddr55 ums-sddr09 ums-freecom ums-onetouch ums-alauda ums-isd200 ums-karma ums-cypress ums-datafab
++ local needle=button
++ shift
++ [[ button == \b\r\d ]]
++ shift
++ [[ button == \r\b\d ]]
++ shift
++ [[ button == \o\s\d\b\l\k ]]
++ shift
++ [[ button == \o\n\2\0 ]]
++ shift
++ [[ button == \p\d ]]
++ shift
++ [[ button == \p\f ]]
++ shift
++ [[ button == \d\s\t\r ]]
++ shift
++ [[ button == \a\t\e\n ]]
++ shift
++ [[ button == \k\b\i\c ]]
++ shift
++ [[ button == \f\i\t\2 ]]
++ shift
++ [[ button == \e\p\i\a ]]
++ shift
++ [[ button == \c\o\m\m ]]
++ shift
++ [[ button == \p\a\r\i\d\e ]]
++ shift
++ [[ button == \f\r\p\w ]]
++ shift
++ [[ button == \f\r\i\q ]]
++ shift
++ [[ button == \p\c\d ]]
++ shift
++ [[ button == \b\p\c\k ]]
++ shift
++ [[ button == \e\p\a\t ]]
++ shift
++ [[ button == \p\t ]]
++ shift
++ [[ button == \k\t\t\i ]]
++ shift
++ [[ button == \f\i\t\3 ]]
++ shift
++ [[ button == \o\n\2\6 ]]
++ shift
++ [[ button == \p\g ]]
++ shift
++ [[ button == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ button == \s\x\8 ]]
++ shift
++ [[ button == \a\o\e ]]
++ shift
++ [[ button == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ button == \p\k\t\c\d\v\d ]]
++ shift
++ [[ button == \d\r\b\d ]]
++ shift
++ [[ button == \c\c\i\s\s ]]
++ shift
++ [[ button == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ button == \u\m\e\m ]]
++ shift
++ [[ button == \x\e\n\-\b\l\k\b\a\c\k ]]
++ shift
++ [[ button == \n\b\d ]]
++ shift
++ [[ button == \l\o\o\p ]]
++ shift
++ [[ button == \D\A\C\9\6\0 ]]
++ shift
++ [[ button == \f\l\o\p\p\y ]]
++ shift
++ [[ button == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ button == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ button == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ button == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ button == \n\o\s\y ]]
++ shift
++ [[ button == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ button == \p\a\t\a\_\m\p\i\i\x ]]
++ shift
++ [[ button == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ button == \p\a\t\a\_\r\z\1\0\0\0 ]]
++ shift
++ [[ button == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ button == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ button == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ button == \l\i\b\a\h\c\i ]]
++ shift
++ [[ button == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ button == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ button == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ button == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ button == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ button == \s\a\t\a\_\n\v ]]
++ shift
++ [[ button == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ button == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ button == \p\a\t\a\_\n\s\8\7\4\1\0 ]]
++ shift
++ [[ button == \p\a\t\a\_\a\r\a\s\a\n\_\c\f ]]
++ shift
++ [[ button == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ button == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ button == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ button == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ button == \p\a\t\a\_\p\i\c\c\o\l\o ]]
++ shift
++ [[ button == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ button == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ button == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ button == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ button == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ button == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ button == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ button == \l\i\b\a\t\a ]]
++ shift
++ [[ button == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ button == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ button == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ button == \p\a\t\a\_\n\s\8\7\4\1\5 ]]
++ shift
++ [[ button == \p\a\t\a\_\t\r\i\f\l\e\x ]]
++ shift
++ [[ button == \a\c\a\r\d\-\a\h\c\i ]]
++ shift
++ [[ button == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ button == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ button == \s\a\t\a\_\m\v ]]
++ shift
++ [[ button == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ button == \p\a\t\a\_\s\c\1\2\0\0 ]]
++ shift
++ [[ button == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ button == \p\a\t\a\_\e\f\a\r ]]
++ shift
++ [[ button == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ button == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ button == \p\a\t\a\_\c\s\5\5\3\0 ]]
++ shift
++ [[ button == \p\a\t\a\_\c\s\5\5\2\0 ]]
++ shift
++ [[ button == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ button == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ button == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ button == \a\h\c\i ]]
++ shift
++ [[ button == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ button == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ button == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ button == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ button == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ button == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ button == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ button == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ button == \d\m\-\m\o\d ]]
++ shift
++ [[ button == \l\i\n\e\a\r ]]
++ shift
++ [[ button == \d\m\-\l\o\g ]]
++ shift
++ [[ button == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ button == \f\a\u\l\t\y ]]
++ shift
++ [[ button == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ button == \r\a\i\d\1 ]]
++ shift
++ [[ button == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ button == \d\m\-\z\e\r\o ]]
++ shift
++ [[ button == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ button == \d\m\-\r\a\i\d ]]
++ shift
++ [[ button == \m\d\-\m\o\d ]]
++ shift
++ [[ button == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ button == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ button == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ button == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ button == \r\a\i\d\1\0 ]]
++ shift
++ [[ button == \r\a\i\d\0 ]]
++ shift
++ [[ button == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ button == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ button == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ button == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ button == \i\2\o\_\b\u\s ]]
++ shift
++ [[ button == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ button == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ button == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ button == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ button == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ button == \m\p\t\c\t\l ]]
++ shift
++ [[ button == \m\p\t\f\c ]]
++ shift
++ [[ button == \m\p\t\s\p\i ]]
++ shift
++ [[ button == \m\p\t\l\a\n ]]
++ shift
++ [[ button == \m\p\t\b\a\s\e ]]
++ shift
++ [[ button == \m\p\t\s\a\s ]]
++ shift
++ [[ button == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ button == \i\m\m ]]
++ shift
++ [[ button == \q\l\a\4\x\x\x ]]
++ shift
++ [[ button == \a\i\c\7\x\x\x ]]
++ shift
++ [[ button == \a\i\c\7\9\x\x ]]
++ shift
++ [[ button == \l\p\f\c ]]
++ shift
++ [[ button == \b\f\a ]]
++ shift
++ [[ button == \a\a\c\r\a\i\d ]]
++ shift
++ [[ button == \e\a\t\a ]]
++ shift
++ [[ button == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ button == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ button == \B\u\s\L\o\g\i\c ]]
++ shift
++ [[ button == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ button == \s\e\s ]]
++ shift
++ [[ button == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ button == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ button == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ button == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ button == \s\t\e\x ]]
++ shift
++ [[ button == \o\s\d ]]
++ shift
++ [[ button == \l\i\b\o\s\d ]]
++ shift
++ [[ button == \a\h\a\1\5\2\x\_\c\s ]]
++ shift
++ [[ button == \q\l\o\g\i\c\_\c\s ]]
++ shift
++ [[ button == \f\d\o\m\a\i\n\_\c\s ]]
++ shift
++ [[ button == \s\y\m\5\3\c\5\0\0\_\c\s ]]
++ shift
++ [[ button == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ button == \s\g ]]
++ shift
++ [[ button == \a\i\c\9\4\x\x ]]
++ shift
++ [[ button == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ button == \a\1\0\0\u\2\w ]]
++ shift
++ [[ button == \c\x\g\b\4\i ]]
++ shift
++ [[ button == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ button == \c\x\g\b\3\i ]]
++ shift
++ [[ button == \f\n\i\c ]]
++ shift
++ [[ button == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ button == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ button == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ button == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ button == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ button == \l\i\b\f\c ]]
++ shift
++ [[ button == \i\p\r ]]
++ shift
++ [[ button == \m\v\s\a\s ]]
++ shift
++ [[ button == \o\s\s\t ]]
++ shift
++ [[ button == \3\w\-\s\a\s ]]
++ shift
++ [[ button == \3\w\-\9\x\x\x ]]
++ shift
++ [[ button == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ button == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ button == \s\c\s\i\_\d\h ]]
++ shift
++ [[ button == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ button == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ button == \m\p\t\2\s\a\s ]]
++ shift
++ [[ button == \l\i\b\s\a\s ]]
++ shift
++ [[ button == \d\p\t\_\i\2\o ]]
++ shift
++ [[ button == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ button == \p\p\a ]]
++ shift
++ [[ button == \m\v\u\m\i ]]
++ shift
++ [[ button == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ button == \t\m\s\c\s\i\m ]]
++ shift
++ [[ button == \a\r\c\m\s\r ]]
++ shift
++ [[ button == \i\s\c\i ]]
++ shift
++ [[ button == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ button == \b\n\x\2\i ]]
++ shift
++ [[ button == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ button == \i\n\i\t\i\o ]]
++ shift
++ [[ button == \p\m\c\r\a\i\d ]]
++ shift
++ [[ button == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ button == \a\d\v\a\n\s\y\s ]]
++ shift
++ [[ button == \h\p\t\i\o\p ]]
++ shift
++ [[ button == \h\p\s\a ]]
++ shift
++ [[ button == \s\d\_\m\o\d ]]
++ shift
++ [[ button == \l\i\b\f\c\o\e ]]
++ shift
++ [[ button == \f\c\o\e ]]
++ shift
++ [[ button == \p\m\8\0\0\1 ]]
++ shift
++ [[ button == \f\d\o\m\a\i\n ]]
++ shift
++ [[ button == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ button == \b\n\x\2\f\c ]]
++ shift
++ [[ button == \d\m\x\3\1\9\1\d ]]
++ shift
++ [[ button == \s\r\_\m\o\d ]]
++ shift
++ [[ button == \3\w\-\x\x\x\x ]]
++ shift
++ [[ button == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ button == \q\l\o\g\i\c\f\a\s\4\0\8 ]]
++ shift
++ [[ button == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ button == \a\t\p\8\7\0\u ]]
++ shift
++ [[ button == \q\l\a\2\x\x\x ]]
++ shift
++ [[ button == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ button == \c\h ]]
++ shift
++ [[ button == \g\d\t\h ]]
++ shift
++ [[ button == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ button == \l\i\b\s\r\p ]]
++ shift
++ [[ button == \d\c\3\9\5\x ]]
++ shift
++ [[ button == \i\p\s ]]
++ shift
++ [[ button == \s\t ]]
++ shift
++ [[ button == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ button == \u\m\s\-\r\e\a\l\t\e\k ]]
++ shift
++ [[ button == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ button == \u\m\s\-\e\n\e\u\b\6\2\5\0 ]]
++ shift
++ [[ button == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ button == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ button == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ button == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ button == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ button == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ button == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ button == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ button == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ button == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ button == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray i2c_piix4 brd rbd osdblk on20 pd pf dstr aten kbic fit2 epia comm paride frpw friq pcd bpck epat pt ktti fit3 on26 pg virtio_blk sx8 aoe xen-blkfront pktcdvd drbd cciss cpqarray umem xen-blkback nbd loop DAC960 floppy firewire-sbp2 firewire-core firewire-ohci firewire-net nosy pata_it8213 pata_mpiix pata_hpt366 pata_rz1000 pata_ali pdc_adma sata_via libahci pata_sil680 sata_inic162x pata_pdc2027x pata_pcmcia pata_ninja32 sata_nv pata_jmicron sata_sx4 pata_ns87410 pata_arasan_cf ata_piix pata_netcell pata_sis pata_via pata_piccolo pata_serverworks pata_rdc pata_amd sata_promise sata_sil24 pata_oldpiix pata_sch libata pata_cmd64x sata_sil pata_hpt37x pata_ns87415 pata_triflex acard-ahci sata_vsc pata_atp867x sata_mv pata_pdc202xx_old pata_sc1200 pata_artop pata_efar ata_generic pata_marvell pata_cs5530 pata_cs5520 sata_uli pata_atiixp sata_qstor ahci pata_it821x sata_sis sata_svw dm-multipath dm-delay raid456 dm-persistent-data dm-round-robin dm-mod linear dm-log dm-region-hash faulty dm-thin-pool raid1 multipath dm-zero dm-snapshot dm-raid md-mod dm-bufio dm-crypt dm-queue-length dm-mirror raid10 raid0 dm-log-userspace dm-flakey dm-service-time i2o_block i2o_bus i2o_proc i2o_scsi i2o_core i2o_config mptscsih mptctl mptfc mptspi mptlan mptbase mptsas vmw_pvscsi imm qla4xxx aic7xxx aic79xx lpfc bfa aacraid eata scsi_transport_srp scsi_wait_scan BusLogic scsi_tgt ses aic7xxx_old iscsi_boot_sysfs libiscsi_tcp iscsi_tcp stex osd libosd aha152x_cs qlogic_cs fdomain_cs sym53c500_cs sym53c8xx sg aic94xx scsi_transport_sas a100u2w cxgb4i libcxgbi cxgb3i fnic raid_class megaraid_mm megaraid_sas megaraid_mbox libiscsi libfc ipr mvsas osst 3w-sas 3w-9xxx scsi_dh_emc scsi_dh_alua scsi_dh scsi_dh_hp_sw scsi_dh_rdac mpt2sas libsas dpt_i2o scsi_transport_fc ppa mvumi scsi_debug tmscsim arcmsr isci be2iscsi bnx2i scsi_transport_spi initio pmcraid qla1280 advansys hptiop hpsa sd_mod libfcoe fcoe pm8001 fdomain virtio_scsi bnx2fc dmx3191d sr_mod 3w-xxxx scsi_transport_iscsi qlogicfas408 scsi_mod atp870u qla2xxx megaraid ch gdth hv_storvsc libsrp dc395x ips st ums-jumpshot ums-realtek usb-storage ums-eneub6250 ums-usbat ums-sddr55 ums-sddr09 ums-freecom ums-onetouch ums-alauda ums-isd200 ums-karma ums-cypress ums-datafab
++ local needle=i2c_piix4
++ shift
++ [[ i2c_piix4 == \b\r\d ]]
++ shift
++ [[ i2c_piix4 == \r\b\d ]]
++ shift
++ [[ i2c_piix4 == \o\s\d\b\l\k ]]
++ shift
++ [[ i2c_piix4 == \o\n\2\0 ]]
++ shift
++ [[ i2c_piix4 == \p\d ]]
++ shift
++ [[ i2c_piix4 == \p\f ]]
++ shift
++ [[ i2c_piix4 == \d\s\t\r ]]
++ shift
++ [[ i2c_piix4 == \a\t\e\n ]]
++ shift
++ [[ i2c_piix4 == \k\b\i\c ]]
++ shift
++ [[ i2c_piix4 == \f\i\t\2 ]]
++ shift
++ [[ i2c_piix4 == \e\p\i\a ]]
++ shift
++ [[ i2c_piix4 == \c\o\m\m ]]
++ shift
++ [[ i2c_piix4 == \p\a\r\i\d\e ]]
++ shift
++ [[ i2c_piix4 == \f\r\p\w ]]
++ shift
++ [[ i2c_piix4 == \f\r\i\q ]]
++ shift
++ [[ i2c_piix4 == \p\c\d ]]
++ shift
++ [[ i2c_piix4 == \b\p\c\k ]]
++ shift
++ [[ i2c_piix4 == \e\p\a\t ]]
++ shift
++ [[ i2c_piix4 == \p\t ]]
++ shift
++ [[ i2c_piix4 == \k\t\t\i ]]
++ shift
++ [[ i2c_piix4 == \f\i\t\3 ]]
++ shift
++ [[ i2c_piix4 == \o\n\2\6 ]]
++ shift
++ [[ i2c_piix4 == \p\g ]]
++ shift
++ [[ i2c_piix4 == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ i2c_piix4 == \s\x\8 ]]
++ shift
++ [[ i2c_piix4 == \a\o\e ]]
++ shift
++ [[ i2c_piix4 == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ i2c_piix4 == \p\k\t\c\d\v\d ]]
++ shift
++ [[ i2c_piix4 == \d\r\b\d ]]
++ shift
++ [[ i2c_piix4 == \c\c\i\s\s ]]
++ shift
++ [[ i2c_piix4 == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ i2c_piix4 == \u\m\e\m ]]
++ shift
++ [[ i2c_piix4 == \x\e\n\-\b\l\k\b\a\c\k ]]
++ shift
++ [[ i2c_piix4 == \n\b\d ]]
++ shift
++ [[ i2c_piix4 == \l\o\o\p ]]
++ shift
++ [[ i2c_piix4 == \D\A\C\9\6\0 ]]
++ 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\-\c\o\r\e ]]
++ shift
++ [[ i2c_piix4 == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ i2c_piix4 == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ i2c_piix4 == \n\o\s\y ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\m\p\i\i\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\r\z\1\0\0\0 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ i2c_piix4 == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\a\h\c\i ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\n\v ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\n\s\8\7\4\1\0 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\r\a\s\a\n\_\c\f ]]
++ shift
++ [[ i2c_piix4 == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\i\c\c\o\l\o ]]
++ 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\_\r\d\c ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\a\t\a ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\n\s\8\7\4\1\5 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\t\r\i\f\l\e\x ]]
++ shift
++ [[ i2c_piix4 == \a\c\a\r\d\-\a\h\c\i ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\m\v ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\s\c\1\2\0\0 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\e\f\a\r ]]
++ shift
++ [[ i2c_piix4 == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\c\s\5\5\3\0 ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\c\s\5\5\2\0 ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ i2c_piix4 == \a\h\c\i ]]
++ shift
++ [[ i2c_piix4 == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_piix4 == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\4\5\6 ]]
++ 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\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \l\i\n\e\a\r ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\l\o\g ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ i2c_piix4 == \f\a\u\l\t\y ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\1 ]]
++ shift
++ [[ i2c_piix4 == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\z\e\r\o ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\r\a\i\d ]]
++ shift
++ [[ i2c_piix4 == \m\d\-\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\1\0 ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\0 ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ i2c_piix4 == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ i2c_piix4 == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ i2c_piix4 == \i\2\o\_\b\u\s ]]
++ shift
++ [[ i2c_piix4 == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ i2c_piix4 == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ i2c_piix4 == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\c\t\l ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\f\c ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\s\p\i ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\l\a\n ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\b\a\s\e ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \i\m\m ]]
++ shift
++ [[ i2c_piix4 == \q\l\a\4\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\7\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\7\9\x\x ]]
++ shift
++ [[ i2c_piix4 == \l\p\f\c ]]
++ shift
++ [[ i2c_piix4 == \b\f\a ]]
++ shift
++ [[ i2c_piix4 == \a\a\c\r\a\i\d ]]
++ shift
++ [[ i2c_piix4 == \e\a\t\a ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ i2c_piix4 == \B\u\s\L\o\g\i\c ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ i2c_piix4 == \s\e\s ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ i2c_piix4 == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_piix4 == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_piix4 == \s\t\e\x ]]
++ shift
++ [[ i2c_piix4 == \o\s\d ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\o\s\d ]]
++ shift
++ [[ i2c_piix4 == \a\h\a\1\5\2\x\_\c\s ]]
++ shift
++ [[ i2c_piix4 == \q\l\o\g\i\c\_\c\s ]]
++ shift
++ [[ i2c_piix4 == \f\d\o\m\a\i\n\_\c\s ]]
++ shift
++ [[ i2c_piix4 == \s\y\m\5\3\c\5\0\0\_\c\s ]]
++ shift
++ [[ i2c_piix4 == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ i2c_piix4 == \s\g ]]
++ shift
++ [[ i2c_piix4 == \a\i\c\9\4\x\x ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \a\1\0\0\u\2\w ]]
++ 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 == \f\n\i\c ]]
++ shift
++ [[ i2c_piix4 == \r\a\i\d\_\c\l\a\s\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\_\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\f\c ]]
++ shift
++ [[ i2c_piix4 == \i\p\r ]]
++ shift
++ [[ i2c_piix4 == \m\v\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \o\s\s\t ]]
++ shift
++ [[ i2c_piix4 == \3\w\-\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \3\w\-\9\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ i2c_piix4 == \m\p\t\2\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\s\a\s ]]
++ shift
++ [[ i2c_piix4 == \d\p\t\_\i\2\o ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ i2c_piix4 == \p\p\a ]]
++ shift
++ [[ i2c_piix4 == \m\v\u\m\i ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ i2c_piix4 == \t\m\s\c\s\i\m ]]
++ shift
++ [[ i2c_piix4 == \a\r\c\m\s\r ]]
++ shift
++ [[ i2c_piix4 == \i\s\c\i ]]
++ shift
++ [[ i2c_piix4 == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \b\n\x\2\i ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ i2c_piix4 == \i\n\i\t\i\o ]]
++ shift
++ [[ i2c_piix4 == \p\m\c\r\a\i\d ]]
++ shift
++ [[ i2c_piix4 == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ i2c_piix4 == \a\d\v\a\n\s\y\s ]]
++ shift
++ [[ i2c_piix4 == \h\p\t\i\o\p ]]
++ shift
++ [[ i2c_piix4 == \h\p\s\a ]]
++ shift
++ [[ i2c_piix4 == \s\d\_\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\f\c\o\e ]]
++ shift
++ [[ i2c_piix4 == \f\c\o\e ]]
++ shift
++ [[ i2c_piix4 == \p\m\8\0\0\1 ]]
++ shift
++ [[ i2c_piix4 == \f\d\o\m\a\i\n ]]
++ shift
++ [[ i2c_piix4 == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \b\n\x\2\f\c ]]
++ shift
++ [[ i2c_piix4 == \d\m\x\3\1\9\1\d ]]
++ shift
++ [[ i2c_piix4 == \s\r\_\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \3\w\-\x\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ i2c_piix4 == \q\l\o\g\i\c\f\a\s\4\0\8 ]]
++ shift
++ [[ i2c_piix4 == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ i2c_piix4 == \a\t\p\8\7\0\u ]]
++ shift
++ [[ i2c_piix4 == \q\l\a\2\x\x\x ]]
++ shift
++ [[ i2c_piix4 == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ i2c_piix4 == \c\h ]]
++ shift
++ [[ i2c_piix4 == \g\d\t\h ]]
++ shift
++ [[ i2c_piix4 == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ i2c_piix4 == \l\i\b\s\r\p ]]
++ shift
++ [[ i2c_piix4 == \d\c\3\9\5\x ]]
++ shift
++ [[ i2c_piix4 == \i\p\s ]]
++ shift
++ [[ i2c_piix4 == \s\t ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\r\e\a\l\t\e\k ]]
++ shift
++ [[ i2c_piix4 == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\e\n\e\u\b\6\2\5\0 ]]
++ 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\-\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\-\a\l\a\u\d\a ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ i2c_piix4 == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ i2c_piix4 == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray i2c_core brd rbd osdblk on20 pd pf dstr aten kbic fit2 epia comm paride frpw friq pcd bpck epat pt ktti fit3 on26 pg virtio_blk sx8 aoe xen-blkfront pktcdvd drbd cciss cpqarray umem xen-blkback nbd loop DAC960 floppy firewire-sbp2 firewire-core firewire-ohci firewire-net nosy pata_it8213 pata_mpiix pata_hpt366 pata_rz1000 pata_ali pdc_adma sata_via libahci pata_sil680 sata_inic162x pata_pdc2027x pata_pcmcia pata_ninja32 sata_nv pata_jmicron sata_sx4 pata_ns87410 pata_arasan_cf ata_piix pata_netcell pata_sis pata_via pata_piccolo pata_serverworks pata_rdc pata_amd sata_promise sata_sil24 pata_oldpiix pata_sch libata pata_cmd64x sata_sil pata_hpt37x pata_ns87415 pata_triflex acard-ahci sata_vsc pata_atp867x sata_mv pata_pdc202xx_old pata_sc1200 pata_artop pata_efar ata_generic pata_marvell pata_cs5530 pata_cs5520 sata_uli pata_atiixp sata_qstor ahci pata_it821x sata_sis sata_svw dm-multipath dm-delay raid456 dm-persistent-data dm-round-robin dm-mod linear dm-log dm-region-hash faulty dm-thin-pool raid1 multipath dm-zero dm-snapshot dm-raid md-mod dm-bufio dm-crypt dm-queue-length dm-mirror raid10 raid0 dm-log-userspace dm-flakey dm-service-time i2o_block i2o_bus i2o_proc i2o_scsi i2o_core i2o_config mptscsih mptctl mptfc mptspi mptlan mptbase mptsas vmw_pvscsi imm qla4xxx aic7xxx aic79xx lpfc bfa aacraid eata scsi_transport_srp scsi_wait_scan BusLogic scsi_tgt ses aic7xxx_old iscsi_boot_sysfs libiscsi_tcp iscsi_tcp stex osd libosd aha152x_cs qlogic_cs fdomain_cs sym53c500_cs sym53c8xx sg aic94xx scsi_transport_sas a100u2w cxgb4i libcxgbi cxgb3i fnic raid_class megaraid_mm megaraid_sas megaraid_mbox libiscsi libfc ipr mvsas osst 3w-sas 3w-9xxx scsi_dh_emc scsi_dh_alua scsi_dh scsi_dh_hp_sw scsi_dh_rdac mpt2sas libsas dpt_i2o scsi_transport_fc ppa mvumi scsi_debug tmscsim arcmsr isci be2iscsi bnx2i scsi_transport_spi initio pmcraid qla1280 advansys hptiop hpsa sd_mod libfcoe fcoe pm8001 fdomain virtio_scsi bnx2fc dmx3191d sr_mod 3w-xxxx scsi_transport_iscsi qlogicfas408 scsi_mod atp870u qla2xxx megaraid ch gdth hv_storvsc libsrp dc395x ips st ums-jumpshot ums-realtek usb-storage ums-eneub6250 ums-usbat ums-sddr55 ums-sddr09 ums-freecom ums-onetouch ums-alauda ums-isd200 ums-karma ums-cypress ums-datafab
++ local needle=i2c_core
++ shift
++ [[ i2c_core == \b\r\d ]]
++ shift
++ [[ i2c_core == \r\b\d ]]
++ shift
++ [[ i2c_core == \o\s\d\b\l\k ]]
++ shift
++ [[ i2c_core == \o\n\2\0 ]]
++ shift
++ [[ i2c_core == \p\d ]]
++ shift
++ [[ i2c_core == \p\f ]]
++ shift
++ [[ i2c_core == \d\s\t\r ]]
++ shift
++ [[ i2c_core == \a\t\e\n ]]
++ shift
++ [[ i2c_core == \k\b\i\c ]]
++ shift
++ [[ i2c_core == \f\i\t\2 ]]
++ shift
++ [[ i2c_core == \e\p\i\a ]]
++ shift
++ [[ i2c_core == \c\o\m\m ]]
++ shift
++ [[ i2c_core == \p\a\r\i\d\e ]]
++ shift
++ [[ i2c_core == \f\r\p\w ]]
++ shift
++ [[ i2c_core == \f\r\i\q ]]
++ shift
++ [[ i2c_core == \p\c\d ]]
++ shift
++ [[ i2c_core == \b\p\c\k ]]
++ shift
++ [[ i2c_core == \e\p\a\t ]]
++ shift
++ [[ i2c_core == \p\t ]]
++ shift
++ [[ i2c_core == \k\t\t\i ]]
++ shift
++ [[ i2c_core == \f\i\t\3 ]]
++ shift
++ [[ i2c_core == \o\n\2\6 ]]
++ shift
++ [[ i2c_core == \p\g ]]
++ shift
++ [[ i2c_core == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ i2c_core == \s\x\8 ]]
++ shift
++ [[ i2c_core == \a\o\e ]]
++ shift
++ [[ i2c_core == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ i2c_core == \p\k\t\c\d\v\d ]]
++ shift
++ [[ i2c_core == \d\r\b\d ]]
++ shift
++ [[ i2c_core == \c\c\i\s\s ]]
++ shift
++ [[ i2c_core == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ i2c_core == \u\m\e\m ]]
++ shift
++ [[ i2c_core == \x\e\n\-\b\l\k\b\a\c\k ]]
++ shift
++ [[ i2c_core == \n\b\d ]]
++ shift
++ [[ i2c_core == \l\o\o\p ]]
++ shift
++ [[ i2c_core == \D\A\C\9\6\0 ]]
++ 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\-\c\o\r\e ]]
++ shift
++ [[ i2c_core == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ i2c_core == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ i2c_core == \n\o\s\y ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\m\p\i\i\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\r\z\1\0\0\0 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ i2c_core == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_core == \l\i\b\a\h\c\i ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\n\v ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\n\s\8\7\4\1\0 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\r\a\s\a\n\_\c\f ]]
++ shift
++ [[ i2c_core == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\i\c\c\o\l\o ]]
++ 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\_\r\d\c ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ i2c_core == \l\i\b\a\t\a ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\n\s\8\7\4\1\5 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\t\r\i\f\l\e\x ]]
++ shift
++ [[ i2c_core == \a\c\a\r\d\-\a\h\c\i ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\m\v ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\s\c\1\2\0\0 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\e\f\a\r ]]
++ shift
++ [[ i2c_core == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\c\s\5\5\3\0 ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\c\s\5\5\2\0 ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ i2c_core == \a\h\c\i ]]
++ shift
++ [[ i2c_core == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ i2c_core == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ i2c_core == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i2c_core == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ i2c_core == \r\a\i\d\4\5\6 ]]
++ 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\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ i2c_core == \d\m\-\m\o\d ]]
++ shift
++ [[ i2c_core == \l\i\n\e\a\r ]]
++ shift
++ [[ i2c_core == \d\m\-\l\o\g ]]
++ shift
++ [[ i2c_core == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ i2c_core == \f\a\u\l\t\y ]]
++ shift
++ [[ i2c_core == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ i2c_core == \r\a\i\d\1 ]]
++ shift
++ [[ i2c_core == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ i2c_core == \d\m\-\z\e\r\o ]]
++ shift
++ [[ i2c_core == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ i2c_core == \d\m\-\r\a\i\d ]]
++ shift
++ [[ i2c_core == \m\d\-\m\o\d ]]
++ shift
++ [[ i2c_core == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ i2c_core == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ i2c_core == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ i2c_core == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ i2c_core == \r\a\i\d\1\0 ]]
++ shift
++ [[ i2c_core == \r\a\i\d\0 ]]
++ shift
++ [[ i2c_core == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ i2c_core == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ i2c_core == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ i2c_core == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ i2c_core == \i\2\o\_\b\u\s ]]
++ shift
++ [[ i2c_core == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ i2c_core == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ i2c_core == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ i2c_core == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ i2c_core == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ i2c_core == \m\p\t\c\t\l ]]
++ shift
++ [[ i2c_core == \m\p\t\f\c ]]
++ shift
++ [[ i2c_core == \m\p\t\s\p\i ]]
++ shift
++ [[ i2c_core == \m\p\t\l\a\n ]]
++ shift
++ [[ i2c_core == \m\p\t\b\a\s\e ]]
++ shift
++ [[ i2c_core == \m\p\t\s\a\s ]]
++ shift
++ [[ i2c_core == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ i2c_core == \i\m\m ]]
++ shift
++ [[ i2c_core == \q\l\a\4\x\x\x ]]
++ shift
++ [[ i2c_core == \a\i\c\7\x\x\x ]]
++ shift
++ [[ i2c_core == \a\i\c\7\9\x\x ]]
++ shift
++ [[ i2c_core == \l\p\f\c ]]
++ shift
++ [[ i2c_core == \b\f\a ]]
++ shift
++ [[ i2c_core == \a\a\c\r\a\i\d ]]
++ shift
++ [[ i2c_core == \e\a\t\a ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ i2c_core == \B\u\s\L\o\g\i\c ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ i2c_core == \s\e\s ]]
++ shift
++ [[ i2c_core == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ i2c_core == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ i2c_core == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_core == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ i2c_core == \s\t\e\x ]]
++ shift
++ [[ i2c_core == \o\s\d ]]
++ shift
++ [[ i2c_core == \l\i\b\o\s\d ]]
++ shift
++ [[ i2c_core == \a\h\a\1\5\2\x\_\c\s ]]
++ shift
++ [[ i2c_core == \q\l\o\g\i\c\_\c\s ]]
++ shift
++ [[ i2c_core == \f\d\o\m\a\i\n\_\c\s ]]
++ shift
++ [[ i2c_core == \s\y\m\5\3\c\5\0\0\_\c\s ]]
++ shift
++ [[ i2c_core == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ i2c_core == \s\g ]]
++ shift
++ [[ i2c_core == \a\i\c\9\4\x\x ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ i2c_core == \a\1\0\0\u\2\w ]]
++ 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 == \f\n\i\c ]]
++ shift
++ [[ i2c_core == \r\a\i\d\_\c\l\a\s\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\_\s\a\s ]]
++ shift
++ [[ i2c_core == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ i2c_core == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ i2c_core == \l\i\b\f\c ]]
++ shift
++ [[ i2c_core == \i\p\r ]]
++ shift
++ [[ i2c_core == \m\v\s\a\s ]]
++ shift
++ [[ i2c_core == \o\s\s\t ]]
++ shift
++ [[ i2c_core == \3\w\-\s\a\s ]]
++ shift
++ [[ i2c_core == \3\w\-\9\x\x\x ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ i2c_core == \m\p\t\2\s\a\s ]]
++ shift
++ [[ i2c_core == \l\i\b\s\a\s ]]
++ shift
++ [[ i2c_core == \d\p\t\_\i\2\o ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ i2c_core == \p\p\a ]]
++ shift
++ [[ i2c_core == \m\v\u\m\i ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ i2c_core == \t\m\s\c\s\i\m ]]
++ shift
++ [[ i2c_core == \a\r\c\m\s\r ]]
++ shift
++ [[ i2c_core == \i\s\c\i ]]
++ shift
++ [[ i2c_core == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ i2c_core == \b\n\x\2\i ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ i2c_core == \i\n\i\t\i\o ]]
++ shift
++ [[ i2c_core == \p\m\c\r\a\i\d ]]
++ shift
++ [[ i2c_core == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ i2c_core == \a\d\v\a\n\s\y\s ]]
++ shift
++ [[ i2c_core == \h\p\t\i\o\p ]]
++ shift
++ [[ i2c_core == \h\p\s\a ]]
++ shift
++ [[ i2c_core == \s\d\_\m\o\d ]]
++ shift
++ [[ i2c_core == \l\i\b\f\c\o\e ]]
++ shift
++ [[ i2c_core == \f\c\o\e ]]
++ shift
++ [[ i2c_core == \p\m\8\0\0\1 ]]
++ shift
++ [[ i2c_core == \f\d\o\m\a\i\n ]]
++ shift
++ [[ i2c_core == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ i2c_core == \b\n\x\2\f\c ]]
++ shift
++ [[ i2c_core == \d\m\x\3\1\9\1\d ]]
++ shift
++ [[ i2c_core == \s\r\_\m\o\d ]]
++ shift
++ [[ i2c_core == \3\w\-\x\x\x\x ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ i2c_core == \q\l\o\g\i\c\f\a\s\4\0\8 ]]
++ shift
++ [[ i2c_core == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ i2c_core == \a\t\p\8\7\0\u ]]
++ shift
++ [[ i2c_core == \q\l\a\2\x\x\x ]]
++ shift
++ [[ i2c_core == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ i2c_core == \c\h ]]
++ shift
++ [[ i2c_core == \g\d\t\h ]]
++ shift
++ [[ i2c_core == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ i2c_core == \l\i\b\s\r\p ]]
++ shift
++ [[ i2c_core == \d\c\3\9\5\x ]]
++ shift
++ [[ i2c_core == \i\p\s ]]
++ shift
++ [[ i2c_core == \s\t ]]
++ shift
++ [[ i2c_core == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ i2c_core == \u\m\s\-\r\e\a\l\t\e\k ]]
++ shift
++ [[ i2c_core == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ i2c_core == \u\m\s\-\e\n\e\u\b\6\2\5\0 ]]
++ 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\-\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\-\a\l\a\u\d\a ]]
++ shift
++ [[ i2c_core == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ i2c_core == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ i2c_core == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ i2c_core == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ i2c_core == '' ]]
++ shift
++ return 1
++ read module junk
++ IsInArray libata brd rbd osdblk on20 pd pf dstr aten kbic fit2 epia comm paride frpw friq pcd bpck epat pt ktti fit3 on26 pg virtio_blk sx8 aoe xen-blkfront pktcdvd drbd cciss cpqarray umem xen-blkback nbd loop DAC960 floppy firewire-sbp2 firewire-core firewire-ohci firewire-net nosy pata_it8213 pata_mpiix pata_hpt366 pata_rz1000 pata_ali pdc_adma sata_via libahci pata_sil680 sata_inic162x pata_pdc2027x pata_pcmcia pata_ninja32 sata_nv pata_jmicron sata_sx4 pata_ns87410 pata_arasan_cf ata_piix pata_netcell pata_sis pata_via pata_piccolo pata_serverworks pata_rdc pata_amd sata_promise sata_sil24 pata_oldpiix pata_sch libata pata_cmd64x sata_sil pata_hpt37x pata_ns87415 pata_triflex acard-ahci sata_vsc pata_atp867x sata_mv pata_pdc202xx_old pata_sc1200 pata_artop pata_efar ata_generic pata_marvell pata_cs5530 pata_cs5520 sata_uli pata_atiixp sata_qstor ahci pata_it821x sata_sis sata_svw dm-multipath dm-delay raid456 dm-persistent-data dm-round-robin dm-mod linear dm-log dm-region-hash faulty dm-thin-pool raid1 multipath dm-zero dm-snapshot dm-raid md-mod dm-bufio dm-crypt dm-queue-length dm-mirror raid10 raid0 dm-log-userspace dm-flakey dm-service-time i2o_block i2o_bus i2o_proc i2o_scsi i2o_core i2o_config mptscsih mptctl mptfc mptspi mptlan mptbase mptsas vmw_pvscsi imm qla4xxx aic7xxx aic79xx lpfc bfa aacraid eata scsi_transport_srp scsi_wait_scan BusLogic scsi_tgt ses aic7xxx_old iscsi_boot_sysfs libiscsi_tcp iscsi_tcp stex osd libosd aha152x_cs qlogic_cs fdomain_cs sym53c500_cs sym53c8xx sg aic94xx scsi_transport_sas a100u2w cxgb4i libcxgbi cxgb3i fnic raid_class megaraid_mm megaraid_sas megaraid_mbox libiscsi libfc ipr mvsas osst 3w-sas 3w-9xxx scsi_dh_emc scsi_dh_alua scsi_dh scsi_dh_hp_sw scsi_dh_rdac mpt2sas libsas dpt_i2o scsi_transport_fc ppa mvumi scsi_debug tmscsim arcmsr isci be2iscsi bnx2i scsi_transport_spi initio pmcraid qla1280 advansys hptiop hpsa sd_mod libfcoe fcoe pm8001 fdomain virtio_scsi bnx2fc dmx3191d sr_mod 3w-xxxx scsi_transport_iscsi qlogicfas408 scsi_mod atp870u qla2xxx megaraid ch gdth hv_storvsc libsrp dc395x ips st ums-jumpshot ums-realtek usb-storage ums-eneub6250 ums-usbat ums-sddr55 ums-sddr09 ums-freecom ums-onetouch ums-alauda ums-isd200 ums-karma ums-cypress ums-datafab
++ local needle=libata
++ shift
++ [[ libata == \b\r\d ]]
++ shift
++ [[ libata == \r\b\d ]]
++ shift
++ [[ libata == \o\s\d\b\l\k ]]
++ shift
++ [[ libata == \o\n\2\0 ]]
++ shift
++ [[ libata == \p\d ]]
++ shift
++ [[ libata == \p\f ]]
++ shift
++ [[ libata == \d\s\t\r ]]
++ shift
++ [[ libata == \a\t\e\n ]]
++ shift
++ [[ libata == \k\b\i\c ]]
++ shift
++ [[ libata == \f\i\t\2 ]]
++ shift
++ [[ libata == \e\p\i\a ]]
++ shift
++ [[ libata == \c\o\m\m ]]
++ shift
++ [[ libata == \p\a\r\i\d\e ]]
++ shift
++ [[ libata == \f\r\p\w ]]
++ shift
++ [[ libata == \f\r\i\q ]]
++ shift
++ [[ libata == \p\c\d ]]
++ shift
++ [[ libata == \b\p\c\k ]]
++ shift
++ [[ libata == \e\p\a\t ]]
++ shift
++ [[ libata == \p\t ]]
++ shift
++ [[ libata == \k\t\t\i ]]
++ shift
++ [[ libata == \f\i\t\3 ]]
++ shift
++ [[ libata == \o\n\2\6 ]]
++ shift
++ [[ libata == \p\g ]]
++ shift
++ [[ libata == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ libata == \s\x\8 ]]
++ shift
++ [[ libata == \a\o\e ]]
++ shift
++ [[ libata == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ libata == \p\k\t\c\d\v\d ]]
++ shift
++ [[ libata == \d\r\b\d ]]
++ shift
++ [[ libata == \c\c\i\s\s ]]
++ shift
++ [[ libata == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ libata == \u\m\e\m ]]
++ shift
++ [[ libata == \x\e\n\-\b\l\k\b\a\c\k ]]
++ shift
++ [[ libata == \n\b\d ]]
++ shift
++ [[ libata == \l\o\o\p ]]
++ shift
++ [[ libata == \D\A\C\9\6\0 ]]
++ shift
++ [[ libata == \f\l\o\p\p\y ]]
++ shift
++ [[ libata == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ libata == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ libata == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ libata == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ libata == \n\o\s\y ]]
++ shift
++ [[ libata == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ libata == \p\a\t\a\_\m\p\i\i\x ]]
++ shift
++ [[ libata == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ libata == \p\a\t\a\_\r\z\1\0\0\0 ]]
++ shift
++ [[ libata == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ libata == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ libata == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ libata == \l\i\b\a\h\c\i ]]
++ shift
++ [[ libata == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ libata == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ libata == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ libata == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ libata == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ libata == \s\a\t\a\_\n\v ]]
++ shift
++ [[ libata == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ libata == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ libata == \p\a\t\a\_\n\s\8\7\4\1\0 ]]
++ shift
++ [[ libata == \p\a\t\a\_\a\r\a\s\a\n\_\c\f ]]
++ shift
++ [[ libata == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ libata == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ libata == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ libata == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ libata == \p\a\t\a\_\p\i\c\c\o\l\o ]]
++ shift
++ [[ libata == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ libata == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ libata == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ libata == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ libata == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ libata == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ libata == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ libata == \l\i\b\a\t\a ]]
++ return 0
++ echo libata
++ read module junk
++ IsInArray scsi_mod brd rbd osdblk on20 pd pf dstr aten kbic fit2 epia comm paride frpw friq pcd bpck epat pt ktti fit3 on26 pg virtio_blk sx8 aoe xen-blkfront pktcdvd drbd cciss cpqarray umem xen-blkback nbd loop DAC960 floppy firewire-sbp2 firewire-core firewire-ohci firewire-net nosy pata_it8213 pata_mpiix pata_hpt366 pata_rz1000 pata_ali pdc_adma sata_via libahci pata_sil680 sata_inic162x pata_pdc2027x pata_pcmcia pata_ninja32 sata_nv pata_jmicron sata_sx4 pata_ns87410 pata_arasan_cf ata_piix pata_netcell pata_sis pata_via pata_piccolo pata_serverworks pata_rdc pata_amd sata_promise sata_sil24 pata_oldpiix pata_sch libata pata_cmd64x sata_sil pata_hpt37x pata_ns87415 pata_triflex acard-ahci sata_vsc pata_atp867x sata_mv pata_pdc202xx_old pata_sc1200 pata_artop pata_efar ata_generic pata_marvell pata_cs5530 pata_cs5520 sata_uli pata_atiixp sata_qstor ahci pata_it821x sata_sis sata_svw dm-multipath dm-delay raid456 dm-persistent-data dm-round-robin dm-mod linear dm-log dm-region-hash faulty dm-thin-pool raid1 multipath dm-zero dm-snapshot dm-raid md-mod dm-bufio dm-crypt dm-queue-length dm-mirror raid10 raid0 dm-log-userspace dm-flakey dm-service-time i2o_block i2o_bus i2o_proc i2o_scsi i2o_core i2o_config mptscsih mptctl mptfc mptspi mptlan mptbase mptsas vmw_pvscsi imm qla4xxx aic7xxx aic79xx lpfc bfa aacraid eata scsi_transport_srp scsi_wait_scan BusLogic scsi_tgt ses aic7xxx_old iscsi_boot_sysfs libiscsi_tcp iscsi_tcp stex osd libosd aha152x_cs qlogic_cs fdomain_cs sym53c500_cs sym53c8xx sg aic94xx scsi_transport_sas a100u2w cxgb4i libcxgbi cxgb3i fnic raid_class megaraid_mm megaraid_sas megaraid_mbox libiscsi libfc ipr mvsas osst 3w-sas 3w-9xxx scsi_dh_emc scsi_dh_alua scsi_dh scsi_dh_hp_sw scsi_dh_rdac mpt2sas libsas dpt_i2o scsi_transport_fc ppa mvumi scsi_debug tmscsim arcmsr isci be2iscsi bnx2i scsi_transport_spi initio pmcraid qla1280 advansys hptiop hpsa sd_mod libfcoe fcoe pm8001 fdomain virtio_scsi bnx2fc dmx3191d sr_mod 3w-xxxx scsi_transport_iscsi qlogicfas408 scsi_mod atp870u qla2xxx megaraid ch gdth hv_storvsc libsrp dc395x ips st ums-jumpshot ums-realtek usb-storage ums-eneub6250 ums-usbat ums-sddr55 ums-sddr09 ums-freecom ums-onetouch ums-alauda ums-isd200 ums-karma ums-cypress ums-datafab
++ local needle=scsi_mod
++ shift
++ [[ scsi_mod == \b\r\d ]]
++ shift
++ [[ scsi_mod == \r\b\d ]]
++ shift
++ [[ scsi_mod == \o\s\d\b\l\k ]]
++ shift
++ [[ scsi_mod == \o\n\2\0 ]]
++ shift
++ [[ scsi_mod == \p\d ]]
++ shift
++ [[ scsi_mod == \p\f ]]
++ shift
++ [[ scsi_mod == \d\s\t\r ]]
++ shift
++ [[ scsi_mod == \a\t\e\n ]]
++ shift
++ [[ scsi_mod == \k\b\i\c ]]
++ shift
++ [[ scsi_mod == \f\i\t\2 ]]
++ shift
++ [[ scsi_mod == \e\p\i\a ]]
++ shift
++ [[ scsi_mod == \c\o\m\m ]]
++ shift
++ [[ scsi_mod == \p\a\r\i\d\e ]]
++ shift
++ [[ scsi_mod == \f\r\p\w ]]
++ shift
++ [[ scsi_mod == \f\r\i\q ]]
++ shift
++ [[ scsi_mod == \p\c\d ]]
++ shift
++ [[ scsi_mod == \b\p\c\k ]]
++ shift
++ [[ scsi_mod == \e\p\a\t ]]
++ shift
++ [[ scsi_mod == \p\t ]]
++ shift
++ [[ scsi_mod == \k\t\t\i ]]
++ shift
++ [[ scsi_mod == \f\i\t\3 ]]
++ shift
++ [[ scsi_mod == \o\n\2\6 ]]
++ shift
++ [[ scsi_mod == \p\g ]]
++ shift
++ [[ scsi_mod == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ scsi_mod == \s\x\8 ]]
++ shift
++ [[ scsi_mod == \a\o\e ]]
++ shift
++ [[ scsi_mod == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ scsi_mod == \p\k\t\c\d\v\d ]]
++ shift
++ [[ scsi_mod == \d\r\b\d ]]
++ shift
++ [[ scsi_mod == \c\c\i\s\s ]]
++ shift
++ [[ scsi_mod == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ scsi_mod == \u\m\e\m ]]
++ shift
++ [[ scsi_mod == \x\e\n\-\b\l\k\b\a\c\k ]]
++ shift
++ [[ scsi_mod == \n\b\d ]]
++ shift
++ [[ scsi_mod == \l\o\o\p ]]
++ shift
++ [[ scsi_mod == \D\A\C\9\6\0 ]]
++ shift
++ [[ scsi_mod == \f\l\o\p\p\y ]]
++ shift
++ [[ scsi_mod == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ scsi_mod == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ scsi_mod == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ scsi_mod == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ scsi_mod == \n\o\s\y ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\m\p\i\i\x ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\r\z\1\0\0\0 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ scsi_mod == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ scsi_mod == \l\i\b\a\h\c\i ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\n\v ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\n\s\8\7\4\1\0 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\a\r\a\s\a\n\_\c\f ]]
++ shift
++ [[ scsi_mod == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\p\i\c\c\o\l\o ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ scsi_mod == \l\i\b\a\t\a ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\n\s\8\7\4\1\5 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\t\r\i\f\l\e\x ]]
++ shift
++ [[ scsi_mod == \a\c\a\r\d\-\a\h\c\i ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\m\v ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\s\c\1\2\0\0 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\e\f\a\r ]]
++ shift
++ [[ scsi_mod == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\c\s\5\5\3\0 ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\c\s\5\5\2\0 ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ scsi_mod == \a\h\c\i ]]
++ shift
++ [[ scsi_mod == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ scsi_mod == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ scsi_mod == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ scsi_mod == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ scsi_mod == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ scsi_mod == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ scsi_mod == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ scsi_mod == \d\m\-\m\o\d ]]
++ shift
++ [[ scsi_mod == \l\i\n\e\a\r ]]
++ shift
++ [[ scsi_mod == \d\m\-\l\o\g ]]
++ shift
++ [[ scsi_mod == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ scsi_mod == \f\a\u\l\t\y ]]
++ shift
++ [[ scsi_mod == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ scsi_mod == \r\a\i\d\1 ]]
++ shift
++ [[ scsi_mod == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ scsi_mod == \d\m\-\z\e\r\o ]]
++ shift
++ [[ scsi_mod == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ scsi_mod == \d\m\-\r\a\i\d ]]
++ shift
++ [[ scsi_mod == \m\d\-\m\o\d ]]
++ shift
++ [[ scsi_mod == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ scsi_mod == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ scsi_mod == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ scsi_mod == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ scsi_mod == \r\a\i\d\1\0 ]]
++ shift
++ [[ scsi_mod == \r\a\i\d\0 ]]
++ shift
++ [[ scsi_mod == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ scsi_mod == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ scsi_mod == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\b\u\s ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ scsi_mod == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ scsi_mod == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ scsi_mod == \m\p\t\c\t\l ]]
++ shift
++ [[ scsi_mod == \m\p\t\f\c ]]
++ shift
++ [[ scsi_mod == \m\p\t\s\p\i ]]
++ shift
++ [[ scsi_mod == \m\p\t\l\a\n ]]
++ shift
++ [[ scsi_mod == \m\p\t\b\a\s\e ]]
++ shift
++ [[ scsi_mod == \m\p\t\s\a\s ]]
++ shift
++ [[ scsi_mod == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ scsi_mod == \i\m\m ]]
++ shift
++ [[ scsi_mod == \q\l\a\4\x\x\x ]]
++ shift
++ [[ scsi_mod == \a\i\c\7\x\x\x ]]
++ shift
++ [[ scsi_mod == \a\i\c\7\9\x\x ]]
++ shift
++ [[ scsi_mod == \l\p\f\c ]]
++ shift
++ [[ scsi_mod == \b\f\a ]]
++ shift
++ [[ scsi_mod == \a\a\c\r\a\i\d ]]
++ shift
++ [[ scsi_mod == \e\a\t\a ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ scsi_mod == \B\u\s\L\o\g\i\c ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ scsi_mod == \s\e\s ]]
++ shift
++ [[ scsi_mod == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ scsi_mod == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ scsi_mod == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ scsi_mod == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ scsi_mod == \s\t\e\x ]]
++ shift
++ [[ scsi_mod == \o\s\d ]]
++ shift
++ [[ scsi_mod == \l\i\b\o\s\d ]]
++ shift
++ [[ scsi_mod == \a\h\a\1\5\2\x\_\c\s ]]
++ shift
++ [[ scsi_mod == \q\l\o\g\i\c\_\c\s ]]
++ shift
++ [[ scsi_mod == \f\d\o\m\a\i\n\_\c\s ]]
++ shift
++ [[ scsi_mod == \s\y\m\5\3\c\5\0\0\_\c\s ]]
++ shift
++ [[ scsi_mod == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ scsi_mod == \s\g ]]
++ shift
++ [[ scsi_mod == \a\i\c\9\4\x\x ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ scsi_mod == \a\1\0\0\u\2\w ]]
++ shift
++ [[ scsi_mod == \c\x\g\b\4\i ]]
++ shift
++ [[ scsi_mod == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ scsi_mod == \c\x\g\b\3\i ]]
++ shift
++ [[ scsi_mod == \f\n\i\c ]]
++ shift
++ [[ scsi_mod == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ scsi_mod == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ scsi_mod == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ scsi_mod == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ scsi_mod == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ scsi_mod == \l\i\b\f\c ]]
++ shift
++ [[ scsi_mod == \i\p\r ]]
++ shift
++ [[ scsi_mod == \m\v\s\a\s ]]
++ shift
++ [[ scsi_mod == \o\s\s\t ]]
++ shift
++ [[ scsi_mod == \3\w\-\s\a\s ]]
++ shift
++ [[ scsi_mod == \3\w\-\9\x\x\x ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\d\h ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ scsi_mod == \m\p\t\2\s\a\s ]]
++ shift
++ [[ scsi_mod == \l\i\b\s\a\s ]]
++ shift
++ [[ scsi_mod == \d\p\t\_\i\2\o ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ scsi_mod == \p\p\a ]]
++ shift
++ [[ scsi_mod == \m\v\u\m\i ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ scsi_mod == \t\m\s\c\s\i\m ]]
++ shift
++ [[ scsi_mod == \a\r\c\m\s\r ]]
++ shift
++ [[ scsi_mod == \i\s\c\i ]]
++ shift
++ [[ scsi_mod == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ scsi_mod == \b\n\x\2\i ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ scsi_mod == \i\n\i\t\i\o ]]
++ shift
++ [[ scsi_mod == \p\m\c\r\a\i\d ]]
++ shift
++ [[ scsi_mod == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ scsi_mod == \a\d\v\a\n\s\y\s ]]
++ shift
++ [[ scsi_mod == \h\p\t\i\o\p ]]
++ shift
++ [[ scsi_mod == \h\p\s\a ]]
++ shift
++ [[ scsi_mod == \s\d\_\m\o\d ]]
++ shift
++ [[ scsi_mod == \l\i\b\f\c\o\e ]]
++ shift
++ [[ scsi_mod == \f\c\o\e ]]
++ shift
++ [[ scsi_mod == \p\m\8\0\0\1 ]]
++ shift
++ [[ scsi_mod == \f\d\o\m\a\i\n ]]
++ shift
++ [[ scsi_mod == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ scsi_mod == \b\n\x\2\f\c ]]
++ shift
++ [[ scsi_mod == \d\m\x\3\1\9\1\d ]]
++ shift
++ [[ scsi_mod == \s\r\_\m\o\d ]]
++ shift
++ [[ scsi_mod == \3\w\-\x\x\x\x ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ scsi_mod == \q\l\o\g\i\c\f\a\s\4\0\8 ]]
++ shift
++ [[ scsi_mod == \s\c\s\i\_\m\o\d ]]
++ return 0
++ echo scsi_mod
++ read module junk
++ IsInArray shpchp brd rbd osdblk on20 pd pf dstr aten kbic fit2 epia comm paride frpw friq pcd bpck epat pt ktti fit3 on26 pg virtio_blk sx8 aoe xen-blkfront pktcdvd drbd cciss cpqarray umem xen-blkback nbd loop DAC960 floppy firewire-sbp2 firewire-core firewire-ohci firewire-net nosy pata_it8213 pata_mpiix pata_hpt366 pata_rz1000 pata_ali pdc_adma sata_via libahci pata_sil680 sata_inic162x pata_pdc2027x pata_pcmcia pata_ninja32 sata_nv pata_jmicron sata_sx4 pata_ns87410 pata_arasan_cf ata_piix pata_netcell pata_sis pata_via pata_piccolo pata_serverworks pata_rdc pata_amd sata_promise sata_sil24 pata_oldpiix pata_sch libata pata_cmd64x sata_sil pata_hpt37x pata_ns87415 pata_triflex acard-ahci sata_vsc pata_atp867x sata_mv pata_pdc202xx_old pata_sc1200 pata_artop pata_efar ata_generic pata_marvell pata_cs5530 pata_cs5520 sata_uli pata_atiixp sata_qstor ahci pata_it821x sata_sis sata_svw dm-multipath dm-delay raid456 dm-persistent-data dm-round-robin dm-mod linear dm-log dm-region-hash faulty dm-thin-pool raid1 multipath dm-zero dm-snapshot dm-raid md-mod dm-bufio dm-crypt dm-queue-length dm-mirror raid10 raid0 dm-log-userspace dm-flakey dm-service-time i2o_block i2o_bus i2o_proc i2o_scsi i2o_core i2o_config mptscsih mptctl mptfc mptspi mptlan mptbase mptsas vmw_pvscsi imm qla4xxx aic7xxx aic79xx lpfc bfa aacraid eata scsi_transport_srp scsi_wait_scan BusLogic scsi_tgt ses aic7xxx_old iscsi_boot_sysfs libiscsi_tcp iscsi_tcp stex osd libosd aha152x_cs qlogic_cs fdomain_cs sym53c500_cs sym53c8xx sg aic94xx scsi_transport_sas a100u2w cxgb4i libcxgbi cxgb3i fnic raid_class megaraid_mm megaraid_sas megaraid_mbox libiscsi libfc ipr mvsas osst 3w-sas 3w-9xxx scsi_dh_emc scsi_dh_alua scsi_dh scsi_dh_hp_sw scsi_dh_rdac mpt2sas libsas dpt_i2o scsi_transport_fc ppa mvumi scsi_debug tmscsim arcmsr isci be2iscsi bnx2i scsi_transport_spi initio pmcraid qla1280 advansys hptiop hpsa sd_mod libfcoe fcoe pm8001 fdomain virtio_scsi bnx2fc dmx3191d sr_mod 3w-xxxx scsi_transport_iscsi qlogicfas408 scsi_mod atp870u qla2xxx megaraid ch gdth hv_storvsc libsrp dc395x ips st ums-jumpshot ums-realtek usb-storage ums-eneub6250 ums-usbat ums-sddr55 ums-sddr09 ums-freecom ums-onetouch ums-alauda ums-isd200 ums-karma ums-cypress ums-datafab
++ local needle=shpchp
++ shift
++ [[ shpchp == \b\r\d ]]
++ shift
++ [[ shpchp == \r\b\d ]]
++ shift
++ [[ shpchp == \o\s\d\b\l\k ]]
++ shift
++ [[ shpchp == \o\n\2\0 ]]
++ shift
++ [[ shpchp == \p\d ]]
++ shift
++ [[ shpchp == \p\f ]]
++ shift
++ [[ shpchp == \d\s\t\r ]]
++ shift
++ [[ shpchp == \a\t\e\n ]]
++ shift
++ [[ shpchp == \k\b\i\c ]]
++ shift
++ [[ shpchp == \f\i\t\2 ]]
++ shift
++ [[ shpchp == \e\p\i\a ]]
++ shift
++ [[ shpchp == \c\o\m\m ]]
++ shift
++ [[ shpchp == \p\a\r\i\d\e ]]
++ shift
++ [[ shpchp == \f\r\p\w ]]
++ shift
++ [[ shpchp == \f\r\i\q ]]
++ shift
++ [[ shpchp == \p\c\d ]]
++ shift
++ [[ shpchp == \b\p\c\k ]]
++ shift
++ [[ shpchp == \e\p\a\t ]]
++ shift
++ [[ shpchp == \p\t ]]
++ shift
++ [[ shpchp == \k\t\t\i ]]
++ shift
++ [[ shpchp == \f\i\t\3 ]]
++ shift
++ [[ shpchp == \o\n\2\6 ]]
++ shift
++ [[ shpchp == \p\g ]]
++ shift
++ [[ shpchp == \v\i\r\t\i\o\_\b\l\k ]]
++ shift
++ [[ shpchp == \s\x\8 ]]
++ shift
++ [[ shpchp == \a\o\e ]]
++ shift
++ [[ shpchp == \x\e\n\-\b\l\k\f\r\o\n\t ]]
++ shift
++ [[ shpchp == \p\k\t\c\d\v\d ]]
++ shift
++ [[ shpchp == \d\r\b\d ]]
++ shift
++ [[ shpchp == \c\c\i\s\s ]]
++ shift
++ [[ shpchp == \c\p\q\a\r\r\a\y ]]
++ shift
++ [[ shpchp == \u\m\e\m ]]
++ shift
++ [[ shpchp == \x\e\n\-\b\l\k\b\a\c\k ]]
++ shift
++ [[ shpchp == \n\b\d ]]
++ shift
++ [[ shpchp == \l\o\o\p ]]
++ shift
++ [[ shpchp == \D\A\C\9\6\0 ]]
++ shift
++ [[ shpchp == \f\l\o\p\p\y ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\s\b\p\2 ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\c\o\r\e ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\o\h\c\i ]]
++ shift
++ [[ shpchp == \f\i\r\e\w\i\r\e\-\n\e\t ]]
++ shift
++ [[ shpchp == \n\o\s\y ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\i\t\8\2\1\3 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\m\p\i\i\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\h\p\t\3\6\6 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\r\z\1\0\0\0 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\l\i ]]
++ shift
++ [[ shpchp == \p\d\c\_\a\d\m\a ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\v\i\a ]]
++ shift
++ [[ shpchp == \l\i\b\a\h\c\i ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\i\l\6\8\0 ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\i\n\i\c\1\6\2\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\p\d\c\2\0\2\7\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\p\c\m\c\i\a ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\n\i\n\j\a\3\2 ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\n\v ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\j\m\i\c\r\o\n ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\x\4 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\n\s\8\7\4\1\0 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\r\a\s\a\n\_\c\f ]]
++ shift
++ [[ shpchp == \a\t\a\_\p\i\i\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\n\e\t\c\e\l\l ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\i\s ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\v\i\a ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\p\i\c\c\o\l\o ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\e\r\v\e\r\w\o\r\k\s ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\r\d\c ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\m\d ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\p\r\o\m\i\s\e ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\i\l\2\4 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\o\l\d\p\i\i\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\c\h ]]
++ shift
++ [[ shpchp == \l\i\b\a\t\a ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\c\m\d\6\4\x ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\i\l ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\h\p\t\3\7\x ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\n\s\8\7\4\1\5 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\t\r\i\f\l\e\x ]]
++ shift
++ [[ shpchp == \a\c\a\r\d\-\a\h\c\i ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\v\s\c ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\t\p\8\6\7\x ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\m\v ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\p\d\c\2\0\2\x\x\_\o\l\d ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\s\c\1\2\0\0 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\r\t\o\p ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\e\f\a\r ]]
++ shift
++ [[ shpchp == \a\t\a\_\g\e\n\e\r\i\c ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\m\a\r\v\e\l\l ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\c\s\5\5\3\0 ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\c\s\5\5\2\0 ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\u\l\i ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\a\t\i\i\x\p ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\q\s\t\o\r ]]
++ shift
++ [[ shpchp == \a\h\c\i ]]
++ shift
++ [[ shpchp == \p\a\t\a\_\i\t\8\2\1\x ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\i\s ]]
++ shift
++ [[ shpchp == \s\a\t\a\_\s\v\w ]]
++ shift
++ [[ shpchp == \d\m\-\m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ shpchp == \d\m\-\d\e\l\a\y ]]
++ shift
++ [[ shpchp == \r\a\i\d\4\5\6 ]]
++ shift
++ [[ shpchp == \d\m\-\p\e\r\s\i\s\t\e\n\t\-\d\a\t\a ]]
++ shift
++ [[ shpchp == \d\m\-\r\o\u\n\d\-\r\o\b\i\n ]]
++ shift
++ [[ shpchp == \d\m\-\m\o\d ]]
++ shift
++ [[ shpchp == \l\i\n\e\a\r ]]
++ shift
++ [[ shpchp == \d\m\-\l\o\g ]]
++ shift
++ [[ shpchp == \d\m\-\r\e\g\i\o\n\-\h\a\s\h ]]
++ shift
++ [[ shpchp == \f\a\u\l\t\y ]]
++ shift
++ [[ shpchp == \d\m\-\t\h\i\n\-\p\o\o\l ]]
++ shift
++ [[ shpchp == \r\a\i\d\1 ]]
++ shift
++ [[ shpchp == \m\u\l\t\i\p\a\t\h ]]
++ shift
++ [[ shpchp == \d\m\-\z\e\r\o ]]
++ shift
++ [[ shpchp == \d\m\-\s\n\a\p\s\h\o\t ]]
++ shift
++ [[ shpchp == \d\m\-\r\a\i\d ]]
++ shift
++ [[ shpchp == \m\d\-\m\o\d ]]
++ shift
++ [[ shpchp == \d\m\-\b\u\f\i\o ]]
++ shift
++ [[ shpchp == \d\m\-\c\r\y\p\t ]]
++ shift
++ [[ shpchp == \d\m\-\q\u\e\u\e\-\l\e\n\g\t\h ]]
++ shift
++ [[ shpchp == \d\m\-\m\i\r\r\o\r ]]
++ shift
++ [[ shpchp == \r\a\i\d\1\0 ]]
++ shift
++ [[ shpchp == \r\a\i\d\0 ]]
++ shift
++ [[ shpchp == \d\m\-\l\o\g\-\u\s\e\r\s\p\a\c\e ]]
++ shift
++ [[ shpchp == \d\m\-\f\l\a\k\e\y ]]
++ shift
++ [[ shpchp == \d\m\-\s\e\r\v\i\c\e\-\t\i\m\e ]]
++ shift
++ [[ shpchp == \i\2\o\_\b\l\o\c\k ]]
++ shift
++ [[ shpchp == \i\2\o\_\b\u\s ]]
++ shift
++ [[ shpchp == \i\2\o\_\p\r\o\c ]]
++ shift
++ [[ shpchp == \i\2\o\_\s\c\s\i ]]
++ shift
++ [[ shpchp == \i\2\o\_\c\o\r\e ]]
++ shift
++ [[ shpchp == \i\2\o\_\c\o\n\f\i\g ]]
++ shift
++ [[ shpchp == \m\p\t\s\c\s\i\h ]]
++ shift
++ [[ shpchp == \m\p\t\c\t\l ]]
++ shift
++ [[ shpchp == \m\p\t\f\c ]]
++ shift
++ [[ shpchp == \m\p\t\s\p\i ]]
++ shift
++ [[ shpchp == \m\p\t\l\a\n ]]
++ shift
++ [[ shpchp == \m\p\t\b\a\s\e ]]
++ shift
++ [[ shpchp == \m\p\t\s\a\s ]]
++ shift
++ [[ shpchp == \v\m\w\_\p\v\s\c\s\i ]]
++ shift
++ [[ shpchp == \i\m\m ]]
++ shift
++ [[ shpchp == \q\l\a\4\x\x\x ]]
++ shift
++ [[ shpchp == \a\i\c\7\x\x\x ]]
++ shift
++ [[ shpchp == \a\i\c\7\9\x\x ]]
++ shift
++ [[ shpchp == \l\p\f\c ]]
++ shift
++ [[ shpchp == \b\f\a ]]
++ shift
++ [[ shpchp == \a\a\c\r\a\i\d ]]
++ shift
++ [[ shpchp == \e\a\t\a ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\r\p ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\w\a\i\t\_\s\c\a\n ]]
++ shift
++ [[ shpchp == \B\u\s\L\o\g\i\c ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\g\t ]]
++ shift
++ [[ shpchp == \s\e\s ]]
++ shift
++ [[ shpchp == \a\i\c\7\x\x\x\_\o\l\d ]]
++ shift
++ [[ shpchp == \i\s\c\s\i\_\b\o\o\t\_\s\y\s\f\s ]]
++ shift
++ [[ shpchp == \l\i\b\i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ shpchp == \i\s\c\s\i\_\t\c\p ]]
++ shift
++ [[ shpchp == \s\t\e\x ]]
++ shift
++ [[ shpchp == \o\s\d ]]
++ shift
++ [[ shpchp == \l\i\b\o\s\d ]]
++ shift
++ [[ shpchp == \a\h\a\1\5\2\x\_\c\s ]]
++ shift
++ [[ shpchp == \q\l\o\g\i\c\_\c\s ]]
++ shift
++ [[ shpchp == \f\d\o\m\a\i\n\_\c\s ]]
++ shift
++ [[ shpchp == \s\y\m\5\3\c\5\0\0\_\c\s ]]
++ shift
++ [[ shpchp == \s\y\m\5\3\c\8\x\x ]]
++ shift
++ [[ shpchp == \s\g ]]
++ shift
++ [[ shpchp == \a\i\c\9\4\x\x ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\a\s ]]
++ shift
++ [[ shpchp == \a\1\0\0\u\2\w ]]
++ shift
++ [[ shpchp == \c\x\g\b\4\i ]]
++ shift
++ [[ shpchp == \l\i\b\c\x\g\b\i ]]
++ shift
++ [[ shpchp == \c\x\g\b\3\i ]]
++ shift
++ [[ shpchp == \f\n\i\c ]]
++ shift
++ [[ shpchp == \r\a\i\d\_\c\l\a\s\s ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d\_\m\m ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d\_\s\a\s ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d\_\m\b\o\x ]]
++ shift
++ [[ shpchp == \l\i\b\i\s\c\s\i ]]
++ shift
++ [[ shpchp == \l\i\b\f\c ]]
++ shift
++ [[ shpchp == \i\p\r ]]
++ shift
++ [[ shpchp == \m\v\s\a\s ]]
++ shift
++ [[ shpchp == \o\s\s\t ]]
++ shift
++ [[ shpchp == \3\w\-\s\a\s ]]
++ shift
++ [[ shpchp == \3\w\-\9\x\x\x ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\e\m\c ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\a\l\u\a ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\h\p\_\s\w ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\h\_\r\d\a\c ]]
++ shift
++ [[ shpchp == \m\p\t\2\s\a\s ]]
++ shift
++ [[ shpchp == \l\i\b\s\a\s ]]
++ shift
++ [[ shpchp == \d\p\t\_\i\2\o ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\f\c ]]
++ shift
++ [[ shpchp == \p\p\a ]]
++ shift
++ [[ shpchp == \m\v\u\m\i ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\d\e\b\u\g ]]
++ shift
++ [[ shpchp == \t\m\s\c\s\i\m ]]
++ shift
++ [[ shpchp == \a\r\c\m\s\r ]]
++ shift
++ [[ shpchp == \i\s\c\i ]]
++ shift
++ [[ shpchp == \b\e\2\i\s\c\s\i ]]
++ shift
++ [[ shpchp == \b\n\x\2\i ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\s\p\i ]]
++ shift
++ [[ shpchp == \i\n\i\t\i\o ]]
++ shift
++ [[ shpchp == \p\m\c\r\a\i\d ]]
++ shift
++ [[ shpchp == \q\l\a\1\2\8\0 ]]
++ shift
++ [[ shpchp == \a\d\v\a\n\s\y\s ]]
++ shift
++ [[ shpchp == \h\p\t\i\o\p ]]
++ shift
++ [[ shpchp == \h\p\s\a ]]
++ shift
++ [[ shpchp == \s\d\_\m\o\d ]]
++ shift
++ [[ shpchp == \l\i\b\f\c\o\e ]]
++ shift
++ [[ shpchp == \f\c\o\e ]]
++ shift
++ [[ shpchp == \p\m\8\0\0\1 ]]
++ shift
++ [[ shpchp == \f\d\o\m\a\i\n ]]
++ shift
++ [[ shpchp == \v\i\r\t\i\o\_\s\c\s\i ]]
++ shift
++ [[ shpchp == \b\n\x\2\f\c ]]
++ shift
++ [[ shpchp == \d\m\x\3\1\9\1\d ]]
++ shift
++ [[ shpchp == \s\r\_\m\o\d ]]
++ shift
++ [[ shpchp == \3\w\-\x\x\x\x ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\t\r\a\n\s\p\o\r\t\_\i\s\c\s\i ]]
++ shift
++ [[ shpchp == \q\l\o\g\i\c\f\a\s\4\0\8 ]]
++ shift
++ [[ shpchp == \s\c\s\i\_\m\o\d ]]
++ shift
++ [[ shpchp == \a\t\p\8\7\0\u ]]
++ shift
++ [[ shpchp == \q\l\a\2\x\x\x ]]
++ shift
++ [[ shpchp == \m\e\g\a\r\a\i\d ]]
++ shift
++ [[ shpchp == \c\h ]]
++ shift
++ [[ shpchp == \g\d\t\h ]]
++ shift
++ [[ shpchp == \h\v\_\s\t\o\r\v\s\c ]]
++ shift
++ [[ shpchp == \l\i\b\s\r\p ]]
++ shift
++ [[ shpchp == \d\c\3\9\5\x ]]
++ shift
++ [[ shpchp == \i\p\s ]]
++ shift
++ [[ shpchp == \s\t ]]
++ shift
++ [[ shpchp == \u\m\s\-\j\u\m\p\s\h\o\t ]]
++ shift
++ [[ shpchp == \u\m\s\-\r\e\a\l\t\e\k ]]
++ shift
++ [[ shpchp == \u\s\b\-\s\t\o\r\a\g\e ]]
++ shift
++ [[ shpchp == \u\m\s\-\e\n\e\u\b\6\2\5\0 ]]
++ shift
++ [[ shpchp == \u\m\s\-\u\s\b\a\t ]]
++ shift
++ [[ shpchp == \u\m\s\-\s\d\d\r\5\5 ]]
++ shift
++ [[ shpchp == \u\m\s\-\s\d\d\r\0\9 ]]
++ shift
++ [[ shpchp == \u\m\s\-\f\r\e\e\c\o\m ]]
++ shift
++ [[ shpchp == \u\m\s\-\o\n\e\t\o\u\c\h ]]
++ shift
++ [[ shpchp == \u\m\s\-\a\l\a\u\d\a ]]
++ shift
++ [[ shpchp == \u\m\s\-\i\s\d\2\0\0 ]]
++ shift
++ [[ shpchp == \u\m\s\-\k\a\r\m\a ]]
++ shift
++ [[ shpchp == \u\m\s\-\c\y\p\r\e\s\s ]]
++ shift
++ [[ shpchp == \u\m\s\-\d\a\t\a\f\a\b ]]
++ shift
++ [[ shpchp == '' ]]
++ shift
++ return 1
++ read module junk
++ find /tmp/rear.eOwfN97I2KNNYF8/tmp/dev -name storage_drivers -exec cat '{}' ';'
find: `/tmp/rear.eOwfN97I2KNNYF8/tmp/dev': No such file or directory
++ return 0
++ diff /var/lib/rear/recovery/storage_drivers /tmp/rear.eOwfN97I2KNNYF8/tmp/storage_drivers
6d5
< mptsas
7a7
> mptspi
9c9
< scsi_transport_sas
---
> scsi_transport_spi
++ have_udev
++ local relpath=
++ shift
++ '[' -d /etc/udev/rules.d ']'
++ has_binary udevadm udevstart udevtrigger
++ for bin in '$@'
++ type udevadm
++ return 0
++ return 0
++ LogPrint 'NOTICE: Will do driver migration'
++ Log 'NOTICE: Will do driver migration'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:44:45 NOTICE: Will do driver migration'
2013-11-22 13:44:45 NOTICE: Will do driver migration
++ Print 'NOTICE: Will do driver migration'
++ test 1
++ echo -e 'NOTICE: Will do driver migration'
+ test 1
+ set +x
2013-11-22 13:44:45 Including verify/TSM/default/39_request_point_in_time_restore_parameters.sh
+ . /usr/share/rear/verify/TSM/default/39_request_point_in_time_restore_parameters.sh
++ LogPrint ''
++ Log ''
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:44:45 '
2013-11-22 13:44:45
++ Print ''
++ test 1
++ echo -e ''
++ LogPrint 'TSM restores by default the latest backup data. Alternatively you can specify'
++ Log 'TSM restores by default the latest backup data. Alternatively you can specify'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:44:45 TSM restores by default the latest backup data. Alternatively you can specify'
2013-11-22 13:44:45 TSM restores by default the latest backup data. Alternatively you can specify
++ Print 'TSM restores by default the latest backup data. Alternatively you can specify'
++ test 1
++ echo -e 'TSM restores by default the latest backup data. Alternatively you can specify'
++ LogPrint 'a different date and time to enable Point-In-Time Restore. Press ENTER to'
++ Log 'a different date and time to enable Point-In-Time Restore. Press ENTER to'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:44:45 a different date and time to enable Point-In-Time Restore. Press ENTER to'
2013-11-22 13:44:45 a different date and time to enable Point-In-Time Restore. Press ENTER to
++ Print 'a different date and time to enable Point-In-Time Restore. Press ENTER to'
++ test 1
++ echo -e 'a different date and time to enable Point-In-Time Restore. Press ENTER to'
++ LogPrint 'use the most recent available backup'
++ Log 'use the most recent available backup'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:44:45 use the most recent available backup'
2013-11-22 13:44:45 use the most recent available backup
++ Print 'use the most recent available backup'
++ test 1
++ echo -e 'use the most recent available backup'
++ read -t 30 -r -p 'Enter date/time (YYYY-MM-DD HH:mm:ss) or press ENTER [30sec]: '
++ test -z ''
++ LogPrint 'Skipping Point-In-Time Restore, will restore most recent data.'
++ Log 'Skipping Point-In-Time Restore, will restore most recent data.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:03 Skipping Point-In-Time Restore, will restore most recent data.'
2013-11-22 13:45:03 Skipping Point-In-Time Restore, will restore most recent data.
++ Print 'Skipping Point-In-Time Restore, will restore most recent data.'
++ test 1
++ echo -e 'Skipping Point-In-Time Restore, will restore most recent data.'
+ test 1
+ set +x
2013-11-22 13:45:03 Including verify/TSM/default/40_verify_tsm.sh
+ . /usr/share/rear/verify/TSM/default/40_verify_tsm.sh
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb1tsm1
++ TSM_SYS_SERVERNAME=peb1tsm1
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=1500
++ TSM_SYS_TCPPORT=1500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb1tsm1
++ TSM_SYS_TCPSERVERADDRESS=peb1tsm1
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=1501
++ TSM_SYS_TCPCLIENTPORT=1501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm1.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm1.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm1.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm1.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=generate
++ TSM_SYS_PASSWORDACCESS=generate
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ grep -q '*'
++ echo NODename
++ test -z NODename
+++ tr a-z A-Z
+++ echo NODename
++ KEY=NODENAME
++ export TSM_SYS_NODENAME=PEB1APT01
++ TSM_SYS_NODENAME=PEB1APT01
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb2tsm2
++ TSM_SYS_SERVERNAME=peb2tsm2
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=2500
++ TSM_SYS_TCPPORT=2500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb2tsm2
++ TSM_SYS_TCPSERVERADDRESS=peb2tsm2
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=2501
++ TSM_SYS_TCPCLIENTPORT=2501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm2.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm2.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm2.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm2.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=generate
++ TSM_SYS_PASSWORDACCESS=generate
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ grep -q '*'
++ echo NODename
++ test -z NODename
+++ tr a-z A-Z
+++ echo NODename
++ KEY=NODENAME
++ export TSM_SYS_NODENAME=PEB1APT01
++ TSM_SYS_NODENAME=PEB1APT01
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb1tsm3
++ TSM_SYS_SERVERNAME=peb1tsm3
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=3500
++ TSM_SYS_TCPPORT=3500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb1tsm3
++ TSM_SYS_TCPSERVERADDRESS=peb1tsm3
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=3501
++ TSM_SYS_TCPCLIENTPORT=3501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm3.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm3.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm3.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm3.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=prompt
++ TSM_SYS_PASSWORDACCESS=prompt
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb1tsm3_nocompression
++ TSM_SYS_SERVERNAME=peb1tsm3_nocompression
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=3500
++ TSM_SYS_TCPPORT=3500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb1tsm3
++ TSM_SYS_TCPSERVERADDRESS=peb1tsm3
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=3501
++ TSM_SYS_TCPCLIENTPORT=3501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm3.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm3.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm3.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm3.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=prompt
++ TSM_SYS_PASSWORDACCESS=prompt
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=no
++ TSM_SYS_COMPRESSION=no
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb2tsm4
++ TSM_SYS_SERVERNAME=peb2tsm4
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=4500
++ TSM_SYS_TCPPORT=4500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb2tsm4
++ TSM_SYS_TCPSERVERADDRESS=peb2tsm4
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=1501
++ TSM_SYS_TCPCLIENTPORT=1501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm4.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm4.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm4.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm4.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=prompt
++ TSM_SYS_PASSWORDACCESS=prompt
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb2tsm4_nocompression
++ TSM_SYS_SERVERNAME=peb2tsm4_nocompression
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=4500
++ TSM_SYS_TCPPORT=4500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb2tsm4
++ TSM_SYS_TCPSERVERADDRESS=peb2tsm4
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=1501
++ TSM_SYS_TCPCLIENTPORT=1501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm4.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm4.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm4.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm4.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=prompt
++ TSM_SYS_PASSWORDACCESS=prompt
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=no
++ TSM_SYS_COMPRESSION=no
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb1tsm5
++ TSM_SYS_SERVERNAME=peb1tsm5
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=5500
++ TSM_SYS_TCPPORT=5500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb1tsm5
++ TSM_SYS_TCPSERVERADDRESS=peb1tsm5
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=5501
++ TSM_SYS_TCPCLIENTPORT=5501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm5.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm5.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm5.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm5.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=generate
++ TSM_SYS_PASSWORDACCESS=generate
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ grep -q '*'
++ echo NODename
++ test -z NODename
+++ tr a-z A-Z
+++ echo NODename
++ KEY=NODENAME
++ export TSM_SYS_NODENAME=PEB1APT01
++ TSM_SYS_NODENAME=PEB1APT01
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb2tsm6
++ TSM_SYS_SERVERNAME=peb2tsm6
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=6500
++ TSM_SYS_TCPPORT=6500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb2tsm6
++ TSM_SYS_TCPSERVERADDRESS=peb2tsm6
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=1501
++ TSM_SYS_TCPCLIENTPORT=1501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm6.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm6.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm6.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm6.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=generate
++ TSM_SYS_PASSWORDACCESS=generate
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ grep -q '*'
++ echo NODename
++ test -z NODename
+++ tr a-z A-Z
+++ echo NODename
++ KEY=NODENAME
++ export TSM_SYS_NODENAME=PEB1APT01
++ TSM_SYS_NODENAME=PEB1APT01
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb1tsm7
++ TSM_SYS_SERVERNAME=peb1tsm7
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=7500
++ TSM_SYS_TCPPORT=7500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb1tsm7
++ TSM_SYS_TCPSERVERADDRESS=peb1tsm7
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=7501
++ TSM_SYS_TCPCLIENTPORT=7501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm7.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm7.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm7.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm7.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=prompt
++ TSM_SYS_PASSWORDACCESS=prompt
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb1tsm7_nocompression
++ TSM_SYS_SERVERNAME=peb1tsm7_nocompression
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=7500
++ TSM_SYS_TCPPORT=7500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb1tsm7
++ TSM_SYS_TCPSERVERADDRESS=peb1tsm7
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=7501
++ TSM_SYS_TCPCLIENTPORT=7501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm7.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb1tsm7.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm7.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb1tsm7.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=prompt
++ TSM_SYS_PASSWORDACCESS=prompt
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=no
++ TSM_SYS_COMPRESSION=no
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb2tsm8
++ TSM_SYS_SERVERNAME=peb2tsm8
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=8500
++ TSM_SYS_TCPPORT=8500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb2tsm8
++ TSM_SYS_TCPSERVERADDRESS=peb2tsm8
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=1501
++ TSM_SYS_TCPCLIENTPORT=1501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm8.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm8.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm8.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm8.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=prompt
++ TSM_SYS_PASSWORDACCESS=prompt
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=peb2tsm8_nocompression
++ TSM_SYS_SERVERNAME=peb2tsm8_nocompression
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=8500
++ TSM_SYS_TCPPORT=8500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=peb2tsm8
++ TSM_SYS_TCPSERVERADDRESS=peb2tsm8
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=1501
++ TSM_SYS_TCPCLIENTPORT=1501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm8.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_peb2tsm8.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm8.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_peb2tsm8.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=prompt
++ TSM_SYS_PASSWORDACCESS=prompt
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=no
++ TSM_SYS_COMPRESSION=no
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=pet1tsm1
++ TSM_SYS_SERVERNAME=pet1tsm1
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=1500
++ TSM_SYS_TCPPORT=1500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=10.100.1.25
++ TSM_SYS_TCPSERVERADDRESS=10.100.1.25
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientaddress
++ test -z TCPClientaddress
+++ tr a-z A-Z
+++ echo TCPClientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPClientport
++ test -z TCPClientport
+++ tr a-z A-Z
+++ echo TCPClientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=1501
++ TSM_SYS_TCPCLIENTPORT=1501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ TSM_SYS_INCLEXCL=/etc/adsm/include.list
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_pet1tsm1.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_pet1tsm1.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_pet1tsm1.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_pet1tsm1.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=generate
++ TSM_SYS_PASSWORDACCESS=generate
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ grep -q '*'
++ echo NODename
++ test -z NODename
+++ tr a-z A-Z
+++ echo NODename
++ KEY=NODENAME
++ export TSM_SYS_NODENAME=PEB1APT01
++ TSM_SYS_NODENAME=PEB1APT01
++ read KEY VALUE
++ grep -q '*'
++ echo ''
++ test -z ''
++ continue
++ read KEY VALUE
++ grep -q '*'
++ echo Servername
++ test -z Servername
+++ tr a-z A-Z
+++ echo Servername
++ KEY=SERVERNAME
++ export TSM_SYS_SERVERNAME=pet1tsm2
++ TSM_SYS_SERVERNAME=pet1tsm2
++ read KEY VALUE
++ grep -q '*'
++ echo COMMmethod
++ test -z COMMmethod
+++ tr a-z A-Z
+++ echo COMMmethod
++ KEY=COMMMETHOD
++ export TSM_SYS_COMMMETHOD=TCPip
++ TSM_SYS_COMMMETHOD=TCPip
++ read KEY VALUE
++ grep -q '*'
++ echo TCPPort
++ test -z TCPPort
+++ tr a-z A-Z
+++ echo TCPPort
++ KEY=TCPPORT
++ export TSM_SYS_TCPPORT=2500
++ TSM_SYS_TCPPORT=2500
++ read KEY VALUE
++ grep -q '*'
++ echo TCPServeraddress
++ test -z TCPServeraddress
+++ tr a-z A-Z
+++ echo TCPServeraddress
++ KEY=TCPSERVERADDRESS
++ export TSM_SYS_TCPSERVERADDRESS=10.100.1.26
++ TSM_SYS_TCPSERVERADDRESS=10.100.1.26
++ read KEY VALUE
++ grep -q '*'
++ echo TCPclientaddress
++ test -z TCPclientaddress
+++ tr a-z A-Z
+++ echo TCPclientaddress
++ KEY=TCPCLIENTADDRESS
++ export TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ TSM_SYS_TCPCLIENTADDRESS=10.85.24.118
++ read KEY VALUE
++ grep -q '*'
++ echo TCPclientport
++ test -z TCPclientport
+++ tr a-z A-Z
+++ echo TCPclientport
++ KEY=TCPCLIENTPORT
++ export TSM_SYS_TCPCLIENTPORT=2501
++ TSM_SYS_TCPCLIENTPORT=2501
++ read KEY VALUE
++ grep -q '*'
++ echo Inclexcl
++ test -z Inclexcl
+++ tr a-z A-Z
+++ echo Inclexcl
++ KEY=INCLEXCL
++ export TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ TSM_SYS_INCLEXCL=/etc/adsm/include.oracle
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogretention
++ test -z schedlogretention
+++ tr a-z A-Z
+++ echo schedlogretention
++ KEY=SCHEDLOGRETENTION
++ export TSM_SYS_SCHEDLOGRETENTION=5
++ TSM_SYS_SCHEDLOGRETENTION=5
++ read KEY VALUE
++ grep -q '*'
++ echo schedlogname
++ test -z schedlogname
+++ tr a-z A-Z
+++ echo schedlogname
++ KEY=SCHEDLOGNAME
++ export TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_pet1tsm2.log
++ TSM_SYS_SCHEDLOGNAME=/var/log/tsm/dsmsched_pet1tsm2.log
++ read KEY VALUE
++ grep -q '*'
++ echo errorlogname
++ test -z errorlogname
+++ tr a-z A-Z
+++ echo errorlogname
++ KEY=ERRORLOGNAME
++ export TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_pet1tsm2.log
++ TSM_SYS_ERRORLOGNAME=/var/log/tsm/dsmerror_pet1tsm2.log
++ read KEY VALUE
++ grep -q '*'
++ echo schedmode
++ test -z schedmode
+++ tr a-z A-Z
+++ echo schedmode
++ KEY=SCHEDMODE
++ export TSM_SYS_SCHEDMODE=prompted
++ TSM_SYS_SCHEDMODE=prompted
++ read KEY VALUE
++ grep -q '*'
++ echo passwordaccess
++ test -z passwordaccess
+++ tr a-z A-Z
+++ echo passwordaccess
++ KEY=PASSWORDACCESS
++ export TSM_SYS_PASSWORDACCESS=prompt
++ TSM_SYS_PASSWORDACCESS=prompt
++ read KEY VALUE
++ grep -q '*'
++ echo compression
++ test -z compression
+++ tr a-z A-Z
+++ echo compression
++ KEY=COMPRESSION
++ export TSM_SYS_COMPRESSION=yes
++ TSM_SYS_COMPRESSION=yes
++ read KEY VALUE
++ read KEY VALUE
++ grep -q '*'
++ echo SErvername
++ test -z SErvername
+++ tr a-z A-Z
+++ echo SErvername
++ KEY=SERVERNAME
++ export TSM_OPT_SERVERNAME=peb1tsm1
++ TSM_OPT_SERVERNAME=peb1tsm1
++ read KEY VALUE
++ '[' 10.100.1.26 ']'
++ StopIfError 'TSM Server not set in dsm.sys (TCPSERVERADDRESS) !'
++ (( 0 != 0 ))
++ test ''
++ Log 'Skipping ping test'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:04 Skipping ping test'
2013-11-22 13:45:04 Skipping ping test
++ grep -A 10000 File
++ dsmc query filespace -date=2 -time=1
++ '[' 0 -eq 0 -o 0 -eq 8 ']'
++ StopIfError ''\''dsmc query filespace'\'' failed !'
++ (( 0 != 0 ))
+++ cat /tmp/rear.eOwfN97I2KNNYF8/tmp/tsm_filespaces
++ TSM_FILESPACE_TEXT=' # Last Incr Date Type File Space Name
--- -------------- ---- ---------------
1 22-11-2013 09:01:50 EXT2 /
2 22-11-2013 09:01:51 EXT4 /boot
3 22-11-2013 09:01:51 EXT4 /home
4 22-11-2013 09:02:04 EXT4 /opt
5 22-11-2013 08:58:02 EXT4 /var '
++ TSM_FILESPACES=()
++ TSM_FILESPACE_NUMS=()
++ read num date time type path
+++ grep -A 10000 '^ 1'
++ TSM_FILESPACES[$num]=/
++ TSM_FILESPACE_NUMS[$num]=1
++ read num date time type path
++ TSM_FILESPACES[$num]=/boot
++ TSM_FILESPACE_NUMS[$num]=2
++ read num date time type path
++ TSM_FILESPACES[$num]=/home
++ TSM_FILESPACE_NUMS[$num]=3
++ read num date time type path
++ TSM_FILESPACES[$num]=/opt
++ TSM_FILESPACE_NUMS[$num]=4
++ read num date time type path
++ TSM_FILESPACES[$num]=/var
++ TSM_FILESPACE_NUMS[$num]=5
++ read num date time type path
++ Log 'Available filespaces:
# Last Incr Date Type File Space Name
--- -------------- ---- ---------------
1 22-11-2013 09:01:50 EXT2 /
2 22-11-2013 09:01:51 EXT4 /boot
3 22-11-2013 09:01:51 EXT4 /home
4 22-11-2013 09:02:04 EXT4 /opt
5 22-11-2013 08:58:02 EXT4 /var '
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:05 Available filespaces:
# Last Incr Date Type File Space Name
--- -------------- ---- ---------------
1 22-11-2013 09:01:50 EXT2 /
2 22-11-2013 09:01:51 EXT4 /boot
3 22-11-2013 09:01:51 EXT4 /home
4 22-11-2013 09:02:04 EXT4 /opt
5 22-11-2013 08:58:02 EXT4 /var '
2013-11-22 13:45:05 Available filespaces:
# Last Incr Date Type File Space Name
--- -------------- ---- ---------------
1 22-11-2013 09:01:50 EXT2 /
2 22-11-2013 09:01:51 EXT4 /boot
3 22-11-2013 09:01:51 EXT4 /home
4 22-11-2013 09:02:04 EXT4 /opt
5 22-11-2013 08:58:02 EXT4 /var
+++ sed -e 's/^/\t\t/'
+++ echo ' # Last Incr Date Type File Space Name
--- -------------- ---- ---------------
1 22-11-2013 09:01:50 EXT2 /
2 22-11-2013 09:01:51 EXT4 /boot
3 22-11-2013 09:01:51 EXT4 /home
4 22-11-2013 09:02:04 EXT4 /opt
5 22-11-2013 08:58:02 EXT4 /var '
++ echo '
The TSM Server reports the following for this node:
# Last Incr Date Type File Space Name
--- -------------- ---- ---------------
1 22-11-2013 09:01:50 EXT2 /
2 22-11-2013 09:01:51 EXT4 /boot
3 22-11-2013 09:01:51 EXT4 /home
4 22-11-2013 09:02:04 EXT4 /opt
5 22-11-2013 08:58:02 EXT4 /var
Please enter the numbers of the filespaces we should restore.
Pay attention to enter the filesystems in the correct order
(like restore / before /var/log) ! '
++ read -t 30 -p '(default: 1 2 3 4 5): [30sec] ' -r TSM_RESTORE_FILESPACE_NUMS
++ test -z ''
++ TSM_RESTORE_FILESPACE_NUMS='1 2 3 4 5'
++ Log 'User pressed ENTER, setting default of 1 2 3 4 5'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:07 User pressed ENTER, setting default of 1 2 3 4 5'
2013-11-22 13:45:07 User pressed ENTER, setting default of 1 2 3 4 5
+++ tr -s ' '
+++ echo '1 2 3 4 5'
++ TSM_RESTORE_FILESPACE_NUMS='1 2 3 4 5'
++ '[' 9 -gt 0 ']'
++ StopIfError 'No filespaces selected !'
++ (( 0 != 0 ))
++ LogPrint 'We will now restore the following filesystems:'
++ Log 'We will now restore the following filesystems:'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:07 We will now restore the following filesystems:'
2013-11-22 13:45:07 We will now restore the following filesystems:
++ Print 'We will now restore the following filesystems:'
++ test 1
++ echo -e 'We will now restore the following filesystems:'
++ for num in '$TSM_RESTORE_FILESPACE_NUMS'
++ LogPrint /
++ Log /
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:07 /'
2013-11-22 13:45:07 /
++ Print /
++ test 1
++ echo -e /
++ for num in '$TSM_RESTORE_FILESPACE_NUMS'
++ LogPrint /boot
++ Log /boot
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:07 /boot'
2013-11-22 13:45:07 /boot
++ Print /boot
++ test 1
++ echo -e /boot
++ for num in '$TSM_RESTORE_FILESPACE_NUMS'
++ LogPrint /home
++ Log /home
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:07 /home'
2013-11-22 13:45:07 /home
++ Print /home
++ test 1
++ echo -e /home
++ for num in '$TSM_RESTORE_FILESPACE_NUMS'
++ LogPrint /opt
++ Log /opt
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:07 /opt'
2013-11-22 13:45:07 /opt
++ Print /opt
++ test 1
++ echo -e /opt
++ for num in '$TSM_RESTORE_FILESPACE_NUMS'
++ LogPrint /var
++ Log /var
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:07 /var'
2013-11-22 13:45:07 /var
++ Print /var
++ test 1
++ echo -e /var
++ read -t 30 -r -p 'Is this selection correct ? (Y|n) [30sec] '
++ case "$REPLY" in
++ Log 'User confirmed filespace selection'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:08 User confirmed filespace selection'
2013-11-22 13:45:08 User confirmed filespace selection
+ test 1
+ set +x
2013-11-22 13:45:08 Finished running 'verify' stage in 23 seconds
2013-11-22 13:45:08 Running 'layout/prepare' stage
2013-11-22 13:45:08 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.eOwfN97I2KNNYF8/tmp/touch
++ '[' -e /tmp/rear.eOwfN97I2KNNYF8/tmp/touch ']'
++ mkdir -p /tmp/rear.eOwfN97I2KNNYF8/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.20131122.261.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-22 13:45:08 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'
+++ parted -v
++ parted_version=2.3
++ '[' 2.3 ']'
++ BugIfError 'Function get_version could not detect parted version.'
++ (( 0 != 0 ))
++ version_newer 2.3 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#03 < 10#00 ))
++ (( 10#03 > 10#00 ))
++ return 0
++ FEATURE_PARTED_ANYUNIT=y
++ FEATURE_PARTED_ALIGNMENT=y
+ test 1
+ set +x
2013-11-22 13:45:08 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'
+++ lvm version
++ lvm_version=2.02.95
++ '[' 2.02.95 ']'
++ BugIfError 'Function get_version could not detect lvm version.'
++ (( 0 != 0 ))
++ version_newer 2.02.95 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#095 < 10#073 ))
++ (( 10#095 > 10#073 ))
++ return 0
++ FEATURE_LVM_RESTOREFILE=y
+ test 1
+ set +x
2013-11-22 13:45:08 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-22 13:45:08 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-22 13:45:08 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'
+++ mkswap --version
++ mkswap_version=2.20.1
++ version_newer 2.20.1 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#020 < 10#013 ))
++ (( 10#020 > 10#013 ))
++ return 0
++ FEATURE_MKSWAP_UUID=y
+ test 1
+ set +x
2013-11-22 13:45:08 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-22 13:45:08 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-22 13:45:08 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-22 13:45:08 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-22 13:45:08 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-22 13:45:08 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-22 13:45:08 Comparing disks.'
2013-11-22 13:45:08 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-22 13:45:08 Looking for sda...'
2013-11-22 13:45:08 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-22 13:45:08 Device sda exists.'
2013-11-22 13:45:08 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=94371840
+++ local disk_size=48318382080
+++ echo 48318382080
++ newsize=48318382080
++ '[' 48318382080 -eq 26843545600 ']'
++ LogPrint 'Device sda has size 48318382080, 26843545600 expected'
++ Log 'Device sda has size 48318382080, 26843545600 expected'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:08 Device sda has size 48318382080, 26843545600 expected'
2013-11-22 13:45:08 Device sda has size 48318382080, 26843545600 expected
++ Print 'Device sda has size 48318382080, 26843545600 expected'
++ test 1
++ echo -e 'Device sda has size 48318382080, 26843545600 expected'
++ MIGRATION_MODE=true
++ read disk dev size junk
++ '[' -n true ']'
++ LogPrint 'Switching to manual disk layout configuration.'
++ Log 'Switching to manual disk layout configuration.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:08 Switching to manual disk layout configuration.'
2013-11-22 13:45:08 Switching to manual disk layout configuration.
++ Print 'Switching to manual disk layout configuration.'
++ test 1
++ echo -e 'Switching to manual disk layout configuration.'
+ test 1
+ set +x
2013-11-22 13:45:08 Including layout/prepare/default/30_map_disks.sh
+ . /usr/share/rear/layout/prepare/default/30_map_disks.sh
++ '[' -z true ']'
++ MAPPING_FILE=/var/lib/rear/layout/disk_mappings
++ :
++ generate_layout_dependencies
++ :
++ :
++ local type dev remainder name disk disks vgrp dm_vgrp lvol dm_lvol part mp fs bd nmp temp_nm
++ read type remainder
+++ cat /var/lib/rear/layout/disklayout.conf
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sda 26843545600 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 499122176 1048576 primary boot /dev/sda1'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 499122176 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 1024 501218304 extended none /dev/sda2'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 1024 501218304 extended none /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/sda 26341277696 501219328 logical lvm /dev/sda5'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 26341277696 501219328 logical lvm /dev/sda5'
++ name=/dev/sda5
++ add_dependency /dev/sda5 /dev/sda
++ echo '/dev/sda5 /dev/sda'
++ add_component /dev/sda5 part
++ echo 'todo /dev/sda5 part'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot /dev/sda5 XeeNbl-BV4G-Clgr-TWIn-7E1b-gP0c-uEiQyW 51447808'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot /dev/sda5 XeeNbl-BV4G-Clgr-TWIn-7E1b-gP0c-uEiQyW 51447808'
++ part=/dev/sda5
++ add_dependency /dev/vgroot pv:/dev/sda5
++ echo '/dev/vgroot pv:/dev/sda5'
++ add_dependency pv:/dev/sda5 /dev/sda5
++ echo 'pv:/dev/sda5 /dev/sda5'
++ add_component pv:/dev/sda5 lvmdev
++ echo 'todo pv:/dev/sda5 lvmdev'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot 4096 6280 25722880'
++ name=/dev/vgroot
++ add_component /dev/vgroot lvmgrp
++ echo 'todo /dev/vgroot lvmgrp'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvvar 953 7806976'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvvar 953 7806976'
++ lvol=lvvar
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvvar
++ add_dependency /dev/mapper/vgroot-lvvar /dev/vgroot
++ echo '/dev/mapper/vgroot-lvvar /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvvar lvmvol
++ echo 'todo /dev/mapper/vgroot-lvvar lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvhome 238 1949696'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvhome 238 1949696'
++ lvol=lvhome
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvhome
++ add_dependency /dev/mapper/vgroot-lvhome /dev/vgroot
++ echo '/dev/mapper/vgroot-lvhome /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvhome lvmvol
++ echo 'todo /dev/mapper/vgroot-lvhome lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvopt 715 5857280'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvopt 715 5857280'
++ lvol=lvopt
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvopt
++ add_dependency /dev/mapper/vgroot-lvopt /dev/vgroot
++ echo '/dev/mapper/vgroot-lvopt /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvopt lvmvol
++ echo 'todo /dev/mapper/vgroot-lvopt lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvtmp 384 3145728'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvtmp 384 3145728'
++ lvol=lvtmp
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvtmp
++ add_dependency /dev/mapper/vgroot-lvtmp /dev/vgroot
++ echo '/dev/mapper/vgroot-lvtmp /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvtmp lvmvol
++ echo 'todo /dev/mapper/vgroot-lvtmp lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvswap 476 3899392'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvswap 476 3899392'
++ lvol=lvswap
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvswap
++ add_dependency /dev/mapper/vgroot-lvswap /dev/vgroot
++ echo '/dev/mapper/vgroot-lvswap /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvswap lvmvol
++ echo 'todo /dev/mapper/vgroot-lvswap lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvroot 1907 15622144'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvroot 1907 15622144'
++ lvol=lvroot
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvroot
++ add_dependency /dev/mapper/vgroot-lvroot /dev/vgroot
++ echo '/dev/mapper/vgroot-lvroot /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvroot lvmvol
++ echo 'todo /dev/mapper/vgroot-lvroot lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvroot / ext4 uuid=bd61f8d4-b5d6-49e3-9b48-26788ab2965b label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16368 options=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvroot
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvroot / ext4 uuid=bd61f8d4-b5d6-49e3-9b48-26788ab2965b label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16368 options=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered'
++ mp=/
++ add_dependency fs:/ /dev/mapper/vgroot-lvroot
++ echo 'fs:/ /dev/mapper/vgroot-lvroot'
++ 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
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sda1 /boot ext4 uuid=ddf5cb3d-d86b-4dfd-a8b1-ff9b7e445110 label= blocksize=1024 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4093 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/sda1
+++ cut -d ' ' -f 2
+++ echo '/dev/sda1 /boot ext4 uuid=ddf5cb3d-d86b-4dfd-a8b1-ff9b7e445110 label= blocksize=1024 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4093 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ 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
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvhome /home ext4 uuid=25bd415d-241a-4724-b6f9-4664352cf0a5 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16384 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvhome
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvhome /home ext4 uuid=25bd415d-241a-4724-b6f9-4664352cf0a5 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16384 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ mp=/home
++ add_dependency fs:/home /dev/mapper/vgroot-lvhome
++ echo 'fs:/home /dev/mapper/vgroot-lvhome'
++ add_component fs:/home fs
++ echo 'todo fs:/home fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' home '!=' /home ']'
++ '[' /home '!=' / ']'
++ add_dependency fs:/home fs:/
++ echo 'fs:/home fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvopt /opt ext4 uuid=af751048-859e-4de9-ae14-6d4b5123c69b label= blocksize=4096 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=16363 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvopt
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvopt /opt ext4 uuid=af751048-859e-4de9-ae14-6d4b5123c69b label= blocksize=4096 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=16363 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ mp=/opt
++ add_dependency fs:/opt /dev/mapper/vgroot-lvopt
++ echo 'fs:/opt /dev/mapper/vgroot-lvopt'
++ add_component fs:/opt fs
++ echo 'todo fs:/opt fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' opt '!=' /opt ']'
++ '[' /opt '!=' / ']'
++ add_dependency fs:/opt fs:/
++ echo 'fs:/opt fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvtmp /tmp ext4 uuid=61f06855-c6de-46f9-b250-f3b8f37b314e label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=17623 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvtmp
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvtmp /tmp ext4 uuid=61f06855-c6de-46f9-b250-f3b8f37b314e label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=17623 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ mp=/tmp
++ add_dependency fs:/tmp /dev/mapper/vgroot-lvtmp
++ echo 'fs:/tmp /dev/mapper/vgroot-lvtmp'
++ add_component fs:/tmp fs
++ echo 'todo fs:/tmp fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' tmp '!=' /tmp ']'
++ '[' /tmp '!=' / ']'
++ add_dependency fs:/tmp fs:/
++ echo 'fs:/tmp fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvvar /var ext4 uuid=727dc7e2-c49d-45f8-8362-a7549bdd3f7f label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16360 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvvar
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvvar /var ext4 uuid=727dc7e2-c49d-45f8-8362-a7549bdd3f7f label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16360 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ mp=/var
++ add_dependency fs:/var /dev/mapper/vgroot-lvvar
++ echo 'fs:/var /dev/mapper/vgroot-lvvar'
++ add_component fs:/var fs
++ echo 'todo fs:/var fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' var '!=' /var ']'
++ '[' /var '!=' / ']'
++ add_dependency fs:/var fs:/
++ echo 'fs:/var fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvswap uuid=b0048c2d-3360-477f-8136-f3f820099b3d label='
++ dev=/dev/mapper/vgroot-lvswap
++ add_dependency swap:/dev/mapper/vgroot-lvswap /dev/mapper/vgroot-lvswap
++ echo 'swap:/dev/mapper/vgroot-lvswap /dev/mapper/vgroot-lvswap'
++ add_component swap:/dev/mapper/vgroot-lvswap swap
++ echo 'todo swap:/dev/mapper/vgroot-lvswap swap'
++ read type remainder
++ '[' -e /etc/rear/mappings/disk_devices ']'
++ read disk dev size junk
+++ grep '^disk ' /var/lib/rear/layout/disklayout.conf
++ mapping_exists /dev/sda
++ grep -q '^/dev/sda ' /var/lib/rear/layout/disk_mappings
++ return 1
+++ get_sysfs_name /dev/sda
+++ local name=sda
+++ name=sda
+++ [[ -e /sys/block/sda ]]
+++ echo sda
+++ return 0
++ '[' -e /sys/block/sda ']'
++++ get_sysfs_name /dev/sda
++++ local name=sda
++++ name=sda
++++ [[ -e /sys/block/sda ]]
++++ echo sda
++++ return 0
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=94371840
+++ local disk_size=48318382080
+++ echo 48318382080
++ newsize=48318382080
++ '[' 26843545600 -eq 48318382080 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/fd0/size ']'
++ '[' '!' -d /sys/block/fd0/queue ']'
+++ get_disk_size fd0
+++ local disk_name=fd0
++++ get_block_size fd0
++++ '[' -r /sys/block/fd0/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/fd0/size ']'
+++ BugIfError 'Could not determine size of disk fd0, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=0
+++ local disk_size=0
+++ echo 0
++ newsize=0
++ '[' 26843545600 -eq 0 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/sda/size ']'
++ '[' '!' -d /sys/block/sda/queue ']'
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=94371840
+++ local disk_size=48318382080
+++ echo 48318382080
++ newsize=48318382080
++ '[' 26843545600 -eq 48318382080 ']'
++ for path in '/sys/block/*'
++ '[' '!' -r /sys/block/sr0/size ']'
++ '[' '!' -d /sys/block/sr0/queue ']'
+++ get_disk_size sr0
+++ local disk_name=sr0
++++ get_block_size sr0
++++ '[' -r /sys/block/sr0/queue/logical_block_size ']'
++++ echo 2048
+++ local block_size=2048
+++ '[' -r /sys/block/sr0/size ']'
+++ BugIfError 'Could not determine size of disk sr0, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=306540
+++ local disk_size=627793920
+++ echo 627793920
++ newsize=627793920
++ '[' 26843545600 -eq 627793920 ']'
++ read disk dev size junk
++ read -u 3 disk dev size junk
+++ grep '^disk ' /var/lib/rear/layout/disklayout.conf
++ mapping_exists /dev/sda
++ grep -q '^/dev/sda ' /var/lib/rear/layout/disk_mappings
++ return 1
++ possible_targets=()
++ for path in '/sys/block/*'
++ '[' 1 = 1 ']'
++ continue
++ for path in '/sys/block/*'
++ '[' 0 = 1 ']'
++ skip=
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ for name in '"${EXCLUDE_DEVICE_MAPPING[@]}"'
++ case "${path##*/}" in
++ [[ -n '' ]]
+++ get_device_name /sys/block/sda
+++ local name=/sys/block/sda
+++ name=sda
+++ [[ -n sda ]]
+++ BugIfError 'Empty string passed to get_device_name'
+++ (( 0 != 0 ))
+++ local device dev_number mapper_number
+++ [[ -d /sys/block/sda ]]
+++ [[ -r /sys/block/sda/dm/name ]]
+++ dev_number=8:0
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor control
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvhome
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvopt
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvroot
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvswap
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvtmp
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvvar
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ name=sda
+++ echo /dev/sda
+++ return 1
++ reverse_mapping_exists /dev/sda
++ grep -q ' /dev/sda$' /var/lib/rear/layout/disk_mappings
++ return 1
++ '[' -d /sys/block/sda/queue ']'
++ possible_targets=("${possible_targets[@]}" "$(get_device_name $path)")
+++ get_device_name /sys/block/sda
+++ local name=/sys/block/sda
+++ name=sda
+++ [[ -n sda ]]
+++ BugIfError 'Empty string passed to get_device_name'
+++ (( 0 != 0 ))
+++ local device dev_number mapper_number
+++ [[ -d /sys/block/sda ]]
+++ [[ -r /sys/block/sda/dm/name ]]
+++ dev_number=8:0
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor control
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvhome
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvopt
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvroot
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvswap
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvtmp
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvvar
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ name=sda
+++ echo /dev/sda
+++ return 1
++ for path in '/sys/block/*'
++ '[' 1 = 1 ']'
++ continue
+++ get_device_name /dev/sda
+++ local name=sda
+++ name=sda
+++ [[ -n sda ]]
+++ BugIfError 'Empty string passed to get_device_name'
+++ (( 0 != 0 ))
+++ local device dev_number mapper_number
+++ [[ -d /sys/block/sda ]]
+++ [[ -r /sys/block/sda/dm/name ]]
+++ dev_number=8:0
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor control
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvhome
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvopt
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvroot
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvswap
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvtmp
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ for device in '/dev/mapper/*'
++++ dmsetup info -c --noheadings -o major,minor vgroot-lvvar
+++ mapper_number=
+++ '[' 8:0 = '' ']'
+++ name=sda
+++ echo /dev/sda
+++ return 1
++ LogPrint 'Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
++ Log 'Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:08 Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
2013-11-22 13:45:08 Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.
++ Print 'Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
++ test 1
++ echo -e 'Original disk /dev/sda does not exist in the target system. Please choose an appropriate replacement.'
++ read -u 3 disk dev size junk
++ LogPrint 'This is the disk mapping table:'
++ Log 'This is the disk mapping table:'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 This is the disk mapping table:'
2013-11-22 13:45:15 This is the disk mapping table:
++ Print 'This is the disk mapping table:'
++ test 1
++ echo -e 'This is the disk mapping table:'
+++ sed -e 's|^| |' /var/lib/rear/layout/disk_mappings
++ LogPrint ' /dev/sda /dev/sda'
++ Log ' /dev/sda /dev/sda'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 /dev/sda /dev/sda'
2013-11-22 13:45:15 /dev/sda /dev/sda
++ Print ' /dev/sda /dev/sda'
++ test 1
++ echo -e ' /dev/sda /dev/sda'
++ read disk dev junk
+++ grep '^disk ' /var/lib/rear/layout/disklayout.conf
++ mapping_exists /dev/sda
++ grep -q '^/dev/sda ' /var/lib/rear/layout/disk_mappings
++ return 0
++ read disk dev junk
+ test 1
+ set +x
2013-11-22 13:45:15 Including layout/prepare/default/31_remove_exclusions.sh
+ . /usr/share/rear/layout/prepare/default/31_remove_exclusions.sh
++ '[' -s /var/lib/rear/layout/disktodo.conf ']'
++ read done name type junk
+++ grep '^done' /var/lib/rear/layout/disktodo.conf
++ read status name junk
+++ grep -E '^done [^ ]+ lvmgrp' /var/lib/rear/layout/disktodo.conf
+ test 1
+ set +x
2013-11-22 13:45:15 Including layout/prepare/default/32_apply_mappings.sh
+ . /usr/share/rear/layout/prepare/default/32_apply_mappings.sh
++ '[' -z true ']'
++ replaced_count=0
++ replacement_file=/tmp/rear.eOwfN97I2KNNYF8/tmp/replacement_file
++ :
++ read source target junk
++ has_replacement /dev/sda
++ grep -q '^/dev/sda ' /tmp/rear.eOwfN97I2KNNYF8/tmp/replacement_file
++ return 1
++ add_replacement /dev/sda
++ echo '/dev/sda _REAR0_'
++ let replaced_count++
++ has_replacement /dev/sda
++ grep -q '^/dev/sda ' /tmp/rear.eOwfN97I2KNNYF8/tmp/replacement_file
++ return 0
++ read source target junk
++ read original replacement junk
++ part_base=/dev/sda
++ case "$original" in
++ sed -i -r '\|/dev/sda|s|/dev/sda([0-9]+)|_REAR0_\1|g' /var/lib/rear/layout/disklayout.conf
++ sed -i -r '\|/dev/sda|s|/\<dev/sda\>|_REAR0_|g' /var/lib/rear/layout/disklayout.conf
++ read original replacement junk
++ read source target junk
+++ get_replacement /dev/sda
+++ local item replacement junk
+++ read item replacement junk
++++ grep '^/dev/sda ' /tmp/rear.eOwfN97I2KNNYF8/tmp/replacement_file
+++ echo _REAR0_
++ replacement=_REAR0_
++ sed -i -r '\|_REAR0_|s|_REAR0_\>|/dev/sda|g' /var/lib/rear/layout/disklayout.conf
++ case "$target" in
++ sed -i -r '\|_REAR0_|s|_REAR0_([0-9]+)|/dev/sda\1|g' /var/lib/rear/layout/disklayout.conf
++ read source target junk
+ test 1
+ set +x
2013-11-22 13:45:15 Including layout/prepare/default/40_autoresize_disks.sh
+ . /usr/share/rear/layout/prepare/default/40_autoresize_disks.sh
++ [[ -z true ]]
++ cp /var/lib/rear/layout/disklayout.conf /var/lib/rear/layout/disklayout.conf.tmp
++ backup_file /var/lib/rear/layout/disklayout.conf
++ [[ ! -r /var/lib/rear/layout/disklayout.conf ]]
++ IsInArray /var/lib/rear/layout/disklayout.conf /var/lib/rear/layout/disklayout.conf
++ local needle=/var/lib/rear/layout/disklayout.conf
++ shift
++ [[ /var/lib/rear/layout/disklayout.conf == \/\v\a\r\/\l\i\b\/\r\e\a\r\/\l\a\y\o\u\t\/\d\i\s\k\l\a\y\o\u\t\.\c\o\n\f ]]
++ return 0
++ read type device size junk
+++ grep '^disk ' /var/lib/rear/layout/disklayout.conf
+++ get_sysfs_name /dev/sda
+++ local name=sda
+++ name=sda
+++ [[ -e /sys/block/sda ]]
+++ echo sda
+++ return 0
++ sysfsname=sda
++ [[ -d /sys/block/sda ]]
+++ get_disk_size sda
+++ local disk_name=sda
++++ get_block_size sda
++++ '[' -r /sys/block/sda/queue/logical_block_size ']'
++++ echo 512
+++ local block_size=512
+++ '[' -r /sys/block/sda/size ']'
+++ BugIfError 'Could not determine size of disk sda, please file a bug.'
+++ (( 0 != 0 ))
+++ local nr_blocks=94371840
+++ local disk_size=48318382080
+++ echo 48318382080
++ newsize=48318382080
++ (( 48318382080 == 26843545600 ))
++ oldsize=26843545600
++ difference=21474836480
++ Log 'Total resize of 21474836480B'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 Total resize of 21474836480B'
2013-11-22 13:45:15 Total resize of 21474836480B
++ Log 'Searching for resizeable partitions on disk /dev/sda (48318382080B)'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 Searching for resizeable partitions on disk /dev/sda (48318382080B)'
2013-11-22 13:45:15 Searching for resizeable partitions on disk /dev/sda (48318382080B)
++ partitions=()
++ resizeable_space=0
++ available_space=48318382080
++ read type part size start name flags name junk
+++ grep '^part /dev/sda' /var/lib/rear/layout/disklayout.conf
++ case $flags in
++ available_space=47819259904
++ Log 'Will not resize partition /dev/sda1.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 Will not resize partition /dev/sda1.'
2013-11-22 13:45:15 Will not resize partition /dev/sda1.
++ read type part size start name flags name junk
++ case $flags in
++ partitions=("${partitions[@]}" "$name|${size%B}")
++ resizeable_space=1024
++ Log 'Will resize partition /dev/sda2.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 Will resize partition /dev/sda2.'
2013-11-22 13:45:15 Will resize partition /dev/sda2.
++ read type part size start name flags name junk
++ case $flags in
++ partitions=("${partitions[@]}" "$name|${size%B}")
++ resizeable_space=26341278720
++ Log 'Will resize partition /dev/sda5.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 Will resize partition /dev/sda5.'
2013-11-22 13:45:15 Will resize partition /dev/sda5.
++ read type part size start name flags name junk
++ (( 2 == 0 ))
++ (( available_space < 0 ))
++ for data in '"${partitions[@]}"'
++ name=/dev/sda2
++ partition_size=1024
+++ awk '{ printf "%d", ($1/$2)*$3; }'
+++ echo '1024 26341278720 47819259904'
++ new_size=1858
++ (( new_size > 0 ))
++ BugIfError 'Partition /dev/sda2 resized to a negative number.'
++ (( 0 != 0 ))
+++ sed -r 's/.+([0-9])$/\1/'
+++ echo /dev/sda2
++ nr=2
++ sed -r -i 's|^(part /dev/sda) 1024(.+)2$|\1 1858\22|' /var/lib/rear/layout/disklayout.conf.tmp
++ Log 'Resized partition /dev/sda2 from 1024B to 1858B.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 Resized partition /dev/sda2 from 1024B to 1858B.'
2013-11-22 13:45:15 Resized partition /dev/sda2 from 1024B to 1858B.
++ for data in '"${partitions[@]}"'
++ name=/dev/sda5
++ partition_size=26341277696
+++ awk '{ printf "%d", ($1/$2)*$3; }'
+++ echo '26341277696 26341278720 47819259904'
++ new_size=2147483647
++ (( new_size > 0 ))
++ BugIfError 'Partition /dev/sda5 resized to a negative number.'
++ (( 0 != 0 ))
+++ sed -r 's/.+([0-9])$/\1/'
+++ echo /dev/sda5
++ nr=5
++ sed -r -i 's|^(part /dev/sda) 26341277696(.+)5$|\1 2147483647\25|' /var/lib/rear/layout/disklayout.conf.tmp
++ Log 'Resized partition /dev/sda5 from 26341277696B to 2147483647B.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 Resized partition /dev/sda5 from 26341277696B to 2147483647B.'
2013-11-22 13:45:15 Resized partition /dev/sda5 from 26341277696B to 2147483647B.
++ read type device size junk
++ mv /var/lib/rear/layout/disklayout.conf.tmp /var/lib/rear/layout/disklayout.conf
+ test 1
+ set +x
2013-11-22 13:45:15 Including layout/prepare/default/50_confirm_layout.sh
+ . /usr/share/rear/layout/prepare/default/50_confirm_layout.sh
++ [[ -z true ]]
++ LogPrint 'Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
++ Log 'Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:15 Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
2013-11-22 13:45:15 Please confirm that '/var/lib/rear/layout/disklayout.conf' is as you expect.
++ Print 'Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
++ test 1
++ echo -e 'Please confirm that '\''/var/lib/rear/layout/disklayout.conf'\'' is as you expect.'
++ Print ''
++ test 1
++ echo -e ''
++ choices=("View disk layout (disklayout.conf)" "Edit disk layout (disklayout.conf)" "View original disk space usage" "Go to Relax-and-Recover shell" "Continue recovery" "Abort Relax-and-Recover")
++ Log 'User selected: 5) Continue recovery'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:21 User selected: 5) Continue recovery'
2013-11-22 13:45:21 User selected: 5) Continue recovery
++ (( REPLY == 6 ))
+ test 1
+ set +x
2013-11-22 13:45:21 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 26843545600 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 499122176 1048576 primary boot /dev/sda1'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 499122176 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 1858 501218304 extended none /dev/sda2'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 1858 501218304 extended none /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/sda 2147483647 501219328 logical lvm /dev/sda5'
++ disk=/dev/sda
+++ cut -d ' ' -f 6
+++ echo '/dev/sda 2147483647 501219328 logical lvm /dev/sda5'
++ name=/dev/sda5
++ add_dependency /dev/sda5 /dev/sda
++ echo '/dev/sda5 /dev/sda'
++ add_component /dev/sda5 part
++ echo 'todo /dev/sda5 part'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot /dev/sda5 XeeNbl-BV4G-Clgr-TWIn-7E1b-gP0c-uEiQyW 51447808'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot /dev/sda5 XeeNbl-BV4G-Clgr-TWIn-7E1b-gP0c-uEiQyW 51447808'
++ part=/dev/sda5
++ add_dependency /dev/vgroot pv:/dev/sda5
++ echo '/dev/vgroot pv:/dev/sda5'
++ add_dependency pv:/dev/sda5 /dev/sda5
++ echo 'pv:/dev/sda5 /dev/sda5'
++ add_component pv:/dev/sda5 lvmdev
++ echo 'todo pv:/dev/sda5 lvmdev'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot 4096 6280 25722880'
++ name=/dev/vgroot
++ add_component /dev/vgroot lvmgrp
++ echo 'todo /dev/vgroot lvmgrp'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvvar 953 7806976'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvvar 953 7806976'
++ lvol=lvvar
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvvar
++ add_dependency /dev/mapper/vgroot-lvvar /dev/vgroot
++ echo '/dev/mapper/vgroot-lvvar /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvvar lvmvol
++ echo 'todo /dev/mapper/vgroot-lvvar lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvhome 238 1949696'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvhome 238 1949696'
++ lvol=lvhome
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvhome
++ add_dependency /dev/mapper/vgroot-lvhome /dev/vgroot
++ echo '/dev/mapper/vgroot-lvhome /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvhome lvmvol
++ echo 'todo /dev/mapper/vgroot-lvhome lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvopt 715 5857280'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvopt 715 5857280'
++ lvol=lvopt
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvopt
++ add_dependency /dev/mapper/vgroot-lvopt /dev/vgroot
++ echo '/dev/mapper/vgroot-lvopt /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvopt lvmvol
++ echo 'todo /dev/mapper/vgroot-lvopt lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvtmp 384 3145728'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvtmp 384 3145728'
++ lvol=lvtmp
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvtmp
++ add_dependency /dev/mapper/vgroot-lvtmp /dev/vgroot
++ echo '/dev/mapper/vgroot-lvtmp /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvtmp lvmvol
++ echo 'todo /dev/mapper/vgroot-lvtmp lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvswap 476 3899392'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvswap 476 3899392'
++ lvol=lvswap
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvswap
++ add_dependency /dev/mapper/vgroot-lvswap /dev/vgroot
++ echo '/dev/mapper/vgroot-lvswap /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvswap lvmvol
++ echo 'todo /dev/mapper/vgroot-lvswap lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/vgroot lvroot 1907 15622144'
++ vgrp=/dev/vgroot
+++ cut -d ' ' -f 2
+++ echo '/dev/vgroot lvroot 1907 15622144'
++ lvol=lvroot
++ dm_vgrp=/dev/vgroot
++ dm_lvol=lvroot
++ add_dependency /dev/mapper/vgroot-lvroot /dev/vgroot
++ echo '/dev/mapper/vgroot-lvroot /dev/vgroot'
++ add_component /dev/mapper/vgroot-lvroot lvmvol
++ echo 'todo /dev/mapper/vgroot-lvroot lvmvol'
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvroot / ext4 uuid=bd61f8d4-b5d6-49e3-9b48-26788ab2965b label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16368 options=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvroot
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvroot / ext4 uuid=bd61f8d4-b5d6-49e3-9b48-26788ab2965b label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16368 options=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered'
++ mp=/
++ add_dependency fs:/ /dev/mapper/vgroot-lvroot
++ echo 'fs:/ /dev/mapper/vgroot-lvroot'
++ 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
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' / '!=' / ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/sda1 /boot ext4 uuid=ddf5cb3d-d86b-4dfd-a8b1-ff9b7e445110 label= blocksize=1024 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4093 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/sda1
+++ cut -d ' ' -f 2
+++ echo '/dev/sda1 /boot ext4 uuid=ddf5cb3d-d86b-4dfd-a8b1-ff9b7e445110 label= blocksize=1024 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=4093 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ 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
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /boot '!=' /boot ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvhome /home ext4 uuid=25bd415d-241a-4724-b6f9-4664352cf0a5 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16384 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvhome
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvhome /home ext4 uuid=25bd415d-241a-4724-b6f9-4664352cf0a5 label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16384 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ mp=/home
++ add_dependency fs:/home /dev/mapper/vgroot-lvhome
++ echo 'fs:/home /dev/mapper/vgroot-lvhome'
++ add_component fs:/home fs
++ echo 'todo fs:/home fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' home '!=' /home ']'
++ '[' /home '!=' / ']'
++ add_dependency fs:/home fs:/
++ echo 'fs:/home fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /home '!=' /home ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvopt /opt ext4 uuid=af751048-859e-4de9-ae14-6d4b5123c69b label= blocksize=4096 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=16363 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvopt
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvopt /opt ext4 uuid=af751048-859e-4de9-ae14-6d4b5123c69b label= blocksize=4096 reserved_blocks=5% max_mounts=-1 check_interval=0d bytes_per_inode=16363 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ mp=/opt
++ add_dependency fs:/opt /dev/mapper/vgroot-lvopt
++ echo 'fs:/opt /dev/mapper/vgroot-lvopt'
++ add_component fs:/opt fs
++ echo 'todo fs:/opt fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' opt '!=' /opt ']'
++ '[' /opt '!=' / ']'
++ add_dependency fs:/opt fs:/
++ echo 'fs:/opt fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /opt '!=' /opt ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvtmp /tmp ext4 uuid=61f06855-c6de-46f9-b250-f3b8f37b314e label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=17623 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvtmp
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvtmp /tmp ext4 uuid=61f06855-c6de-46f9-b250-f3b8f37b314e label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=17623 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ mp=/tmp
++ add_dependency fs:/tmp /dev/mapper/vgroot-lvtmp
++ echo 'fs:/tmp /dev/mapper/vgroot-lvtmp'
++ add_component fs:/tmp fs
++ echo 'todo fs:/tmp fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' tmp '!=' /tmp ']'
++ '[' /tmp '!=' / ']'
++ add_dependency fs:/tmp fs:/
++ echo 'fs:/tmp fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /tmp '!=' /tmp ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvvar /var ext4 uuid=727dc7e2-c49d-45f8-8362-a7549bdd3f7f label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16360 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ dev=/dev/mapper/vgroot-lvvar
+++ cut -d ' ' -f 2
+++ echo '/dev/mapper/vgroot-lvvar /var ext4 uuid=727dc7e2-c49d-45f8-8362-a7549bdd3f7f label= blocksize=4096 reserved_blocks=4% max_mounts=-1 check_interval=0d bytes_per_inode=16360 options=rw,relatime,user_xattr,barrier=1,data=ordered'
++ mp=/var
++ add_dependency fs:/var /dev/mapper/vgroot-lvvar
++ echo 'fs:/var /dev/mapper/vgroot-lvvar'
++ add_component fs:/var fs
++ echo 'todo fs:/var fs'
++ read fs bd nmp junk
+++ grep '^fs' /var/lib/rear/layout/disklayout.conf
++ '[' / '!=' / ']'
++ temp_nmp=/
++ '[' var '!=' /var ']'
++ '[' /var '!=' / ']'
++ add_dependency fs:/var fs:/
++ echo 'fs:/var fs:/'
++ read fs bd nmp junk
++ '[' /boot '!=' / ']'
++ temp_nmp=/boot/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /home '!=' / ']'
++ temp_nmp=/home/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /opt '!=' / ']'
++ temp_nmp=/opt/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /tmp '!=' / ']'
++ temp_nmp=/tmp/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ '[' /var '!=' / ']'
++ temp_nmp=/var/
++ '[' /var '!=' /var ']'
++ read fs bd nmp junk
++ read type remainder
++ case $type in
+++ cut -d ' ' -f 1
+++ echo '/dev/mapper/vgroot-lvswap uuid=b0048c2d-3360-477f-8136-f3f820099b3d label='
++ dev=/dev/mapper/vgroot-lvswap
++ add_dependency swap:/dev/mapper/vgroot-lvswap /dev/mapper/vgroot-lvswap
++ echo 'swap:/dev/mapper/vgroot-lvswap /dev/mapper/vgroot-lvswap'
++ add_component swap:/dev/mapper/vgroot-lvswap swap
++ echo 'todo swap:/dev/mapper/vgroot-lvswap swap'
++ read type remainder
+ test 1
+ set +x
2013-11-22 13:45:21 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-22 13:45:21 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=94371840
+++ local disk_size=48318382080
+++ echo 48318382080
++ local disk_size=48318382080
++ [[ -n 48318382080 ]]
++ BugIfError 'Could not determine size of disk /dev/sda, please file a bug.'
++ (( 0 != 0 ))
++ [[ 48318382080 -gt 0 ]]
++ StopIfError 'Disk /dev/sda has size 48318382080, 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
++ names=("${names[@]}" $name)
++ case $name in
++ [[ -z msdos ]]
++ read part disk size pstart name junk
++ [[ 3 -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=94371840
+++ local disk_size=48318382080
+++ echo 48318382080
++ device_size=48318382080
++ [[ msdos == \g\p\t ]]
++ local start end start_mb end_mb
++ let start=32768
++ let end=0
++ local flags partition
++ read part disk size pstart name flags partition junk
+++ grep '^part /dev/sda' /var/lib/rear/layout/disklayout.conf
++ '[' -z true ']'
++ end=499154944
++ [[ -n 48318382080 ]]
++ (( end > 48318382080 ))
++ [[ primary = \e\x\t\e\n\d\e\d ]]
++ [[ -n y ]]
++ [[ -n 499154944 ]]
++ end=499154943B
++ cat
++ start=499154944
+++ awk '{printf "%u", $1+4096-($1%4096);}'
+++ echo 499154944
++ start=499159040
+++ grep -o -E '[0-9]+$'
+++ echo /dev/sda1
++ local number=1
+++ tr , ' '
+++ echo boot
++ local flags=boot
++ local flag
++ for flag in '$flags'
++ [[ boot = \n\o\n\e ]]
++ echo 'parted -s /dev/sda set 1 boot on >&2'
++ [[ msdos = \g\p\t ]]
++ read part disk size pstart name flags partition junk
++ '[' -z true ']'
++ end=499160898
++ [[ -n 48318382080 ]]
++ (( end > 48318382080 ))
++ [[ extended = \e\x\t\e\n\d\e\d ]]
++ [[ -n 48318382080 ]]
++ end=48318382080
++ [[ -n y ]]
++ [[ -n 48318382080 ]]
++ end=48318382079B
++ cat
++ start=499160898
+++ awk '{printf "%u", $1+4096-($1%4096);}'
+++ echo 499160898
++ start=499163136
+++ grep -o -E '[0-9]+$'
+++ echo /dev/sda2
++ local number=2
+++ tr , ' '
+++ echo none
++ local flags=none
++ local flag
++ for flag in '$flags'
++ [[ none = \n\o\n\e ]]
++ continue
++ [[ msdos = \g\p\t ]]
++ read part disk size pstart name flags partition junk
++ '[' -z true ']'
++ end=2646646783
++ [[ -n 48318382080 ]]
++ (( end > 48318382080 ))
++ [[ logical = \e\x\t\e\n\d\e\d ]]
++ [[ -n y ]]
++ [[ -n 2646646783 ]]
++ end=2646646782B
++ cat
++ start=2646646783
+++ awk '{printf "%u", $1+4096-($1%4096);}'
+++ echo 2646646783
++ start=2147483647
+++ grep -o -E '[0-9]+$'
+++ echo /dev/sda5
++ local number=5
+++ tr , ' '
+++ echo lvm
++ local flags=lvm
++ local flag
++ for flag in '$flags'
++ [[ lvm = \n\o\n\e ]]
++ echo 'parted -s /dev/sda set 5 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/sda5 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/sda5\ ' /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/sda5 are present, processing...'
++ test ''
++ willdodev=/dev/sda5
++ willdotype=part
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/sda5 ']'
++ create_device /dev/sda5 part
++ local device=/dev/sda5
++ local type=part
++ local name
++ cat
++ echo '# Create /dev/sda5 (part)'
++ type -t create_part
++ cat
++ mark_as_done /dev/sda5
++ Debug 'Marking /dev/sda5 as done.'
++ test ''
++ sed -i 's;todo\ /dev/sda5\ ;done\ /dev/sda5\ ;' /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/sda5 for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^pv:/dev/sda5\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/sda5'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/sda5 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for pv:/dev/sda5 are present, processing...'
++ test ''
++ willdodev=pv:/dev/sda5
++ willdotype=lvmdev
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n pv:/dev/sda5 ']'
++ create_device pv:/dev/sda5 lvmdev
++ local device=pv:/dev/sda5
++ local type=lvmdev
++ local name
++ cat
++ echo '# Create pv:/dev/sda5 (lvmdev)'
++ type -t create_lvmdev
++ create_lvmdev pv:/dev/sda5
++ local lvmdev vgrp device uuid junk
++ read lvmdev vgrp device uuid junk
+++ grep '^lvmdev.*/dev/sda5' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM PV /dev/sda5"'
++ echo 'lvm vgchange -a n vgroot || true'
++ local uuidopt=
++ local restorefileopt=
++ '[' -z true ']'
++ '[' -n y ']'
++ restorefileopt=' --norestorefile'
++ '[' -n XeeNbl-BV4G-Clgr-TWIn-7E1b-gP0c-uEiQyW ']'
++ uuidopt=' --uuid "XeeNbl-BV4G-Clgr-TWIn-7E1b-gP0c-uEiQyW"'
++ echo 'lvm pvcreate -ff --yes -v --uuid "XeeNbl-BV4G-Clgr-TWIn-7E1b-gP0c-uEiQyW" --norestorefile /dev/sda5 >&2'
++ cat
++ mark_as_done pv:/dev/sda5
++ Debug 'Marking pv:/dev/sda5 as done.'
++ test ''
++ sed -i 's;todo\ pv:/dev/sda5\ ;done\ pv:/dev/sda5\ ;' /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/vgroot for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/vgroot\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): pv:/dev/sda5'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done pv:/dev/sda5 ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/vgroot are present, processing...'
++ test ''
++ willdodev=/dev/vgroot
++ willdotype=lvmgrp
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/vgroot ']'
++ create_device /dev/vgroot lvmgrp
++ local device=/dev/vgroot
++ local type=lvmgrp
++ local name
++ cat
++ echo '# Create /dev/vgroot (lvmgrp)'
++ type -t create_lvmgrp
++ create_lvmgrp /dev/vgroot
++ '[' -z true ']'
++ local lvmgrp vgrp extentsize junk
++ read lvmgrp vgrp extentsize junk
+++ grep '^lvmgrp /dev/vgroot ' /var/lib/rear/layout/disklayout.conf
++ devices=($(grep "^lvmdev $vgrp" $LAYOUT_FILE | cut -d " " -f 3))
+++ cut -d ' ' -f 3
+++ grep '^lvmdev /dev/vgroot' /var/lib/rear/layout/disklayout.conf
++ local -a devices
++ cat
++ cat
++ mark_as_done /dev/vgroot
++ Debug 'Marking /dev/vgroot as done.'
++ test ''
++ sed -i 's;todo\ /dev/vgroot\ ;done\ /dev/vgroot\ ;' /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/vgroot-lvvar for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vgroot-lvvar\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vgroot'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vgroot ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vgroot-lvvar are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vgroot-lvvar
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vgroot-lvvar ']'
++ create_device /dev/mapper/vgroot-lvvar lvmvol
++ local device=/dev/mapper/vgroot-lvvar
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vgroot-lvvar (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vgroot-lvvar
++ '[' -z true ']'
++ local name vg lv
++ name=vgroot-lvvar
+++ sed 's/\([^-]\)-[^-].*/\1/;s/--/-/g'
++ vg=vgroot
+++ sed 's/.*[^-]-\([^-]\)/\1/;s/--/-/g'
++ lv=lvvar
++ local lvmvol vgrp lvname nrextents junk
++ read lvmvol vgrp lvname nrextents junk
+++ grep '^lvmvol /dev/vgroot lvvar ' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM volume vgroot/lvvar"'
++ echo 'lvm lvcreate -l 953 -n lvvar vgroot >&2'
++ cat
++ mark_as_done /dev/mapper/vgroot-lvvar
++ Debug 'Marking /dev/mapper/vgroot-lvvar as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vgroot-lvvar\ ;done\ /dev/mapper/vgroot-lvvar\ ;' /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/vgroot-lvhome for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vgroot-lvhome\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vgroot'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vgroot ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vgroot-lvhome are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vgroot-lvhome
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vgroot-lvhome ']'
++ create_device /dev/mapper/vgroot-lvhome lvmvol
++ local device=/dev/mapper/vgroot-lvhome
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vgroot-lvhome (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vgroot-lvhome
++ '[' -z true ']'
++ local name vg lv
++ name=vgroot-lvhome
+++ sed 's/\([^-]\)-[^-].*/\1/;s/--/-/g'
++ vg=vgroot
+++ sed 's/.*[^-]-\([^-]\)/\1/;s/--/-/g'
++ lv=lvhome
++ local lvmvol vgrp lvname nrextents junk
++ read lvmvol vgrp lvname nrextents junk
+++ grep '^lvmvol /dev/vgroot lvhome ' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM volume vgroot/lvhome"'
++ echo 'lvm lvcreate -l 238 -n lvhome vgroot >&2'
++ cat
++ mark_as_done /dev/mapper/vgroot-lvhome
++ Debug 'Marking /dev/mapper/vgroot-lvhome as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vgroot-lvhome\ ;done\ /dev/mapper/vgroot-lvhome\ ;' /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/vgroot-lvopt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vgroot-lvopt\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vgroot'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vgroot ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vgroot-lvopt are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vgroot-lvopt
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vgroot-lvopt ']'
++ create_device /dev/mapper/vgroot-lvopt lvmvol
++ local device=/dev/mapper/vgroot-lvopt
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vgroot-lvopt (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vgroot-lvopt
++ '[' -z true ']'
++ local name vg lv
++ name=vgroot-lvopt
+++ sed 's/\([^-]\)-[^-].*/\1/;s/--/-/g'
++ vg=vgroot
+++ sed 's/.*[^-]-\([^-]\)/\1/;s/--/-/g'
++ lv=lvopt
++ local lvmvol vgrp lvname nrextents junk
++ read lvmvol vgrp lvname nrextents junk
+++ grep '^lvmvol /dev/vgroot lvopt ' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM volume vgroot/lvopt"'
++ echo 'lvm lvcreate -l 715 -n lvopt vgroot >&2'
++ cat
++ mark_as_done /dev/mapper/vgroot-lvopt
++ Debug 'Marking /dev/mapper/vgroot-lvopt as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vgroot-lvopt\ ;done\ /dev/mapper/vgroot-lvopt\ ;' /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/vgroot-lvtmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vgroot-lvtmp\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vgroot'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vgroot ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vgroot-lvtmp are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vgroot-lvtmp
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vgroot-lvtmp ']'
++ create_device /dev/mapper/vgroot-lvtmp lvmvol
++ local device=/dev/mapper/vgroot-lvtmp
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vgroot-lvtmp (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vgroot-lvtmp
++ '[' -z true ']'
++ local name vg lv
++ name=vgroot-lvtmp
+++ sed 's/\([^-]\)-[^-].*/\1/;s/--/-/g'
++ vg=vgroot
+++ sed 's/.*[^-]-\([^-]\)/\1/;s/--/-/g'
++ lv=lvtmp
++ local lvmvol vgrp lvname nrextents junk
++ read lvmvol vgrp lvname nrextents junk
+++ grep '^lvmvol /dev/vgroot lvtmp ' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM volume vgroot/lvtmp"'
++ echo 'lvm lvcreate -l 384 -n lvtmp vgroot >&2'
++ cat
++ mark_as_done /dev/mapper/vgroot-lvtmp
++ Debug 'Marking /dev/mapper/vgroot-lvtmp as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vgroot-lvtmp\ ;done\ /dev/mapper/vgroot-lvtmp\ ;' /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/vgroot-lvswap for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vgroot-lvswap\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vgroot'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vgroot ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vgroot-lvswap are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vgroot-lvswap
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vgroot-lvswap ']'
++ create_device /dev/mapper/vgroot-lvswap lvmvol
++ local device=/dev/mapper/vgroot-lvswap
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vgroot-lvswap (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vgroot-lvswap
++ '[' -z true ']'
++ local name vg lv
++ name=vgroot-lvswap
+++ sed 's/\([^-]\)-[^-].*/\1/;s/--/-/g'
++ vg=vgroot
+++ sed 's/.*[^-]-\([^-]\)/\1/;s/--/-/g'
++ lv=lvswap
++ local lvmvol vgrp lvname nrextents junk
++ read lvmvol vgrp lvname nrextents junk
+++ grep '^lvmvol /dev/vgroot lvswap ' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM volume vgroot/lvswap"'
++ echo 'lvm lvcreate -l 476 -n lvswap vgroot >&2'
++ cat
++ mark_as_done /dev/mapper/vgroot-lvswap
++ Debug 'Marking /dev/mapper/vgroot-lvswap as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vgroot-lvswap\ ;done\ /dev/mapper/vgroot-lvswap\ ;' /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/vgroot-lvroot for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^/dev/mapper/vgroot-lvroot\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/vgroot'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/vgroot ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for /dev/mapper/vgroot-lvroot are present, processing...'
++ test ''
++ willdodev=/dev/mapper/vgroot-lvroot
++ willdotype=lvmvol
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n /dev/mapper/vgroot-lvroot ']'
++ create_device /dev/mapper/vgroot-lvroot lvmvol
++ local device=/dev/mapper/vgroot-lvroot
++ local type=lvmvol
++ local name
++ cat
++ echo '# Create /dev/mapper/vgroot-lvroot (lvmvol)'
++ type -t create_lvmvol
++ create_lvmvol /dev/mapper/vgroot-lvroot
++ '[' -z true ']'
++ local name vg lv
++ name=vgroot-lvroot
+++ sed 's/\([^-]\)-[^-].*/\1/;s/--/-/g'
++ vg=vgroot
+++ sed 's/.*[^-]-\([^-]\)/\1/;s/--/-/g'
++ lv=lvroot
++ local lvmvol vgrp lvname nrextents junk
++ read lvmvol vgrp lvname nrextents junk
+++ grep '^lvmvol /dev/vgroot lvroot ' /var/lib/rear/layout/disklayout.conf
++ echo 'LogPrint "Creating LVM volume vgroot/lvroot"'
++ echo 'lvm lvcreate -l 1907 -n lvroot vgroot >&2'
++ cat
++ mark_as_done /dev/mapper/vgroot-lvroot
++ Debug 'Marking /dev/mapper/vgroot-lvroot as done.'
++ test ''
++ sed -i 's;todo\ /dev/mapper/vgroot-lvroot\ ;done\ /dev/mapper/vgroot-lvroot\ ;' /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/vgroot-lvroot'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vgroot-lvroot ' /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=bd61f8d4-b5d6-49e3-9b48-26788ab2965b
++ case $fstype in
++ local blocksize= reserved_blocks= max_mounts= check_interval=
++ 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=16368
++ case $name in
++ bytes_per_inode=' -i 16368'
++ for option in '$options'
++ name=options=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data
++ value=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
++ case $name in
++ cat
++ local tunefs=tune2fs
++ '[' ext4 = ext4 ']'
++ has_binary tune4fs
++ for bin in '$@'
++ type tune4fs
++ return 1
++ '[' -n '' ']'
++ '[' -n bd61f8d4-b5d6-49e3-9b48-26788ab2965b ']'
++ echo 'tune2fs -U bd61f8d4-b5d6-49e3-9b48-26788ab2965b /dev/mapper/vgroot-lvroot >&2'
++ tune2fsopts=' -m 4 -c -1 -i 0d'
++ '[' -n ' -m 4 -c -1 -i 0d' ']'
++ echo 'tune2fs -m 4 -c -1 -i 0d /dev/mapper/vgroot-lvroot >&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=16368
++ case $name in
++ for option in '$options'
++ name=options=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data
++ value=rw,relatime,errors=remount-ro,user_xattr,barrier=1,data=ordered
++ case $name in
++ '[' -n '' ']'
++ cat
++ 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=ddf5cb3d-d86b-4dfd-a8b1-ff9b7e445110
++ case $fstype in
++ local blocksize= reserved_blocks= max_mounts= check_interval=
++ 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=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=4093
++ case $name in
++ bytes_per_inode=' -i 4093'
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ cat
++ local tunefs=tune2fs
++ '[' ext4 = ext4 ']'
++ has_binary tune4fs
++ for bin in '$@'
++ type tune4fs
++ return 1
++ '[' -n '' ']'
++ '[' -n ddf5cb3d-d86b-4dfd-a8b1-ff9b7e445110 ']'
++ echo 'tune2fs -U ddf5cb3d-d86b-4dfd-a8b1-ff9b7e445110 /dev/sda1 >&2'
++ tune2fsopts=' -m 4 -c -1 -i 0d'
++ '[' -n ' -m 4 -c -1 -i 0d' ']'
++ echo 'tune2fs -m 4 -c -1 -i 0d /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=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=4093
++ case $name in
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ '[' -n '' ']'
++ cat
++ 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 fs:/home for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^fs:/home\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (2): /dev/mapper/vgroot-lvhome fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vgroot-lvhome ' /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:/home are present, processing...'
++ test ''
++ willdodev=fs:/home
++ willdotype=fs
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n fs:/home ']'
++ create_device fs:/home fs
++ local device=fs:/home
++ local type=fs
++ local name
++ cat
++ echo '# Create fs:/home (fs)'
++ type -t create_fs
++ create_fs fs:/home
++ local fs device mp fstype uuid label options
++ read fs device mp fstype uuid label options
+++ grep '^fs.* /home ' /var/lib/rear/layout/disklayout.conf
++ label=
++ uuid=25bd415d-241a-4724-b6f9-4664352cf0a5
++ case $fstype in
++ local blocksize= reserved_blocks= max_mounts= check_interval=
++ 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=16384
++ case $name in
++ bytes_per_inode=' -i 16384'
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ cat
++ local tunefs=tune2fs
++ '[' ext4 = ext4 ']'
++ has_binary tune4fs
++ for bin in '$@'
++ type tune4fs
++ return 1
++ '[' -n '' ']'
++ '[' -n 25bd415d-241a-4724-b6f9-4664352cf0a5 ']'
++ echo 'tune2fs -U 25bd415d-241a-4724-b6f9-4664352cf0a5 /dev/mapper/vgroot-lvhome >&2'
++ tune2fsopts=' -m 4 -c -1 -i 0d'
++ '[' -n ' -m 4 -c -1 -i 0d' ']'
++ echo 'tune2fs -m 4 -c -1 -i 0d /dev/mapper/vgroot-lvhome >&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=16384
++ case $name in
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ '[' -n '' ']'
++ cat
++ cat
++ mark_as_done fs:/home
++ Debug 'Marking fs:/home as done.'
++ test ''
++ sed -i 's;todo\ fs:/home\ ;done\ fs:/home\ ;' /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:/opt for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^fs:/opt\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (2): /dev/mapper/vgroot-lvopt fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vgroot-lvopt ' /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:/opt are present, processing...'
++ test ''
++ willdodev=fs:/opt
++ willdotype=fs
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n fs:/opt ']'
++ create_device fs:/opt fs
++ local device=fs:/opt
++ local type=fs
++ local name
++ cat
++ echo '# Create fs:/opt (fs)'
++ type -t create_fs
++ create_fs fs:/opt
++ local fs device mp fstype uuid label options
++ read fs device mp fstype uuid label options
+++ grep '^fs.* /opt ' /var/lib/rear/layout/disklayout.conf
++ label=
++ uuid=af751048-859e-4de9-ae14-6d4b5123c69b
++ case $fstype in
++ local blocksize= reserved_blocks= max_mounts= check_interval=
++ 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=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=16363
++ case $name in
++ bytes_per_inode=' -i 16363'
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ cat
++ local tunefs=tune2fs
++ '[' ext4 = ext4 ']'
++ has_binary tune4fs
++ for bin in '$@'
++ type tune4fs
++ return 1
++ '[' -n '' ']'
++ '[' -n af751048-859e-4de9-ae14-6d4b5123c69b ']'
++ echo 'tune2fs -U af751048-859e-4de9-ae14-6d4b5123c69b /dev/mapper/vgroot-lvopt >&2'
++ tune2fsopts=' -m 5 -c -1 -i 0d'
++ '[' -n ' -m 5 -c -1 -i 0d' ']'
++ echo 'tune2fs -m 5 -c -1 -i 0d /dev/mapper/vgroot-lvopt >&2'
++ local option mountopts
++ for option in '$options'
++ name=blocksize
++ value=4096
++ 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=16363
++ case $name in
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ '[' -n '' ']'
++ cat
++ cat
++ mark_as_done fs:/opt
++ Debug 'Marking fs:/opt as done.'
++ test ''
++ sed -i 's;todo\ fs:/opt\ ;done\ fs:/opt\ ;' /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:/tmp for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^fs:/tmp\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (2): /dev/mapper/vgroot-lvtmp fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vgroot-lvtmp ' /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:/tmp are present, processing...'
++ test ''
++ willdodev=fs:/tmp
++ willdotype=fs
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n fs:/tmp ']'
++ create_device fs:/tmp fs
++ local device=fs:/tmp
++ local type=fs
++ local name
++ cat
++ echo '# Create fs:/tmp (fs)'
++ type -t create_fs
++ create_fs fs:/tmp
++ local fs device mp fstype uuid label options
++ read fs device mp fstype uuid label options
+++ grep '^fs.* /tmp ' /var/lib/rear/layout/disklayout.conf
++ label=
++ uuid=61f06855-c6de-46f9-b250-f3b8f37b314e
++ case $fstype in
++ local blocksize= reserved_blocks= max_mounts= check_interval=
++ 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=17623
++ case $name in
++ bytes_per_inode=' -i 17623'
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ cat
++ local tunefs=tune2fs
++ '[' ext4 = ext4 ']'
++ has_binary tune4fs
++ for bin in '$@'
++ type tune4fs
++ return 1
++ '[' -n '' ']'
++ '[' -n 61f06855-c6de-46f9-b250-f3b8f37b314e ']'
++ echo 'tune2fs -U 61f06855-c6de-46f9-b250-f3b8f37b314e /dev/mapper/vgroot-lvtmp >&2'
++ tune2fsopts=' -m 4 -c -1 -i 0d'
++ '[' -n ' -m 4 -c -1 -i 0d' ']'
++ echo 'tune2fs -m 4 -c -1 -i 0d /dev/mapper/vgroot-lvtmp >&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=17623
++ case $name in
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ '[' -n '' ']'
++ cat
++ cat
++ mark_as_done fs:/tmp
++ Debug 'Marking fs:/tmp as done.'
++ test ''
++ sed -i 's;todo\ fs:/tmp\ ;done\ fs:/tmp\ ;' /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:/var for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^fs:/var\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (2): /dev/mapper/vgroot-lvvar fs:/'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vgroot-lvvar ' /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:/var are present, processing...'
++ test ''
++ willdodev=fs:/var
++ willdotype=fs
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n fs:/var ']'
++ create_device fs:/var fs
++ local device=fs:/var
++ local type=fs
++ local name
++ cat
++ echo '# Create fs:/var (fs)'
++ type -t create_fs
++ create_fs fs:/var
++ local fs device mp fstype uuid label options
++ read fs device mp fstype uuid label options
+++ grep '^fs.* /var ' /var/lib/rear/layout/disklayout.conf
++ label=
++ uuid=727dc7e2-c49d-45f8-8362-a7549bdd3f7f
++ case $fstype in
++ local blocksize= reserved_blocks= max_mounts= check_interval=
++ 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=16360
++ case $name in
++ bytes_per_inode=' -i 16360'
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ cat
++ local tunefs=tune2fs
++ '[' ext4 = ext4 ']'
++ has_binary tune4fs
++ for bin in '$@'
++ type tune4fs
++ return 1
++ '[' -n '' ']'
++ '[' -n 727dc7e2-c49d-45f8-8362-a7549bdd3f7f ']'
++ echo 'tune2fs -U 727dc7e2-c49d-45f8-8362-a7549bdd3f7f /dev/mapper/vgroot-lvvar >&2'
++ tune2fsopts=' -m 4 -c -1 -i 0d'
++ '[' -n ' -m 4 -c -1 -i 0d' ']'
++ echo 'tune2fs -m 4 -c -1 -i 0d /dev/mapper/vgroot-lvvar >&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=16360
++ case $name in
++ for option in '$options'
++ name=options=rw,relatime,user_xattr,barrier=1,data
++ value=rw,relatime,user_xattr,barrier=1,data=ordered
++ case $name in
++ '[' -n '' ']'
++ cat
++ cat
++ mark_as_done fs:/var
++ Debug 'Marking fs:/var as done.'
++ test ''
++ sed -i 's;todo\ fs:/var\ ;done\ fs:/var\ ;' /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/vgroot-lvswap for dependencies...'
++ test ''
++ deps=($(grep "^$thisdev\ " $LAYOUT_DEPS | cut -d " " -f "2"))
+++ cut -d ' ' -f 2
+++ grep '^swap:/dev/mapper/vgroot-lvswap\ ' /var/lib/rear/layout/diskdeps.conf
++ Debug 'deps (1): /dev/mapper/vgroot-lvswap'
++ test ''
++ donedeps=0
++ for dep in '"${deps[@]}"'
++ grep -q 'done /dev/mapper/vgroot-lvswap ' /var/lib/rear/layout/disktodo.conf.tmp
++ let donedeps=donedeps+1
++ '[' 1 -eq 1 ']'
++ Debug 'All dependencies for swap:/dev/mapper/vgroot-lvswap are present, processing...'
++ test ''
++ willdodev=swap:/dev/mapper/vgroot-lvswap
++ willdotype=swap
++ break
++ rm /var/lib/rear/layout/disktodo.conf.tmp
++ '[' -n swap:/dev/mapper/vgroot-lvswap ']'
++ create_device swap:/dev/mapper/vgroot-lvswap swap
++ local device=swap:/dev/mapper/vgroot-lvswap
++ local type=swap
++ local name
++ cat
++ echo '# Create swap:/dev/mapper/vgroot-lvswap (swap)'
++ type -t create_swap
++ create_swap swap:/dev/mapper/vgroot-lvswap
++ local swap device uuid label junk
++ read swap device uuid label junk
+++ grep '^swap /dev/mapper/vgroot-lvswap ' /var/lib/rear/layout/disklayout.conf
++ [[ -n y ]]
++ [[ -n b0048c2d-3360-477f-8136-f3f820099b3d ]]
++ uuid='-U b0048c2d-3360-477f-8136-f3f820099b3d '
++ [[ -n '' ]]
++ label=
++ echo 'LogPrint "Creating swap on /dev/mapper/vgroot-lvswap"'
++ echo 'mkswap -U b0048c2d-3360-477f-8136-f3f820099b3d /dev/mapper/vgroot-lvswap >&2'
++ cat
++ mark_as_done swap:/dev/mapper/vgroot-lvswap
++ Debug 'Marking swap:/dev/mapper/vgroot-lvswap as done.'
++ test ''
++ sed -i 's;todo\ swap:/dev/mapper/vgroot-lvswap\ ;done\ swap:/dev/mapper/vgroot-lvswap\ ;' /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-22 13:45:21 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-22 13:45:21 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-22 13:45:21 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-22 13:45:21 Finished running 'layout/prepare' stage in 13 seconds
2013-11-22 13:45:21 Running 'layout/recreate' stage
2013-11-22 13:45:21 Including layout/recreate/default/10_ask_confirmation.sh
+ . /usr/share/rear/layout/recreate/default/10_ask_confirmation.sh
++ [[ -z true ]]
++ LogPrint 'Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
++ Log 'Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:21 Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
2013-11-22 13:45:21 Please confirm that '/var/lib/rear/layout/diskrestore.sh' is as you expect.
++ Print 'Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
++ test 1
++ echo -e 'Please confirm that '\''/var/lib/rear/layout/diskrestore.sh'\'' is as you expect.'
++ Print ''
++ test 1
++ echo -e ''
++ choices=("View restore script (diskrestore.sh)" "Edit restore script (diskrestore.sh)" "View original disk space usage" "Go to Relax-and-Recover shell" "Continue recovery" "Abort Relax-and-Recover")
++ Log 'User selected: 5) Continue recovery'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:26 User selected: 5) Continue recovery'
2013-11-22 13:45:26 User selected: 5) Continue recovery
++ (( REPLY == 6 ))
++ chmod +x /var/lib/rear/layout/diskrestore.sh
+ test 1
+ set +x
2013-11-22 13:45:26 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-22 13:45:26 Start system layout restoration.'
2013-11-22 13:45:26 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.eOwfN97I2KNNYF8/tmp/touch/rear-vgchange ']'
+++ return 0
+++ lvm vgchange -a n
No volume groups found
+++ component_created vgchange rear
+++ local device=vgchange
+++ local type=rear
+++ local touchfile=rear-vgchange
+++ touch /tmp/rear.eOwfN97I2KNNYF8/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.eOwfN97I2KNNYF8/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-22 13:45:26 Erasing MBR of disk /dev/sda'
2013-11-22 13:45:26 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.058993 s, 8.7 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-22 13:45:26 Creating partitions for disk /dev/sda (msdos)'
2013-11-22 13:45:26 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 32768B 499154943B
Warning: The resulting partition is not properly aligned for best performance.
+++ parted -s /dev/sda set 1 boot on
+++ parted -s /dev/sda mkpart extended 499159040B 48318382079B
Warning: The resulting partition is not properly aligned for best performance.
+++ parted -s /dev/sda mkpart logical 499163136B 2646646782B
Warning: The resulting partition is not properly aligned for best performance.
+++ parted -s /dev/sda set 5 lvm on
+++ partprobe -s /dev/sda
/dev/sda: msdos partitions 1 2 <5>
+++ 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.eOwfN97I2KNNYF8/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.eOwfN97I2KNNYF8/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.eOwfN97I2KNNYF8/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.eOwfN97I2KNNYF8/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.eOwfN97I2KNNYF8/tmp/touch/part--dev-sda2
+++ create_component /dev/sda5 part
+++ local device=/dev/sda5
+++ local type=part
+++ local touchfile=part--dev-sda5
+++ '[' -e /tmp/rear.eOwfN97I2KNNYF8/tmp/touch/part--dev-sda5 ']'
+++ return 0
+++ component_created /dev/sda5 part
+++ local device=/dev/sda5
+++ local type=part
+++ local touchfile=part--dev-sda5
+++ touch /tmp/rear.eOwfN97I2KNNYF8/tmp/touch/part--dev-sda5
+++ create_component pv:/dev/sda5 lvmdev
+++ local device=pv:/dev/sda5
+++ local type=lvmdev
+++ local touchfile=lvmdev-pv:-dev-sda5
+++ '[' -e /tmp/rear.eOwfN97I2KNNYF8/tmp/touch/lvmdev-pv:-dev-sda5 ']'
+++ return 0
+++ LogPrint 'Creating LVM PV /dev/sda5'
+++ Log 'Creating LVM PV /dev/sda5'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-22 13:45:36 Creating LVM PV /dev/sda5'
2013-11-22 13:45:36 Creating LVM PV /dev/sda5
+++ Print 'Creating LVM PV /dev/sda5'
+++ test 1
+++ echo -e 'Creating LVM PV /dev/sda5'
+++ lvm vgchange -a n vgroot
Volume group "vgroot" not found
+++ true
+++ lvm pvcreate -ff --yes -v --uuid XeeNbl-BV4G-Clgr-TWIn-7E1b-gP0c-uEiQyW --norestorefile /dev/sda5
Set up physical volume for "/dev/sda5" with 4194304 available sectors
Writing physical volume data to disk "/dev/sda5"
Physical volume "/dev/sda5" successfully created
+++ component_created pv:/dev/sda5 lvmdev
+++ local device=pv:/dev/sda5
+++ local type=lvmdev
+++ local touchfile=lvmdev-pv:-dev-sda5
+++ touch /tmp/rear.eOwfN97I2KNNYF8/tmp/touch/lvmdev-pv:-dev-sda5
+++ create_component /dev/vgroot lvmgrp
+++ local device=/dev/vgroot
+++ local type=lvmgrp
+++ local touchfile=lvmgrp--dev-vgroot
+++ '[' -e /tmp/rear.eOwfN97I2KNNYF8/tmp/touch/lvmgrp--dev-vgroot ']'
+++ return 0
+++ LogPrint 'Creating LVM VG vgroot'
+++ Log 'Creating LVM VG vgroot'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-22 13:45:36 Creating LVM VG vgroot'
2013-11-22 13:45:36 Creating LVM VG vgroot
+++ Print 'Creating LVM VG vgroot'
+++ test 1
+++ echo -e 'Creating LVM VG vgroot'
+++ '[' -e /dev/vgroot ']'
+++ rm -rf /dev/vgroot
+++ lvm vgcreate --physicalextentsize 4096k vgroot /dev/sda5
Volume group "vgroot" successfully created
+++ lvm vgchange --available y vgroot
0 logical volume(s) in volume group "vgroot" now active
+++ component_created /dev/vgroot lvmgrp
+++ local device=/dev/vgroot
+++ local type=lvmgrp
+++ local touchfile=lvmgrp--dev-vgroot
+++ touch /tmp/rear.eOwfN97I2KNNYF8/tmp/touch/lvmgrp--dev-vgroot
+++ create_component /dev/mapper/vgroot-lvvar lvmvol
+++ local device=/dev/mapper/vgroot-lvvar
+++ local type=lvmvol
+++ local touchfile=lvmvol--dev-mapper-vgroot-lvvar
+++ '[' -e /tmp/rear.eOwfN97I2KNNYF8/tmp/touch/lvmvol--dev-mapper-vgroot-lvvar ']'
+++ return 0
+++ LogPrint 'Creating LVM volume vgroot/lvvar'
+++ Log 'Creating LVM volume vgroot/lvvar'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-22 13:45:36 Creating LVM volume vgroot/lvvar'
2013-11-22 13:45:36 Creating LVM volume vgroot/lvvar
+++ Print 'Creating LVM volume vgroot/lvvar'
+++ test 1
+++ echo -e 'Creating LVM volume vgroot/lvvar'
+++ lvm lvcreate -l 953 -n lvvar vgroot
Volume group "vgroot" has insufficient free space (511 extents): 953 required.
++ (( 1 == 0 ))
++ LogPrint 'An error occured during layout recreation.'
++ Log 'An error occured during layout recreation.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:36 An error occured during layout recreation.'
2013-11-22 13:45:36 An error occured during layout recreation.
++ Print 'An error occured during layout recreation.'
++ test 1
++ echo -e 'An error occured during layout recreation.'
++ Print ''
++ test 1
++ echo -e ''
++ choices=("View Relax-and-Recover log" "View original disk space usage" "Go to Relax-and-Recover shell" "Edit restore script (diskrestore.sh)" "Continue restore script" "Abort Relax-and-Recover")
+++ stat --format=%Y /var/lib/rear/layout/diskrestore.sh
++ timestamp=1385124321
++ Log 'User selected: 6) Abort Relax-and-Recover'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:52 User selected: 6) Abort Relax-and-Recover'
2013-11-22 13:45:52 User selected: 6) Abort Relax-and-Recover
++ (( REPLY == 6 ))
++ abort_recreate
++ Log 'Error detected during restore.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:52 Error detected during restore.'
2013-11-22 13:45:52 Error detected during restore.
++ Log 'Restoring backup of /var/lib/rear/layout/disklayout.conf'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:52 Restoring backup of /var/lib/rear/layout/disklayout.conf'
2013-11-22 13:45:52 Restoring backup of /var/lib/rear/layout/disklayout.conf
++ restore_backup /var/lib/rear/layout/disklayout.conf
++ cp -ar /var/lib/rear/layout/disklayout.conf.20131122.261.bak /var/lib/rear/layout/disklayout.conf
++ Error 'There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details.'
++ '[' There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details. -eq There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details. ']'
++ EXIT_CODE=1
++ VERBOSE=1
++ LogPrint 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details.'
++ Log 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details.'
++ test 1 -gt 0
+++ Stamp
+++ date '+%Y-%m-%d %H:%M:%S '
++ echo '2013-11-22 13:45:52 ERROR: There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details.'
2013-11-22 13:45:52 ERROR: There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details.
++ Print 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details.'
++ test 1
++ echo -e 'ERROR: There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details.'
++ has_binary caller
++ for bin in '$@'
++ type caller
++ return 0
++ echo '=== Stack trace ==='
=== Stack trace ===
++ local c=0
++ awk '
{ l[NR]=$3":"$1" "$2 }
END { for (i=NR; i>0;) print "Trace "NR-i": "l[i--] }
'
++ caller 0
++ :
++ caller 1
++ :
++ caller 2
++ :
++ caller 3
++ :
++ caller 4
++ :
++ caller 5
Trace 0: /bin/rear:245 main
Trace 1: /usr/share/rear/lib/recover-workflow.sh:30 WORKFLOW_recover
Trace 2: /usr/share/rear/lib/framework-functions.sh:79 SourceStage
Trace 3: /usr/share/rear/lib/framework-functions.sh:40 Source
Trace 4: /usr/share/rear/layout/recreate/default/20_run_script.sh:63 source
++ echo 'Message: There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details.'
Message: There was an error restoring the system layout. See /var/log/rear/rear-peb1apt01.log for details.
++ echo ===================
===================
++ kill -USR1 261
+++ echo 'Aborting due to an error, check /var/log/rear/rear-peb1apt01.log for details'
+++ kill 261
+++ DoExitTasks
+++ Log 'Running exit tasks.'
+++ test 1 -gt 0
++++ Stamp
++++ date '+%Y-%m-%d %H:%M:%S '
+++ echo '2013-11-22 13:45:52 Running exit tasks.'
2013-11-22 13:45:52 Running exit tasks.
+++ JOBS=($(jobs -p))
++++ jobs -p
+++ test ''
+++ for task in '"${EXIT_TASKS[@]}"'
+++ Debug 'Exit task '\''cleanup_build_area_and_end_program'\'''
+++ test ''
+++ eval cleanup_build_area_and_end_program
++++ cleanup_build_area_and_end_program
++++ Log 'Finished in 67 seconds'
++++ test 1 -gt 0
+++++ Stamp
+++++ date '+%Y-%m-%d %H:%M:%S '
++++ echo '2013-11-22 13:45:52 Finished in 67 seconds'
2013-11-22 13:45:52 Finished in 67 seconds
++++ test ''
++++ Log 'Removing build area /tmp/rear.eOwfN97I2KNNYF8'
++++ test 1 -gt 0
+++++ Stamp
+++++ date '+%Y-%m-%d %H:%M:%S '
++++ echo '2013-11-22 13:45:52 Removing build area /tmp/rear.eOwfN97I2KNNYF8'
2013-11-22 13:45:52 Removing build area /tmp/rear.eOwfN97I2KNNYF8
++++ rm -Rf /tmp/rear.eOwfN97I2KNNYF8/tmp
++++ rm -Rf /tmp/rear.eOwfN97I2KNNYF8/rootfs
++++ rmdir -v /tmp/rear.eOwfN97I2KNNYF8
rmdir: removing directory, `/tmp/rear.eOwfN97I2KNNYF8'
++++ Log 'End of program reached'
++++ test 1 -gt 0
+++++ Stamp
+++++ date '+%Y-%m-%d %H:%M:%S '
++++ echo '2013-11-22 13:45:52 End of program reached'
2013-11-22 13:45:52 End of program reached
+++ for task in '"${EXIT_TASKS[@]}"'
+++ Debug 'Exit task '\''exec 8>&-'\'''
+++ test ''
+++ eval 'exec 8>&-'
++++ exec
+++ for task in '"${EXIT_TASKS[@]}"'
+++ Debug 'Exit task '\''exec 7>&-'\'''
+++ test ''
+++ eval 'exec 7>&-'
++++ exec
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment