(CommandList children: [ (FuncDef name: is_disk body: (BraceGroup children: [ (ForEach iter_name: _dsk iter_words: [ { (CommandSubPart command_list: (CommandList children:[(C {(sysctl)} {(-n)} {(kern.disks)})]) left_token: <Left_Backtick '`'> spids: [99 105] ) } ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$_dsk'))} {(Lit_Other '=')} {(DQ (${ VSub_Number 1))} {(Lit_Other ']')} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ (/dev/) ($ VSub_Name '$_dsk'))} {(Lit_Other '=')} {(DQ (${ VSub_Number 1))} {(Lit_Other ']')} ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] ) ] spids: [108 158] ) spids: [98 16777215] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [90] ) spids: [86 89] ) (Sentence child: (FuncDef name: get_partition_sysid_mbr body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:INPART) op:Equal rhs:{(DQ (0))} spids:[179])] spids: [179] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [185] ) ] spids: [185] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PARTNUM) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Number 2)}) (C {(sed)} {(DQ ('s|') (${ VSub_Name DISK) ('s||g'))}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [192 210] ) } spids: [191] ) ] spids: [191] ) (SimpleCommand words: [{(fdisk)} {(${ VSub_Name DISK)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [219] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [228] ) ] ) (While cond: [(C {(read)} {(i)})] body: (DoGroup children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$i'))}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('The data for partition'))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [258] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INPART) op: Equal rhs: {(DQ (0))} spids: [279] ) ] spids: [279] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PART) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(5)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [287 307] ) ) } spids: [285] ) ] spids: [285] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PART'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$PARTNUM'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INPART) op: Equal rhs: {(DQ (1))} spids: [332] ) ] spids: [332] ) ] spids: [16777215 329] ) ] spids: [16777215 338] ) ] spids: [16777215 276] ) ] spids: [16777215 341] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPART'))} {(Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$i'))}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^sysid'))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [386] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SYSID) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)} ) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(2)} ) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [409 443] ) ) } spids: [407] ) ] spids: [407] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 404] ) ] spids: [16777215 450] ) ] spids: [16777215 367] ) ] spids: [16777215 454] ) ] spids: [239 458] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [460] ) ] ) (C {(rm)} {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)}) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name SYSID))}) ] spids: [176] ) spids: [172 175] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_partition_label_mbr body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:INPART) op:Equal rhs:{(DQ (0))} spids:[506])] spids: [506] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [512] ) ] spids: [512] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PARTNUM) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Number 2)}) (C {(sed)} {(DQ ('s|') (${ VSub_Name DISK) ('s||g'))}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [519 537] ) } spids: [518] ) ] spids: [518] ) (SimpleCommand words: [{(fdisk)} {(${ VSub_Name DISK)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [546] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [555] ) ] ) (While cond: [(C {(read)} {(i)})] body: (DoGroup children: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$i'))}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('The data for partition'))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [585] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INPART) op: Equal rhs: {(DQ (0))} spids: [606] ) ] spids: [606] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PART) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(5)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [614 634] ) ) } spids: [612] ) ] spids: [612] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PART'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$PARTNUM'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INPART) op: Equal rhs: {(DQ (1))} spids: [659] ) ] spids: [659] ) ] spids: [16777215 656] ) ] spids: [16777215 665] ) ] spids: [16777215 603] ) ] spids: [16777215 668] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPART'))} {(Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Pipeline children: [ (C {(echo)} {(DQ ($ VSub_Name '$i'))}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^sysid'))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [713] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LABEL) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)} ) (C {(cut)} {(-d)} {(SQ <','>)} {(-f)} {(2-10)} ) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [736 770] ) ) } spids: [734] ) ] spids: [734] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 731] ) ] spids: [16777215 777] ) ] spids: [16777215 694] ) ] spids: [16777215 781] ) ] spids: [566 785] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [787] ) ] ) (C {(rm)} {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)}) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name LABEL))}) ] spids: [503] ) spids: [499 502] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_partition_label_gpt body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [833] ) ] spids: [833] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PARTNUM) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Number 2)}) (C {(sed)} {(DQ ('s|') (${ VSub_Name DISK) ('p||g'))}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [842 860] ) } spids: [841] ) ] spids: [841] ) (SimpleCommand words: [{(gpart)} {(show)} {(${ VSub_Name DISK)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [872] ) ] ) (While cond: [(C {(read)} {(i)})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SLICE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(grep)} {(-v)} {(${ VSub_Name DISK)}) (C {(grep)} {(-v)} {(SQ <' free '>)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(3)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [894 947] ) ) } spids: [892] ) ] spids: [892] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (${ VSub_Name SLICE))} {(Lit_Other '=')} {(DQ (${ VSub_Name PARTNUM))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LABEL) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(grep)} {(-v)} {(${ VSub_Name DISK)}) (C {(grep)} {(-v)} {(SQ <' free '>)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(4)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [978 1031] ) ) } spids: [976] ) ] spids: [976] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 973] ) ] spids: [16777215 1038] ) ] spids: [889 1041] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [1043] ) ] ) (C {(rm)} {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)}) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name LABEL))}) ] spids: [830] ) spids: [826 829] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_partition_startblock body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1088] ) ] spids: [1088] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PARTNUM) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Number 2)}) (C {(sed)} {(DQ ('s|') (${ VSub_Name DISK) ('p||g'))}) (C {(sed)} {(DQ ('s|') (${ VSub_Name DISK) ('s||g'))}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1097 1127] ) } spids: [1096] ) ] spids: [1096] ) (SimpleCommand words: [{(gpart)} {(show)} {(${ VSub_Name DISK)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [1139] ) ] ) (While cond: [(C {(read)} {(i)})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SLICE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(grep)} {(-v)} {(${ VSub_Name DISK)}) (C {(grep)} {(-v)} {(SQ <' free '>)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(3)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1161 1214] ) ) } spids: [1159] ) ] spids: [1159] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SLICE'))} {(Lit_Other '=')} {(DQ (${ VSub_Name PARTNUM))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SB) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(grep)} {(-v)} {(${ VSub_Name DISK)}) (C {(grep)} {(-v)} {(SQ <' free '>)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(1)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1243 1296] ) ) } spids: [1241] ) ] spids: [1241] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 1238] ) ] spids: [16777215 1303] ) ] spids: [1156 1306] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [1308] ) ] ) (C {(rm)} {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)}) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name SB))}) ] spids: [1085] ) spids: [1081 1084] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_partition_blocksize body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {(DQ (${ VSub_Number 1))} spids: [1353] ) ] spids: [1353] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PARTNUM) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Number 2)}) (C {(sed)} {(DQ ('s|') (${ VSub_Name DISK) ('p||g'))}) (C {(sed)} {(DQ ('s|') (${ VSub_Name DISK) ('s||g'))}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1362 1392] ) } spids: [1361] ) ] spids: [1361] ) (SimpleCommand words: [{(gpart)} {(show)} {(${ VSub_Name DISK)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [1404] ) ] ) (While cond: [(C {(read)} {(i)})] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SLICE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(grep)} {(-v)} {(${ VSub_Name DISK)}) (C {(grep)} {(-v)} {(SQ <' free '>)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(3)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1426 1479] ) ) } spids: [1424] ) ] spids: [1424] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SLICE'))} {(Lit_Other '=')} {(DQ (${ VSub_Name PARTNUM))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BS) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(grep)} {(-v)} {(${ VSub_Name DISK)}) (C {(grep)} {(-v)} {(SQ <' free '>)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(2)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1508 1561] ) ) } spids: [1506] ) ] spids: [1506] ) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 1503] ) ] spids: [16777215 1568] ) ] spids: [1421 1571] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)} spids: [1573] ) ] ) (C {(rm)} {(${ VSub_Name TMPDIR) (/disk-) (${ VSub_Name DISK)}) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name BS))}) ] spids: [1350] ) spids: [1346 1349] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_disk_partitions body: (BraceGroup children: [ (SimpleCommand words: [{(gpart)} {(show)} {(${ VSub_Number 1)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [1626] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [1629] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (C {(export)} {(Lit_VarLike 'VAL=') (DQ )}) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 1647] ) ] spids: [16777215 1660] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:type) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(gpart)} {(show)} {(${ VSub_Number 1)}) (C {(awk)} {(SQ <'/^=>/ { printf("%s",$5); }'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1665 1681] ) } spids: [1664] ) ] spids: [1664] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SLICES) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(gpart)} {(show)} {(${ VSub_Number 1)}) (C {(grep)} {(-v)} {(${ VSub_Number 1)}) (C {(grep)} {(-v)} {(SQ <' free '>)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(4)}) (C {(sed)} {(SQ <'/^$/d'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1687 1750] ) ) } spids: [1685] ) ] spids: [1685] ) (ForEach iter_name: i iter_words: [{(${ VSub_Name SLICES)}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$type')} arms: [ (case_arm pat_list: [{(MBR)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ (${ VSub_Number 1) (s) (${ VSub_Name i))} spids: [1778] ) ] spids: [1778] ) ] spids: [1775 1776 1789 16777215] ) (case_arm pat_list: [{(GPT)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ (${ VSub_Number 1) (p) (${ VSub_Name i))} spids: [1795] ) ] spids: [1795] ) ] spids: [1792 1793 1805 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: {(DQ (${ VSub_Number 1) (s) (${ VSub_Name i))} spids: [1811] ) ] spids: [1811] ) ] spids: [1808 1809 1821 16777215] ) ] spids: [1768 1772 1824] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name RSLICES))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RSLICES) op: Equal rhs: {(DQ (${ VSub_Name name))} spids: [1845] ) ] spids: [1845] ) ] spids: [16777215 1842] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RSLICES) op: Equal rhs: {(DQ (${ VSub_Name RSLICES) (' ') (${ VSub_Name name))} spids: [1856] ) ] spids: [1856] ) ] spids: [1853 1868] ) ] spids: [1765 1871] ) spids: [1759 16777215] ) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name RSLICES))}) ] spids: [1615] ) spids: [1611 1614] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_disk_cyl body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cyl) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(diskinfo)} {(-v)} {(${ VSub_Number 1)}) (C {(grep)} {(DQ ('# Cylinders'))}) (C {(tr)} {(-s)} {(SQ <' '>)}) (C {(cut)} {(-f)} {(2)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1899 1933] ) } spids: [1898] ) ] spids: [1898] ) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name cyl))}) ] spids: [1895] ) spids: [1891 1894] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_disk_sectors body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sec) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(diskinfo)} {(-v)} {(${ VSub_Number 1)}) (C {(grep)} {(DQ ('# Sectors'))}) (C {(tr)} {(-s)} {(SQ <' '>)}) (C {(cut)} {(-f)} {(2)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [1960 1994] ) } spids: [1959] ) ] spids: [1959] ) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name sec))}) ] spids: [1956] ) spids: [1952 1955] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_disk_heads body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:head) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(diskinfo)} {(-v)} {(${ VSub_Number 1)}) (C {(grep)} {(DQ ('# Heads'))}) (C {(tr)} {(-s)} {(SQ <' '>)}) (C {(cut)} {(-f)} {(2)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2021 2055] ) } spids: [2020] ) ] spids: [2020] ) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name head))}) ] spids: [2017] ) spids: [2013 2016] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_disk_mediasize body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mediasize) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(diskinfo)} {(-v)} {(${ VSub_Number 1)}) (C {(grep)} {(DQ ('# mediasize in sectors'))}) (C {(tr)} {(-s)} {(SQ <' '>)}) (C {(cut)} {(-f)} {(2)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2082 2116] ) } spids: [2081] ) ] spids: [2081] ) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name mediasize))}) ] spids: [2078] ) spids: [2074 2077] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: get_disk_mediasize_mb body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mediasize) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(diskinfo)} {(-v)} {(${ VSub_Number 1)}) (C {(grep)} {(DQ ('# mediasize in bytes'))}) (C {(tr)} {(-s)} {(SQ <' '>)}) (C {(cut)} {(-f)} {(2)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2143 2177] ) } spids: [2142] ) ] spids: [2142] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mediasize) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$mediasize')} {(/)} {(1024)})] ) left_token: <Left_Backtick '`'> spids: [2181 2189] ) } spids: [2180] ) ] spids: [2180] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mediasize) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(expr)} {($ VSub_Name '$mediasize')} {(/)} {(1024)})] ) left_token: <Left_Backtick '`'> spids: [2193 2201] ) } spids: [2192] ) ] spids: [2192] ) (C {(export)} {(Lit_VarLike 'VAL=') (DQ (${ VSub_Name mediasize))}) ] spids: [2139] ) spids: [2135 2138] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: delete_all_gpart body: (BraceGroup children: [ (C {(echo_log)} {(DQ ('Deleting all gparts'))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [2236] ) ] spids: [2234] ) (ForEach iter_name: i iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(swapctl)} {(-l)}) (C {(grep)} {(DQ ($ VSub_Name '$DISK'))}) (C {(awk)} {(SQ <'{print $1}'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2253 2273] ) } ] do_arg_iter: F body: (DoGroup children: [ (SimpleCommand words: [{(swapoff)} {(${ VSub_Name i)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2285] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2288] ) ] ) ] spids: [2276 2292] ) spids: [2252 16777215] ) (ForEach iter_name: i iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (SimpleCommand words: [{(gpart)} {(show)} {(${ VSub_Name DISK)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2315] ) ] ) (C {(tr)} {(-s)} {(SQ <' '>)}) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(4)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2306 2341] ) } ] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (/dev/) (${ VSub_Name i))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (${ VSub_Name DISK))} {(-a)} {(DQ (${ VSub_Name i))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (-))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(rc_nohalt)} { (DQ ('gpart delete -i ') (${ VSub_Name i) (' ') (${ VSub_Name DISK)) } ) ] spids: [16777215 2386] ) ] spids: [16777215 2403] ) ] spids: [2344 2406] ) spids: [2305 16777215] ) (C {(rc_nohalt)} {(DQ ('gpart destroy ') (${ VSub_Name DISK))}) (C {(wipe_metadata)} {(DQ (${ VSub_Name DISK))}) ] spids: [2224] ) spids: [2220 2223] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: stop_all_zfs body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-c)} {(/dev/zfs)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return>) terminator: <Op_Semi ';'> ) ] spids: [16777215 2460] ) ] spids: [16777215 2467] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Number 1)}) (C {(sed)} {(SQ <'s|/dev/||g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2474 2488] ) ) } spids: [2472] ) ] spids: [2470] ) (ForEach iter_name: i iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(zpool)} {(list)} {(-H)} {(-o)} {(name)})] ) left_token: <Left_Backtick '`'> spids: [2503 2513] ) } ] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ztst) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(zpool)} {(status)} {(${ VSub_Name i)}) (C {(grep)} {(DQ (ONLINE))}) (C {(awk)} {(SQ <'{print $1}'>)}) (C {(grep)} {(-q)} {(${ VSub_Name DISK)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2520 2554] ) } spids: [2519] ) ] spids: [2519] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$ztst'))} {(Lit_Other '=')} {(DQ ($ VSub_Name '$DISK'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(zpool)} {(export)} {(-f)} {(${ VSub_Name i)})] spids: [16777215 2575] ) ] spids: [16777215 2589] ) ] spids: [2516 2592] ) spids: [2502 16777215] ) ] spids: [2444] ) spids: [2440 2443] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: stop_all_gmirror body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-d)} {(/dev/mirror)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return>) terminator: <Op_Semi ';'> ) ] spids: [16777215 2621] ) ] spids: [16777215 2628] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Number 1)}) (C {(sed)} {(SQ <'s|/dev/||g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2635 2649] ) ) } spids: [2633] ) ] spids: [2631] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GPROV) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(gmirror)} {(list)}) (C {(grep)} {(DQ ('. Name: mirror/'))}) (C {(cut)} {(-d)} {(SQ </>)} {(-f)} {(2)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2655 2681] ) ) } spids: [2653] ) ] spids: [2653] ) (ForEach iter_name: gprov iter_words: [{($ VSub_Name '$GPROV')}] do_arg_iter: F body: (DoGroup children: [ (Pipeline children: [ (C {(gmirror)} {(list)}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('Name: ') (${ VSub_Name DISK))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2715] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) ] action: [ (C {(echo_log)} { (DQ ('Stopping mirror ') ($ VSub_Name '$gprov') (' ') ($ VSub_Name '$DISK') ) } ) (C {(rc_nohalt)} { (DQ ('gmirror remove ') ($ VSub_Name '$gprov') (' ') ($ VSub_Name '$DISK') ) } ) (C {(wipe_metadata)} {(DQ (${ VSub_Name DISK))}) ] spids: [16777215 2732] ) ] spids: [16777215 2764] ) ] spids: [2695 2767] ) spids: [2690 16777215] ) ] spids: [2605] ) spids: [2601 2604] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: stop_all_geli body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_geld) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Number 1)}) (C {(sed)} {(SQ <'s|/dev/||g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [2787 2801] ) ) } spids: [2785] ) ] spids: [2783] ) (C {(cd)} {(/dev)}) (ForEach iter_name: i iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(ls)} {(${ VSub_Name _geld) (Lit_Other '*')})] ) left_token: <Left_Backtick '`'> spids: [2817 2824] ) } ] do_arg_iter: F body: (DoGroup children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$i')}) (SimpleCommand words: [{(grep)} {(-q)} {(SQ <.eli>)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2844] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) ] action: [ (C {(echo_log)} {(DQ ('Detaching GELI on ') (${ VSub_Name i))}) (C {(rc_halt)} {(DQ ('geli detach ') (${ VSub_Name i))}) ] spids: [16777215 2861] ) ] spids: [16777215 2884] ) ] spids: [2827 2887] ) spids: [2816 16777215] ) ] spids: [2780] ) spids: [2776 2779] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: setup_disk_slice body: (BraceGroup children: [ (SimpleCommand words: [{(rm)} {(-rf)} {(${ VSub_Name SLICECFGDIR)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2917] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2920] ) ] ) (C {(mkdir)} {(${ VSub_Name SLICECFGDIR)}) (SimpleCommand words: [{(rm)} {(-rf)} {(${ VSub_Name MIRRORCFGDIR)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [2939] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [2942] ) ] ) (C {(mkdir)} {(${ VSub_Name MIRRORCFGDIR)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:disknum) op: Equal rhs: {(DQ (0))} spids: [2958] ) ] spids: [2958] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:gmnum) op:Equal rhs:{(DQ (0))} spids:[2964])] spids: [2964] ) (While cond: [(C {(read)} {(line)})] body: (DoGroup children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$line')}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^disk') (${ VSub_Name disknum) ('='))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3003] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) ] action: [ (C {(get_value_from_string)} {(DQ (${ VSub_Name line))}) (C {(strip_white_space)} {(DQ ($ VSub_Name '$VAL'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {(DQ ($ VSub_Name '$VAL'))} spids: [3044] ) ] spids: [3044] ) (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name DISK))}) (C {(grep)} {(-q)} {(SQ <'^/dev/'>)}) ] negated: F ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {(DQ (/dev/) ($ VSub_Name '$DISK'))} spids: [3086] ) ] spids: [3086] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 3084] ) ] spids: [16777215 3094] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ (${ VSub_Name DISK))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(exit_err)} { (DQ ('ERROR: The disk ') (${ VSub_Name DISK) (' does not exist!') ) } ) ] spids: [16777215 3121] ) ] spids: [16777215 3135] ) (C {(stop_all_gmirror)} {(${ VSub_Name DISK)}) (C {(stop_all_geli)} {(${ VSub_Name DISK)}) (C {(stop_all_zfs)} {(${ VSub_Name DISK)}) ] spids: [16777215 3020] ) ] spids: [16777215 3175] ) (Pipeline children: [ (C {(echo)} {($ VSub_Name '$line')}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^mirror='))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3197] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) ] action: [ (C {(get_value_from_string)} {(DQ (${ VSub_Name line))}) (C {(strip_white_space)} {(DQ ($ VSub_Name '$VAL'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MIRRORDISK) op: Equal rhs: {(DQ ($ VSub_Name '$VAL'))} spids: [3238] ) ] spids: [3238] ) (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name MIRRORDISK))}) (C {(grep)} {(-q)} {(SQ <'^/dev/'>)}) ] negated: F ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MIRRORDISK) op: Equal rhs: {(DQ (/dev/) ($ VSub_Name '$MIRRORDISK'))} spids: [3279] ) ] spids: [3279] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 3277] ) ] spids: [16777215 3287] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-e)} {(DQ (${ VSub_Name MIRRORDISK))} {(Lit_Other ']')} ) ] action: [ (C {(exit_err)} { (DQ ('ERROR: The mirror disk ') (${ VSub_Name MIRRORDISK) (' does not exist!') ) } ) ] spids: [16777215 3313] ) ] spids: [16777215 3327] ) (C {(stop_all_gmirror)} {(${ VSub_Name MIRRORDISK)}) (C {(stop_all_geli)} {(${ VSub_Name MIRRORDISK)}) (C {(stop_all_zfs)} {(${ VSub_Name MIRRORDISK)}) ] spids: [16777215 3214] ) ] spids: [16777215 3367] ) (Pipeline children: [ (C {(echo)} {($ VSub_Name '$line')}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^mirrorbal='))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3389] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) ] action: [ (C {(get_value_from_string)} {(DQ (${ VSub_Name line))}) (C {(strip_white_space)} {(DQ ($ VSub_Name '$VAL'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MIRRORBAL) op: Equal rhs: {(DQ ($ VSub_Name '$VAL'))} spids: [3430] ) ] spids: [3430] ) ] spids: [16777215 3406] ) ] spids: [16777215 3436] ) (Pipeline children: [ (C {(echo)} {($ VSub_Name '$line')}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^partition='))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3454] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) ] action: [ (C {(get_value_from_string)} {(DQ (${ VSub_Name line))}) (C {(strip_white_space)} {(DQ ($ VSub_Name '$VAL'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PTYPE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$VAL')}) (C {(tr)} {(A-Z)} {(a-z)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [3495 3505] ) } spids: [3494] ) ] spids: [3494] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name PTYPE))} {(Lit_Other '=')} {(DQ (free))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LASTSLICE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(gpart)} {(show)} {(${ VSub_Name DISK)} ) (C {(grep)} {(-v)} {(${ VSub_Name DISK)}) (C {(grep)} {(-v)} {(SQ <' free'>)}) (C {(tr)} {(-s)} {(SQ <'\\t'>)} {(SQ <' '>)} ) (C {(cut)} {(-d)} {(SQ <' '>)} {(-f)} {(4)} ) (C {(sed)} {(SQ <'/^$/d'>)}) (C {(tail)} {(-n)} {(1)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [3541 3625] ) ) } spids: [3539] ) ] spids: [3539] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name LASTSLICE))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LASTSLICE) op: Equal rhs: {(DQ (1))} spids: [3648] ) ] spids: [3648] ) ] spids: [16777215 3645] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LASTSLICE) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:LASTSLICE) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [3658 3663] ) } spids: [3657] ) ] spids: [3657] ) ] spids: [3654 3666] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_Name '$LASTSLICE')} {(-gt)} {(4)} {(Lit_Other ']')} ) ] action: [ (C {(exit_err)} { (DQ ( 'ERROR: BSD only supports primary partitions, and there are none available on ' ) ($ VSub_Name '$DISK') ) } ) ] spids: [16777215 3683] ) ] spids: [16777215 3694] ) ] spids: [16777215 3532] ) ] spids: [16777215 3698] ) ] spids: [16777215 3471] ) ] spids: [16777215 3701] ) (Pipeline children: [ (C {(echo)} {($ VSub_Name '$line')}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^image='))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3723] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(get_value_from_string)} {(DQ (${ VSub_Name line))}) (C {(strip_white_space)} {(DQ ($ VSub_Name '$VAL'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IMAGE) op: Equal rhs: {(DQ ($ VSub_Name '$VAL'))} spids: [3764] ) ] spids: [3764] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(KW_Bang '!')} {(-f)} {(DQ ($ VSub_Name '$IMAGE'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(exit_err)} {(DQ ($ VSub_Name '$IMAGE') (' file does not exist'))} ) ] spids: [16777215 3786] ) ] spids: [16777215 3797] ) ] spids: [16777215 3741] ) ] spids: [16777215 3800] ) (Pipeline children: [ (C {(echo)} {($ VSub_Name '$line')}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^partscheme='))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3822] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(get_value_from_string)} {(DQ (${ VSub_Name line))}) (C {(strip_white_space)} {(DQ ($ VSub_Name '$VAL'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PSCHEME) op: Equal rhs: {(DQ ($ VSub_Name '$VAL'))} spids: [3863] ) ] spids: [3863] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PSCHEME'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (GPT))} {(-a)} {(DQ ($ VSub_Name '$PSCHEME'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (MBR))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(exit_err)} { (DQ ('Unknown partition scheme: ') ($ VSub_Name '$PSCHEME') ) } ) ] spids: [16777215 3901] ) ] spids: [16777215 3913] ) ] spids: [16777215 3840] ) ] spids: [16777215 3916] ) (Pipeline children: [ (C {(echo)} {($ VSub_Name '$line')}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^bootManager='))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3934] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) ] action: [ (C {(get_value_from_string)} {(DQ (${ VSub_Name line))}) (C {(strip_white_space)} {(DQ ($ VSub_Name '$VAL'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BMANAGER) op: Equal rhs: {(DQ ($ VSub_Name '$VAL'))} spids: [3974] ) ] spids: [3974] ) ] spids: [16777215 3951] ) ] spids: [16777215 3980] ) (Pipeline children: [ (C {(echo)} {($ VSub_Name '$line')}) (SimpleCommand words: [{(grep)} {(-q)} {(DQ ('^commitDiskPart'))}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [3998] ) ] ) ] negated: F ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) ] action: [ (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(KW_Bang '!')} {(-z)} {(DQ (${ VSub_Name DISK))} {(-a)} {(KW_Bang '!')} {(-z)} {(DQ (${ VSub_Name PTYPE))} {(Lit_Other ']')} ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (CommandSubPart command_list: (CommandList children: [(C {(uname)} {(-m)})] ) left_token: <Left_Backtick '`'> spids: [4062 4066] ) } {(Lit_Other '=')} {(DQ (powerpc))} {(-o)} { (CommandSubPart command_list: (CommandList children: [(C {(uname)} {(-m)})] ) left_token: <Left_Backtick '`'> spids: [4076 4080] ) } {(Lit_Other '=')} {(DQ (powerpc64))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PTYPE'))} {(KW_Bang '!') (Lit_Other '=')} {(DQ (all))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(exit_err)} { (DQ ( 'powerpc can only be installed to a full disk' ) ) } ) ] spids: [16777215 4113] ) ] spids: [16777215 4123] ) ] spids: [16777215 4091] ) ] spids: [16777215 4126] ) (Case to_match: {(${ VSub_Name PTYPE)} arms: [ (case_arm pat_list: [{(all)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$MIRRORDISK'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-z)} { (DQ ($ VSub_Name '$MIRRORBAL') ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name: MIRRORBAL ) op: Equal rhs: {(DQ (round-robin))} spids: [4182] ) ] spids: [4182] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 4180] ) ] spids: [16777215 4189] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_mFile) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} { ($ VSub_Name '$DISK' ) } ) (C {(sed)} {(SQ <'s|/|%|g'>)} ) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [4194 4206] ) } spids: [4193] ) ] spids: [4193] ) (SimpleCommand words: [ {(echo)} { (DQ ($ VSub_Name '$MIRRORDISK') (':') ($ VSub_Name '$MIRRORBAL') (':gm') (${ VSub_Name gmnum) ) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name MIRRORCFGDIR) (/) ($ VSub_Name '$_mFile') } spids: [4221] ) ] ) (C {(init_gmirror)} {(DQ ($ VSub_Name '$gmnum'))} {(DQ ($ VSub_Name '$MIRRORBAL'))} {(DQ ($ VSub_Name '$DISK'))} {(DQ ($ VSub_Name '$MIRRORDISK'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: { (DQ (/dev/mirror/gm) (${ VSub_Name gmnum) ) } spids: [4253] ) ] spids: [4253] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gmnum) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name: gmknum ) right: (ArithWord w: {(Lit_Digits 1)} ) ) spids: [4263 4268] ) } spids: [4262] ) ] spids: [4262] ) ] spids: [16777215 4160] ) ] spids: [16777215 4271] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$PSCHEME'))} {(Lit_Other '=')} {(DQ (MBR))} {(-o)} {(-z)} {(DQ ($ VSub_Name '$PSCHEME'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PSCHEME) op: Equal rhs: {(DQ (MBR))} spids: [4304] ) ] spids: [4304] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmpSLICE) op: Equal rhs: {(DQ (${ VSub_Name DISK) (s1))} spids: [4310] ) ] spids: [4310] ) ] spids: [16777215 4301] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmpSLICE) op: Equal rhs: {(DQ (${ VSub_Name DISK) (p1))} spids: [4323] ) ] spids: [4323] ) ] spids: [4320 4333] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} { (CommandSubPart command_list: (CommandList children: [(C {(uname)} {(-m)})] ) left_token: <Left_Backtick '`'> spids: [4341 4345] ) } {(Lit_Other '=')} {(DQ (powerpc))} {(-o)} { (CommandSubPart command_list: (CommandList children: [(C {(uname)} {(-m)})] ) left_token: <Left_Backtick '`'> spids: [4355 4359] ) } {(Lit_Other '=')} {(DQ (powerpc64))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PSCHEME) op: Equal rhs: {(DQ (APM))} spids: [4373] ) ] spids: [4373] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmpSLICE) op: Equal rhs: {(DQ (${ VSub_Name DISK) (s1))} spids: [4379] ) ] spids: [4379] ) ] spids: [16777215 4370] ) ] spids: [16777215 4389] ) (C {(run_gpart_full)} {(DQ (${ VSub_Name DISK))} {(DQ (${ VSub_Name BMANAGER))} {(DQ (${ VSub_Name PSCHEME))} ) ] spids: [4139 4140 4414 16777215] ) (case_arm pat_list: [{(s1)} {(s2)} {(s3)} {(s4)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmpSLICE) op: Equal rhs: { (DQ (${ VSub_Name DISK) (${ VSub_Name PTYPE)) } spids: [4428] ) ] spids: [4428] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:s) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name PTYPE)} ) (C {(awk)} { (SQ < '{print substr($0,length,1)}' > ) } ) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [4446 4460] ) ) } spids: [4444] ) ] spids: [4444] ) (C {(run_gpart_slice)} {(DQ (${ VSub_Name DISK))} {(DQ (${ VSub_Name BMANAGER))} {(DQ (${ VSub_Name s))} ) ] spids: [4418 4425 4486 16777215] ) (case_arm pat_list: [ {(p1)} {(p2)} {(p3)} {(p4)} {(p5)} {(p6)} {(p7)} {(p8)} {(p9)} {(p10)} {(p11)} {(p12)} {(p13)} {(p14)} {(p15)} {(p16)} {(p17)} {(p18)} {(p19)} {(p20)} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmpSLICE) op: Equal rhs: { (DQ (${ VSub_Name DISK) (${ VSub_Name PTYPE)) } spids: [4532] ) ] spids: [4532] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:s) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name PTYPE)} ) (C {(awk)} { (SQ < '{print substr($0,length,1)}' > ) } ) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [4550 4564] ) ) } spids: [4548] ) ] spids: [4548] ) (C {(run_gpart_gpt_part)} {(DQ (${ VSub_Name DISK))} {(DQ (${ VSub_Name BMANAGER))} {(DQ (${ VSub_Name s))} ) ] spids: [4490 4529 4590 16777215] ) (case_arm pat_list: [{(free)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tmpSLICE) op: Equal rhs: { (DQ (${ VSub_Name DISK) (s) (${ VSub_Name LASTSLICE) ) } spids: [4598] ) ] spids: [4598] ) (C {(run_gpart_free)} {(DQ (${ VSub_Name DISK))} {(DQ (${ VSub_Name LASTSLICE))} {(DQ (${ VSub_Name BMANAGER))} ) ] spids: [4594 4595 4631 16777215] ) (case_arm pat_list: [{(image)}] action: [ (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name IMAGE))} {(Lit_Other ']')} ) ] action: [ (C {(exit_err)} { (DQ ( 'ERROR: partition type image specified with no image!' ) ) } ) ] spids: [16777215 4654] ) ] spids: [16777215 4664] ) ] spids: [4635 4636 4668 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(exit_err)} { (DQ ('ERROR: Unknown PTYPE: ') ($ VSub_Name '$PTYPE') ) } ) ] spids: [4672 4673 4682 16777215] ) ] spids: [4130 4136 4685] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name IMAGE))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:DEST) op: Equal spids: [4712] ) ] spids: [4710] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Name tmpSLICE))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEST) op: Equal rhs: {(DQ (${ VSub_Name tmpSLICE))} spids: [4735] ) ] spids: [4735] ) ] spids: [16777215 4732] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DEST) op: Equal rhs: {(DQ (${ VSub_Name DISK))} spids: [4747] ) ] spids: [4747] ) ] spids: [4743 4755] ) (C {(write_image)} {(DQ (${ VSub_Name IMAGE))} {(DQ (${ VSub_Name DEST))} ) (C {(check_disk_layout)} {(DQ (${ VSub_Name DEST))}) ] spids: [16777215 4706] ) ] spids: [16777215 4784] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ (${ VSub_Name IMAGE))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_sFile) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name '$tmpSLICE')} ) (C {(sed)} {(SQ <'s|/|-|g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [4811 4823] ) } spids: [4810] ) ] spids: [4810] ) (SimpleCommand words: [{(echo)} {(DQ (disk) (${ VSub_Name disknum))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(${ VSub_Name SLICECFGDIR) (/) ($ VSub_Name '$_sFile') } spids: [4835] ) ] ) ] spids: [16777215 4807] ) ] spids: [16777215 4843] ) (C {(unset)} {(BMANAGER)} {(PTYPE)} {(DISK)} {(MIRRORDISK)} {(MIRRORBAL)} {(PSCHEME)} {(IMAGE)} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:disknum) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:disknum) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [4869 4874] ) } spids: [4868] ) ] spids: [4868] ) ] spids: [16777215 4051] ) ] else_action: [ (C {(exit_err)} { (DQ ( 'ERROR: commitDiskPart was called without procceding disk<num>= and partition= entries!!!' ) ) } ) ] spids: [4877 4888] ) ] spids: [16777215 4015] ) ] spids: [16777215 4891] ) ] spids: [2982 4895] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(${ VSub_Name CFGF)} spids: [4897] ) ] ) ] spids: [2901] ) spids: [2897 2900] ) terminator: <Op_Semi ';'> ) (FuncDef name: init_gmirror body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_mNum) op: Equal rhs: {($ VSub_Number '$1')} spids: [4920] ) ] spids: [4918] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_mBal) op: Equal rhs: {($ VSub_Number '$2')} spids: [4926] ) ] spids: [4924] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:_mDisk) op: Equal rhs: {($ VSub_Number '$3')} spids: [4932] ) ] spids: [4930] ) (C {(rc_halt)} { (DQ ('gmirror label -vb ') (${ VSub_Name _mBal) (' gm') (${ VSub_Name _mNum) (' ') (${ VSub_Name _mDisk) ) } ) (C {(sleep)} {(3)}) ] spids: [4915] ) spids: [4911 4914] ) (Sentence child: (FuncDef name: stop_gjournal body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_gdsk) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Number '$1')}) (C {(sed)} {(SQ <'s|/dev/||g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [4980 4992] ) ) } spids: [4978] ) ] spids: [4978] ) (SimpleCommand words: [{(ls)} {(/dev/) (${ VSub_Name _gdsk) (Lit_Other '*') (.journal)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [5009] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [5012] ) ] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-eq)} {(0)} {(Lit_Other ']')}) ] action: [ (C {(cd)} {(/dev)}) (ForEach iter_name: i iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(ls)} {(${ VSub_Name _gdsk) (Lit_Other '*') (.journal)}) ] ) left_token: <Left_Backtick '`'> spids: [5043 5051] ) } ] do_arg_iter: F body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:rawjournal) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(${ VSub_Name i)}) (C {(cut)} {(-d)} {(SQ <.>)} {(-f)} {(1)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [5059 5079] ) ) } spids: [5057] ) ] spids: [5057] ) (SimpleCommand words: [{(gjournal)} {(stop)} {(-f)} {(${ VSub_Name rawjournal)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name LOGOUT)} spids: [5093] ) (Redir op_id: Redir_DGreat fd: 2 arg_word: {(${ VSub_Name LOGOUT)} spids: [5098] ) ] ) (SimpleCommand words: [{(gjournal)} {(clear)} {(${ VSub_Name rawjournal)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name LOGOUT)} spids: [5112] ) (Redir op_id: Redir_DGreat fd: 2 arg_word: {(${ VSub_Name LOGOUT)} spids: [5117] ) ] ) ] spids: [5054 5123] ) spids: [5042 16777215] ) ] spids: [16777215 5029] ) ] spids: [16777215 5126] ) ] spids: [4975] ) spids: [4971 4974] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: wipe_metadata body: (BraceGroup children: [ (C {(echo_log)} {(DQ ('Wiping possible metadata on ') (${ VSub_Number 1))}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:SIZE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(diskinfo)} {(${ VSub_Number 1)}) (C {(awk)} {(SQ <'{print int($3/(1024*1024)) }'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [5158 5172] ) ) } spids: [5156] ) ] spids: [5154] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SIZE'))} {(-gt)} {(DQ (5))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(rc_halt)} {(DQ ('dd if=/dev/zero of=') (${ VSub_Number 1) (' bs=1m count=1'))} ) (C {(rc_nohalt)} { (DQ ('dd if=/dev/zero of=') (${ VSub_Number 1) (' bs=1m oseek=') (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithVarRef name:SIZE) right: (ArithWord w:{(Lit_Digits 4)}) ) spids: [5216 5221] ) ) } ) ] spids: [16777215 5194] ) ] else_action: [ (C {(rc_nohalt)} {(DQ ('dd if=/dev/zero of=') (${ VSub_Number 1) (' bs=128k'))}) ] spids: [5225 5239] ) ] spids: [5141] ) spids: [5137 5140] ) terminator: <Op_Semi ';'> ) (FuncDef name: init_apm_full_disk body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_intDISK) op: Equal rhs: {($ VSub_Number '$1')} spids: [5256] ) ] spids: [5256] ) (SimpleCommand words: [{(sysctl)} {(kern.geom.debugflags) (Lit_Other '=') (16)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name LOGOUT)} spids: [5272] ) (Redir op_id: Redir_DGreat fd: 2 arg_word: {(${ VSub_Name LOGOUT)} spids: [5277] ) ] ) (C {(stop_gjournal)} {(DQ (${ VSub_Name _intDISK))}) (C {(delete_all_gpart)} {(DQ (${ VSub_Name _intDISK))}) (C {(sleep)} {(2)}) (C {(echo_log)} {(DQ ('Running gpart on ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart create -s APM ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart add -s 800k -t freebsd-boot ') (${ VSub_Name _intDISK))}) (C {(echo_log)} {(DQ ('Stamping boot sector on ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart bootcode -p /boot/boot1.hfs -i 1 ') (${ VSub_Name _intDISK))}) ] spids: [5253] ) spids: [5249 5252] ) (FuncDef name: init_gpt_full_disk body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_intDISK) op: Equal rhs: {($ VSub_Number '$1')} spids: [5383] ) ] spids: [5383] ) (SimpleCommand words: [{(sysctl)} {(kern.geom.debugflags) (Lit_Other '=') (16)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name LOGOUT)} spids: [5399] ) (Redir op_id: Redir_DGreat fd: 2 arg_word: {(${ VSub_Name LOGOUT)} spids: [5404] ) ] ) (C {(stop_gjournal)} {(DQ (${ VSub_Name _intDISK))}) (C {(delete_all_gpart)} {(DQ (${ VSub_Name _intDISK))}) (C {(sleep)} {(2)}) (C {(echo_log)} {(DQ ('Running gpart on ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart create -s GPT ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart add -b 34 -s 128 -t freebsd-boot ') (${ VSub_Name _intDISK))}) (C {(echo_log)} {(DQ ('Stamping boot sector on ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart bootcode -b /boot/pmbr ') (${ VSub_Name _intDISK))}) ] spids: [5380] ) spids: [5376 5379] ) (FuncDef name: init_mbr_full_disk body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_intDISK) op: Equal rhs: {($ VSub_Number '$1')} spids: [5510] ) ] spids: [5510] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_intBOOT) op: Equal rhs: {($ VSub_Number '$2')} spids: [5514] ) ] spids: [5514] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:startblock) op: Equal rhs: {(DQ (2016))} spids: [5520] ) ] spids: [5520] ) (SimpleCommand words: [{(sysctl)} {(kern.geom.debugflags) (Lit_Other '=') (16)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name LOGOUT)} spids: [5537] ) (Redir op_id: Redir_DGreat fd: 2 arg_word: {(${ VSub_Name LOGOUT)} spids: [5542] ) ] ) (C {(stop_gjournal)} {(DQ (${ VSub_Name _intDISK))}) (C {(delete_all_gpart)} {(DQ (${ VSub_Name _intDISK))}) (C {(sleep)} {(2)}) (C {(echo_log)} {(DQ ('Running gpart on ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart create -s mbr -f active ') (${ VSub_Name _intDISK))}) (C {(echo_log)} {(DQ ('Running gpart add on ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart add -a 4k -t freebsd -i 1 ') (${ VSub_Name _intDISK))}) (C {(sleep)} {(2)}) (C {(wipe_metadata)} {(DQ (${ VSub_Name _intDISK) (s1))}) (C {(rc_halt)} {(DQ ('gpart set -a active -i 1 ') (${ VSub_Name _intDISK))}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$_intBOOT'))} {(Lit_Other '=')} {(DQ (bsd))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo_log)} {(DQ ('Stamping boot0 on ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart bootcode -b /boot/boot0 ') (${ VSub_Name _intDISK))}) ] spids: [16777215 5680] ) ] else_action: [ (C {(echo_log)} {(DQ ('Stamping boot1 on ') (${ VSub_Name _intDISK))}) (C {(rc_halt)} {(DQ ('gpart bootcode -b /boot/boot1 ') (${ VSub_Name _intDISK))}) ] spids: [5703 5726] ) ] spids: [5507] ) spids: [5503 5506] ) (Sentence child: (FuncDef name: run_gpart_full body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {($ VSub_Number '$1')} spids: [5742] ) ] spids: [5742] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BOOT) op: Equal rhs: {($ VSub_Number '$2')} spids: [5746] ) ] spids: [5746] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCHEME) op: Equal rhs: {($ VSub_Number '$3')} spids: [5750] ) ] spids: [5750] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SCHEME'))} {(Lit_Other '=')} {(DQ (APM))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(init_apm_full_disk)} {(DQ ($ VSub_Name '$DISK'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slice) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name DISK) (':1:apm'))}) (C {(sed)} {(SQ <'s|/|-|g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [5784 5801] ) } spids: [5783] ) ] spids: [5783] ) ] spids: [16777215 5773] ) (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$SCHEME'))} {(Lit_Other '=')} {(DQ (MBR))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(init_mbr_full_disk)} {(DQ ($ VSub_Name '$DISK'))} {(DQ ($ VSub_Name '$BOOT'))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slice) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name DISK) (':1:mbr'))}) (C {(sed)} {(SQ <'s|/|-|g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [5837 5854] ) } spids: [5836] ) ] spids: [5836] ) ] spids: [5804 5822] ) ] else_action: [ (C {(init_gpt_full_disk)} {(DQ ($ VSub_Name '$DISK'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slice) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name DISK) (':1:gpt'))}) (C {(sed)} {(SQ <'s|/|-|g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [5868 5885] ) } spids: [5867] ) ] spids: [5867] ) ] spids: [5857 5888] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$WORKINGSLICES'))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORKINGSLICES) op: Equal rhs: {(DQ (${ VSub_Name slice))} spids: [5912] ) ] spids: [5912] ) (C {(export)} {(WORKINGSLICES)}) ] spids: [16777215 5909] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORKINGSLICES) op: Equal rhs: {(DQ (${ VSub_Name WORKINGSLICES) (' ') (${ VSub_Name slice))} spids: [5928] ) ] spids: [5928] ) (C {(export)} {(WORKINGSLICES)}) ] spids: [5925 5945] ) ] spids: [5739] ) spids: [5735 5738] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: run_gpart_gpt_part body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {($ VSub_Number '$1')} spids: [5961] ) ] spids: [5961] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slice) op: Equal rhs: {(DQ (${ VSub_Number 1) (p) (${ VSub_Number 3))} spids: [5970] ) ] spids: [5970] ) (SimpleCommand words: [{(sysctl)} {(kern.geom.debugflags) (Lit_Other '=') (16)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name LOGOUT)} spids: [5994] ) (Redir op_id: Redir_DGreat fd: 2 arg_word: {(${ VSub_Name LOGOUT)} spids: [5999] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slicenum) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [6010] ) ] spids: [6010] ) (C {(stop_gjournal)} {(DQ (${ VSub_Name slice))}) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name slice) (b))} {(Lit_Other ']')}) ] action: [ (SimpleCommand words: [{(swapoff)} {(${ VSub_Name slice) (b)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [6061] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [6064] ) ] ) (SimpleCommand words: [{(swapoff)} {(${ VSub_Name slice) (b.eli)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [6075] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [6078] ) ] ) ] spids: [16777215 6051] ) ] spids: [16777215 6082] ) (C {(echo_log)} {(DQ ('Running gpart modify on ') (${ VSub_Name DISK))}) (C {(rc_halt)} { (DQ ('gpart modify -t freebsd -i ') (${ VSub_Name slicenum) (' ') (${ VSub_Name DISK) ) } ) (C {(sleep)} {(2)}) (C {(wipe_metadata)} {(DQ (${ VSub_Name slice))}) (C {(sleep)} {(4)}) (C {(rc_halt)} {(DQ ('gpart create -s BSD ') (${ VSub_Name DISK) (p) (${ VSub_Name slicenum))} ) (C {(sleep)} {(4)}) (C {(rc_halt)} { (DQ ('gpart bootcode -b /boot/boot ') (${ VSub_Name DISK) (p) (${ VSub_Name slicenum) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slice) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} { (DQ (${ VSub_Number 1) (':') (${ VSub_Number 3) (':gptslice')) } ) (C {(sed)} {(SQ <'s|/|-|g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [6184 6205] ) } spids: [6183] ) ] spids: [6183] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$WORKINGSLICES'))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORKINGSLICES) op: Equal rhs: {(DQ (${ VSub_Name slice))} spids: [6229] ) ] spids: [6229] ) (C {(export)} {(WORKINGSLICES)}) ] spids: [16777215 6226] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORKINGSLICES) op: Equal rhs: {(DQ (${ VSub_Name WORKINGSLICES) (' ') (${ VSub_Name slice))} spids: [6245] ) ] spids: [6245] ) (C {(export)} {(WORKINGSLICES)}) ] spids: [6242 6262] ) ] spids: [5958] ) spids: [5954 5957] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: run_gpart_slice body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {($ VSub_Number '$1')} spids: [6278] ) ] spids: [6278] ) (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Number '$2'))} {(Lit_Other ']')})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BMANAGER) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [6298] ) ] spids: [6298] ) ] spids: [16777215 6295] ) ] spids: [16777215 6304] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slice) op: Equal rhs: {(DQ (${ VSub_Number 1) (s) (${ VSub_Number 3))} spids: [6312] ) ] spids: [6312] ) (SimpleCommand words: [{(sysctl)} {(kern.geom.debugflags) (Lit_Other '=') (16)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name LOGOUT)} spids: [6336] ) (Redir op_id: Redir_DGreat fd: 2 arg_word: {(${ VSub_Name LOGOUT)} spids: [6341] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slicenum) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [6352] ) ] spids: [6352] ) (C {(stop_gjournal)} {(DQ (${ VSub_Name slice))}) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-e)} {(DQ (${ VSub_Name slice) (b))} {(Lit_Other ']')}) ] action: [ (SimpleCommand words: [{(swapoff)} {(${ VSub_Name slice) (b)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [6403] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [6406] ) ] ) (SimpleCommand words: [{(swapoff)} {(${ VSub_Name slice) (b.eli)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [6417] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [6420] ) ] ) ] spids: [16777215 6393] ) ] spids: [16777215 6424] ) (C {(echo_log)} {(DQ ('Running gpart modify on ') (${ VSub_Name DISK))}) (C {(rc_halt)} { (DQ ('gpart modify -t freebsd -i ') (${ VSub_Name slicenum) (' ') (${ VSub_Name DISK) ) } ) (C {(sleep)} {(2)}) (C {(wipe_metadata)} {(DQ (${ VSub_Name slice))}) (C {(sleep)} {(1)}) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name BMANAGER))} {(Lit_Other '=')} {(DQ (bsd))} {(Lit_Other ']')} ) ] action: [ (C {(echo_log)} {(DQ ('Stamping boot sector on ') (${ VSub_Name DISK))}) (C {(rc_halt)} {(DQ ('gpart bootcode -b /boot/boot0 ') (${ VSub_Name DISK))}) ] spids: [16777215 6497] ) ] spids: [16777215 6520] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slice) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Number 1) (':') (${ VSub_Number 3) (':mbr'))} ) (C {(sed)} {(SQ <'s|/|-|g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [6529 6550] ) } spids: [6528] ) ] spids: [6528] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$WORKINGSLICES'))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORKINGSLICES) op: Equal rhs: {(DQ (${ VSub_Name slice))} spids: [6574] ) ] spids: [6574] ) (C {(export)} {(WORKINGSLICES)}) ] spids: [16777215 6571] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORKINGSLICES) op: Equal rhs: {(DQ (${ VSub_Name WORKINGSLICES) (' ') (${ VSub_Name slice))} spids: [6590] ) ] spids: [6590] ) (C {(export)} {(WORKINGSLICES)}) ] spids: [6587 6607] ) ] spids: [6275] ) spids: [6271 6274] ) terminator: <Op_Semi ';'> ) (Sentence child: (FuncDef name: run_gpart_free body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DISK) op: Equal rhs: {($ VSub_Number '$1')} spids: [6623] ) ] spids: [6623] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SLICENUM) op: Equal rhs: {($ VSub_Number '$2')} spids: [6627] ) ] spids: [6627] ) (If arms: [ (if_arm cond: [(C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Number '$3'))} {(Lit_Other ']')})] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:BMANAGER) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [6647] ) ] spids: [6647] ) ] spids: [16777215 6644] ) ] spids: [16777215 6653] ) (SimpleCommand words: [{(sysctl)} {(kern.geom.debugflags) (Lit_Other '=') (16)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {(${ VSub_Name LOGOUT)} spids: [6667] ) (Redir op_id: Redir_DGreat fd: 2 arg_word: {(${ VSub_Name LOGOUT)} spids: [6672] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slice) op: Equal rhs: {(DQ (${ VSub_Name DISK) (s) (${ VSub_Name SLICENUM))} spids: [6679] ) ] spids: [6679] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slicenum) op: Equal rhs: {(DQ (${ VSub_Name SLICENUM))} spids: [6691] ) ] spids: [6691] ) (SimpleCommand words: [{(gpart)} {(show)} {(${ VSub_Name DISK)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [6713] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [6716] ) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(-a)} {(DQ ($ VSub_Name '$SLICENUM'))} {(Lit_Other '=')} {(DQ (1))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo_log)} {(DQ ('Initializing disk, no existing MBR setup'))}) (C {(rc_halt)} {(DQ ('gpart create -s mbr ') (${ VSub_Name DISK))}) ] spids: [16777215 6746] ) ] spids: [16777215 6766] ) (C {(echo_log)} {(DQ ('Running gpart on ') (${ VSub_Name DISK))}) (C {(rc_halt)} { (DQ ('gpart add -a 4k -t freebsd -i ') (${ VSub_Name slicenum) (' ') (${ VSub_Name DISK) ) } ) (C {(sleep)} {(2)}) (C {(wipe_metadata)} {(DQ (${ VSub_Name slice))}) (C {(sleep)} {(1)}) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(DQ (${ VSub_Name BMANAGER))} {(Lit_Other '=')} {(DQ (bsd))} {(Lit_Other ']')} ) ] action: [ (C {(echo_log)} {(DQ ('Stamping boot sector on ') (${ VSub_Name DISK))}) (C {(rc_halt)} {(DQ ('gpart bootcode -b /boot/boot0 ') (${ VSub_Name DISK))}) ] spids: [16777215 6839] ) ] spids: [16777215 6862] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:slice) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} { (DQ (${ VSub_Name DISK) (':') (${ VSub_Name SLICENUM) (':mbr')) } ) (C {(sed)} {(SQ <'s|/|-|g'>)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [6867 6888] ) } spids: [6866] ) ] spids: [6866] ) (If arms: [ (if_arm cond: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_Name '$WORKINGSLICES'))} {(Lit_Other ']')} ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORKINGSLICES) op: Equal rhs: {(DQ (${ VSub_Name slice))} spids: [6911] ) ] spids: [6911] ) (C {(export)} {(WORKINGSLICES)}) ] spids: [16777215 6908] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORKINGSLICES) op: Equal rhs: {(DQ (${ VSub_Name WORKINGSLICES) (' ') (${ VSub_Name slice))} spids: [6927] ) ] spids: [6927] ) (C {(export)} {(WORKINGSLICES)}) ] spids: [6924 6944] ) ] spids: [6620] ) spids: [6616 6619] ) terminator: <Op_Semi ';'> ) ] )