(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PATH='> name:PATH) op: assign_op.Equal rhs: {<'/sbin'> <Id.Lit_Colon ':'> <'/bin'>} spids: [76] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ORIGIFS='> name:ORIGIFS) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name IFS))} spids: [81] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE) op: assign_op.Equal rhs: {(DQ <'Usage: ibd_upgrade [-v]'>)} spids: [88] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DRVCONF='> name:DRVCONF) op: assign_op.Equal rhs: {<'/kernel/drv/ibp.conf.old'>} spids: [93] ) ] redirects: [] ) (command.ShFunction name: split_path_components body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hca_path='> name:hca_path) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [113] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'node_name='> name:node_name) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [116] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'port='> name:port) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [119] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkey='> name:pkey) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [122] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'service='> name:service) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [125] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'partition_name='> name:partition_name) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [128] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'hca_path='> name:hca_path) op: assign_op.Equal rhs: { (DQ <'/dev/'> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {($ Id.VSub_DollarName device_path)}) right: <Id.Backtick_Right '`'> ) ) } spids: [132] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bname='> name:bname) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {($ Id.VSub_DollarName device_path)}) right: <Id.Backtick_Right '`'> ) } spids: [145] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ <':'>)} spids: [155] ) ] redirects: [] ) (C {<set>} {<-->} {($ Id.VSub_DollarName bname)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'node_at_addr='> name:node_at_addr) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [168] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'partition_name='> name:partition_name) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} spids: [172] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ <'@'>)} spids: [176] ) ] redirects: [] ) (C {<set>} {<-->} {($ Id.VSub_DollarName node_at_addr)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'node_name='> name:node_name) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [189] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ <','>)} spids: [193] ) ] redirects: [] ) (C {<set>} {<-->} {($ Id.VSub_Number 2)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'port='> name:port) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [206] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkey='> name:pkey) op: assign_op.Equal rhs: {<0x> ($ Id.VSub_Number 2)} spids: [210] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'service='> name:service) op: assign_op.Equal rhs: {($ Id.VSub_Number 3)} spids: [215] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ORIGIFS))} spids: [220] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_cmd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName verbose)} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {(DQ ($ Id.VSub_Number 1))})] spids: [237 250] ) ] else_action: [] redirects: [] ) (C {($ Id.VSub_Number 1)}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: process_rc_mode body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'device='> name:device) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [275] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ <d>)} spids: [296] ) ] redirects: [] ) (C {<set>} {<-->} {(${ Id.VSub_Name device)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ORIGIFS))} spids: [311] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <ib>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [320 338] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'inst='> name:inst) op: assign_op.Equal rhs: {($ Id.VSub_Number 2)} spids: [348] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ <','>)} spids: [353] ) ] redirects: [] ) (C {<set>} {<-->} {(${ Id.VSub_Name enable_rc)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ORIGIFS))} spids: [368] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(${ Id.VSub_Name inst)} {<-lt>} {($ Id.VSub_Pound '#')} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.DParen child: (arith_expr.BinaryAssign op_id: Id.Arith_Equal left: ($ Id.Lit_ArithVarLike inst) right: (arith_expr.Binary op_id: Id.Arith_Plus left: {($ Id.VSub_DollarName inst)} right: {<Id.Lit_Digits 1>} ) ) redirects: [] ) (C {<eval>} { (DQ <'linkmode='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) (${ Id.VSub_Name inst) ) } ) ] spids: [377 392] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linkmode='> name:linkmode) op: assign_op.Equal rhs: {<0>} spids: [425] ) ] redirects: [] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName linkmode))} {<Id.Lit_Equals '='>} {(DQ <0>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<do_cmd>} {(DQ <'dladm set-linkprop -p linkmode=ud '> (${ Id.VSub_Name device))}) ] spids: [433 450] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'verbose='> name:verbose) op: assign_op.Equal rhs: {<0>} spids: [468] ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands:[(C {<getopts>} {<v>} {<c>})]) body: (command.DoGroup children: [ (command.Case to_match: {($ Id.VSub_DollarName c)} arms: [ (case_arm pat_list: [{<v>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'verbose='> name:verbose) op: assign_op.Equal rhs: {<1>} spids: [492] ) ] redirects: [] ) ] spids: [489 490 494 -1] ) (case_arm pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')}] action: [ (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_DollarName USAGE))}] redirects: [ (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) ] more_env: [] do_fork: T ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] spids: [497 498 513 -1] ) ] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'enable_rc='> name:enable_rc) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [521] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name DRVCONF)} {<Id.Lit_RBracket ']'>}) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'enable_rc='> name:enable_rc) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<egrep>} {(DQ <'^[ \t]*enable_rc[ \t]*='>)} {(${ Id.VSub_Name DRVCONF)} ) (command.Simple words: [ {<sed>} {<-e>} {(DQ <'s/[ \t]*//g'>)} {<-e>} {(DQ <'s/enable_rc=//'>)} {<-e>} {(DQ <'s/;'> <Id.Lit_Dollar '$'> <'//'>)} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [539] ) ] redirects: [] ) ] spids: [523 536] ) ] else_action: [] redirects: [] ) (command.Pipeline children: [ (command.Simple words: [{<ls>} {<-l>} {<'/dev/ibd'> <Id.Lit_Star '*'>}] redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})] more_env: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (C {<read>} {<x1>} {<x2>} {<x3>} {<x4>} {<x5>} {<x6>} {<x7>} {<x8>} {<x9>} {<x10>} {<device_path>} ) ] ) body: (command.DoGroup children: [ (C {<split_path_components>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName node_name))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <ibport>)} {<-o>} {(DQ ($ Id.VSub_DollarName service))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <ipib>)} {<-o>} {(DQ ($ Id.VSub_DollarName pkey))} {<Id.Lit_Equals '='>} {(DQ <0x0>)} {<-o>} {(DQ ($ Id.VSub_DollarName pkey))} {<Id.Lit_Equals '='>} {(DQ <0x>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [650 707] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<cd>} {($ Id.VSub_DollarName hca_path)}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Continue continue>)] spids: [730 743] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fn='> name:fn) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<echo>} {<ibport> <Id.Lit_At '@'> (${ Id.VSub_Name port) <Id.Lit_Comma ','> <0> <Id.Lit_Comma ','> <ipib> <Id.Lit_Colon ':'> <ibp> <Id.Lit_Star '*'> <Id.Lit_LBracket '['> <0-9> <Id.Lit_RBracket ']'> } ) right: <Id.Backtick_Right '`'> ) } spids: [753] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-c>} {(DQ ($ Id.VSub_DollarName fn))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ <':'>)} spids: [793] ) ] redirects: [] ) (C {<set>} {<-->} {($ Id.VSub_DollarName fn)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IFS='> name:IFS) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name ORIGIFS))} spids: [806] ) ] redirects: [] ) (command.Simple words: [ {<do_cmd>} {(DQ <'dladm delete-phys '> ($ Id.VSub_DollarName partition_name))} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<do_cmd>} {(DQ <'ibd_delete_link '> ($ Id.VSub_DollarName partition_name))} ) ] spids: [826 839] ) ] else_action: [] redirects: [] ) (C {<do_cmd>} { (DQ <'dladm create-part -f -l '> ($ Id.VSub_Number 2) <' -P '> ($ Id.VSub_DollarName pkey) <' '> ($ Id.VSub_DollarName partition_name) ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName enable_rc))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ )} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<process_rc_mode>} {($ Id.VSub_DollarName partition_name)})] spids: [866 883] ) ] else_action: [] redirects: [] ) ] spids: [777 790] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] negated: F stderr_indices: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )