(command.CommandList children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple words: [{<sysctl>} {<vfs.zfs.version.spa>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) ] negated: T stderr_indices: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'1..0 # SKIP system doesn\'t have ZFS loaded'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [104 119] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<id>} {<-u>}) right: <Id.Eof_RParen _> ) } {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'1..0 # SKIP you must be root'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [135 152] ) ] else_action: [] redirects: [] ) (C {<echo>} {(DQ <1..5>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TESTDIR='> name:TESTDIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<realpath>} {($ Id.VSub_Number 0)}) right: <Id.Eof_RParen _> ) } ) right: <Id.Eof_RParen _> ) } spids: [176] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNTROOT='> name:MNTROOT) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<mktemp>} {<-dt>} {<acltools>}) right: <Id.Backtick_Right '`'> ) } spids: [187] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MD1='> name:MD1) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<mdconfig>} {<-at>} {<swap>} {<-s>} {<64m>}) right: <Id.Backtick_Right '`'> ) } spids: [202] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNT1='> name:MNT1) op: assign_op.Equal rhs: {($ Id.VSub_DollarName MNTROOT) <'/nfs4'>} spids: [217] ) ] redirects: [] ) (C {<mkdir>} {($ Id.VSub_DollarName MNT1)}) (C {<zpool>} {<create>} {<-m>} {($ Id.VSub_DollarName MNT1)} {<acltools>} {<'/dev/'> ($ Id.VSub_DollarName MD1)} ) (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 {<echo>} {(DQ <'not ok 1 - \'zpool create\' failed.'>)}) (C {<echo>} {(SQ <'Bail out!'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [238 251] ) ] else_action: [] redirects: [] ) (C {<echo>} {(DQ <'ok 1'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MD2='> name:MD2) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<mdconfig>} {<-at>} {<swap>} {<-s>} {<10m>}) right: <Id.Backtick_Right '`'> ) } spids: [282] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNT2='> name:MNT2) op: assign_op.Equal rhs: {($ Id.VSub_DollarName MNTROOT) <'/posix'>} spids: [297] ) ] redirects: [] ) (C {<mkdir>} {($ Id.VSub_DollarName MNT2)}) (command.Simple words: [{<newfs>} {<'/dev/'> ($ Id.VSub_DollarName MD2)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] more_env: [] do_fork: T ) (C {<mount>} {<-o>} {<acls>} {<'/dev/'> ($ Id.VSub_DollarName MD2)} {($ Id.VSub_DollarName MNT2)}) (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 {<echo>} {(DQ <'not ok 2 - mount failed.'>)}) (C {<echo>} {(SQ <'Bail out!'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [325 338] ) ] else_action: [] redirects: [] ) (C {<echo>} {(DQ <'ok 2'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MD3='> name:MD3) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<mdconfig>} {<-at>} {<swap>} {<-s>} {<10m>}) right: <Id.Backtick_Right '`'> ) } spids: [369] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MNT3='> name:MNT3) op: assign_op.Equal rhs: {($ Id.VSub_DollarName MNTROOT) <'/none'>} spids: [384] ) ] redirects: [] ) (C {<mkdir>} {($ Id.VSub_DollarName MNT3)}) (command.Simple words: [{<newfs>} {<'/dev/'> ($ Id.VSub_DollarName MD3)}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] more_env: [] do_fork: T ) (C {<mount>} {<'/dev/'> ($ Id.VSub_DollarName MD3)} {($ Id.VSub_DollarName MNT3)}) (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 {<echo>} {(DQ <'not ok 3 - mount failed.'>)}) (C {<echo>} {(SQ <'Bail out!'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [408 421] ) ] else_action: [] redirects: [] ) (C {<echo>} {(DQ <'ok 3'>)}) (C {<cd>} {($ Id.VSub_DollarName MNTROOT)}) (command.Simple words: [ {<perl>} {($ Id.VSub_DollarName TESTDIR) <'/run'>} {($ Id.VSub_DollarName TESTDIR) <'/tools-crossfs.test'>} ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {(DQ <'ok 4'>)})] spids: [469 482] ) ] else_action: [(C {<echo>} {(DQ <'not ok 4'>)})] redirects: [] ) (C {<cd>} {<'/'>}) (C {<umount>} {<-f>} {($ Id.VSub_DollarName MNT3)}) (C {<rmdir>} {($ Id.VSub_DollarName MNT3)}) (C {<mdconfig>} {<-du>} {($ Id.VSub_DollarName MD3)}) (C {<umount>} {<-f>} {($ Id.VSub_DollarName MNT2)}) (C {<rmdir>} {($ Id.VSub_DollarName MNT2)}) (C {<mdconfig>} {<-du>} {($ Id.VSub_DollarName MD2)}) (C {<zpool>} {<destroy>} {<-f>} {<acltools>}) (C {<rmdir>} {($ Id.VSub_DollarName MNT1)}) (C {<mdconfig>} {<-du>} {($ Id.VSub_DollarName MD1)}) (C {<rmdir>} {($ Id.VSub_DollarName MNTROOT)}) (C {<echo>} {(DQ <'ok 5'>)}) ] )