(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'myname='> name:myname) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {($ Id.VSub_Number 0)}) right: <Id.Backtick_Right '`'> ) } spids: [84] ) ] 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: '> ($ Id.VSub_DollarName myname) <' [ -M mount-point ] [ newfs-options ] raw-special-device'> ) } spids: [93] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName UFS_MKFS))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'UFS_MKFS='> name:UFS_MKFS) op: assign_op.Equal rhs: {(DQ <'/usr/lib/fs/ufs/mkfs'>)} spids: [116] ) ] redirects: [] ) ] spids: [100 113] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'verbose='> name:verbose) op: assign_op.Equal rhs: {(DQ )} spids: [123] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mkfs_opts='> name:mkfs_opts) op: assign_op.Equal rhs: {(DQ <-G>)} spids: [127] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mkfs_subopts='> name:mkfs_subopts) op: assign_op.Equal rhs: {(DQ )} spids: [132] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'size='> name:size) op: assign_op.Equal rhs: {(DQ )} spids: [136] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'newsize='> name:newsize) op: assign_op.Equal rhs: {<0>} spids: [140] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mount_pt='> name:mount_pt) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [143] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'UFS_MKFS_NOTENOUGHSPACE='> name: UFS_MKFS_NOTENOUGHSPACE ) op: assign_op.Equal rhs: {<33>} spids: [145] ) ] redirects: [] ) (command.ShFunction name: add_opt body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mkfs_opts='> name:mkfs_opts) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName mkfs_opts) <' '> ($ Id.VSub_Number 1))} spids: [156] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: add_subopt body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName mkfs_subopts))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'mkfs_subopts='> name: mkfs_subopts ) op: assign_op.Equal rhs: {(DQ <'-o '> ($ Id.VSub_Number 1))} spids: [189] ) ] redirects: [] ) ] spids: [173 186] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mkfs_subopts='> name:mkfs_subopts) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName mkfs_subopts) <','> ($ Id.VSub_Number 1))} spids: [199] ) ] redirects: [] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<getopts>} {(DQ <'GM:Nva:b:c:d:f:i:m:n:o:r:s:t:C:'>)} {<c>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'save='> name:save) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTIND)} spids: [227] ) ] redirects: [] ) (command.Case to_match: {($ Id.VSub_DollarName c)} arms: [ (case_arm pat_list:[{<G>}] action:[] spids:[239 240 242 -1]) (case_arm pat_list: [{<M>}] action: [ (command.Sentence child: (C {<add_opt>} {(DQ <'-M '> ($ Id.VSub_DollarName OPTARG))}) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mount_pt='> name:mount_pt) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName OPTARG))} spids: [256] ) ] redirects: [] ) ] spids: [245 246 261 -1] ) (case_arm pat_list: [{<N>}] action: [(C {<add_subopt>} {(DQ <N>)})] spids: [264 265 273 -1] ) (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: {(DQ <1>)} spids: [279] ) ] redirects: [] ) ] spids: [276 277 284 -1] ) (case_arm pat_list: [{<a>}] action: [(C {<add_subopt>} {(DQ <'apc='> ($ Id.VSub_DollarName OPTARG))})] spids: [287 288 297 -1] ) (case_arm pat_list: [{<b>}] action: [(C {<add_subopt>} {(DQ <'bsize='> ($ Id.VSub_DollarName OPTARG))})] spids: [300 301 310 -1] ) (case_arm pat_list: [{<c>}] action: [(C {<add_subopt>} {(DQ <'cgsize='> ($ Id.VSub_DollarName OPTARG))})] spids: [313 314 323 -1] ) (case_arm pat_list: [{<d>}] action: [(C {<add_subopt>} {(DQ <'gap='> ($ Id.VSub_DollarName OPTARG))})] spids: [326 327 336 -1] ) (case_arm pat_list: [{<f>}] action: [(C {<add_subopt>} {(DQ <'fragsize='> ($ Id.VSub_DollarName OPTARG))})] spids: [339 340 349 -1] ) (case_arm pat_list: [{<i>}] action: [(C {<add_subopt>} {(DQ <'nbpi='> ($ Id.VSub_DollarName OPTARG))})] spids: [352 353 362 -1] ) (case_arm pat_list: [{<m>}] action: [(C {<add_subopt>} {(DQ <'free='> ($ Id.VSub_DollarName OPTARG))})] spids: [365 366 375 -1] ) (case_arm pat_list: [{<n>}] action: [(C {<add_subopt>} {(DQ <'nrpos='> ($ Id.VSub_DollarName OPTARG))})] spids: [378 379 388 -1] ) (case_arm pat_list: [{<o>}] action: [(C {<add_subopt>} {(DQ <'opt='> ($ Id.VSub_DollarName OPTARG))})] spids: [391 392 401 -1] ) (case_arm pat_list: [{<r>}] action: [ (C {<add_subopt>} { (DQ <'rps='> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName OPTARG)} {<'/'>} {<60>}) right: <Id.Backtick_Right '`'> ) ) } ) ] spids: [404 405 424 -1] ) (case_arm pat_list: [{<s>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'size='> name:size) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} spids: [430] ) ] redirects: [] ) ] spids: [427 428 433 -1] ) (case_arm pat_list: [{<t>}] action: [(C {<add_subopt>} {(DQ <'ntrack='> ($ Id.VSub_DollarName OPTARG))})] spids: [436 437 446 -1] ) (case_arm pat_list: [{<C>}] action: [(C {<add_subopt>} {(DQ <'maxcontig='> ($ Id.VSub_DollarName OPTARG))})] spids: [449 450 459 -1] ) (case_arm pat_list: [{(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\?'> ch:'?')}] action: [ (command.Sentence child: (C {<echo>} {($ Id.VSub_DollarName USAGE)}) terminator: <Id.Op_Semi _> ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [462 463 474 -1] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTIND='> name:OPTIND) op: assign_op.Equal rhs: {($ Id.VSub_DollarName save)} spids: [481] ) ] redirects: [] ) ] ) redirects: [] ) (C {<shift>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName OPTIND)} {<->} {<1>}) right: <Id.Backtick_Right '`'> ) } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_Pound '#')} {<-ne>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {($ Id.VSub_DollarName USAGE)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [501 514] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'raw_special='> name:raw_special) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [528] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName size))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'size='> name:size) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<devinfo>} {<-p>} {($ Id.VSub_DollarName raw_special)}) (C {<awk>} {(SQ <'{ print $5 }'>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [548] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<-o>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName size))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ ($ Id.VSub_DollarName myname) <': cannot get partition size'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] spids: [568 589] ) ] else_action: [] redirects: [] ) ] spids: [532 545] ) ] else_action: [] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName UFS_MKFS) <' '> ($ Id.VSub_DollarName mkfs_opts) <' '> ($ Id.VSub_DollarName mkfs_subopts) <' '> ($ Id.VSub_DollarName raw_special) <' '> ($ Id.VSub_DollarName size) ) } spids: [610] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName verbose))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {($ Id.VSub_DollarName cmd)})] spids: [623 636] ) ] else_action: [] redirects: [] ) (command.CommandList children: [ (command.Sentence child:(C {($ Id.VSub_DollarName cmd)}) terminator:<Id.Op_Semi _>) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'retv='> name:retv) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [648] ) ] redirects: [] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName retv)} {<-eq>} {($ Id.VSub_DollarName UFS_MKFS_NOTENOUGHSPACE)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Growing filesystem in increments due to limited available space.'>)}) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_DollarName newsize))} {<-lt>} {(DQ ($ Id.VSub_DollarName size))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName UFS_MKFS) <' '> ($ Id.VSub_DollarName mkfs_opts) <' '> ($ Id.VSub_DollarName mkfs_subopts) <' -P '> ($ Id.VSub_DollarName raw_special) <' '> ($ Id.VSub_DollarName size) ) } spids: [696] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName verbose))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {($ Id.VSub_DollarName cmd)})] spids: [710 723] ) ] else_action: [] redirects: [] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'newsize='> name:newsize) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {($ Id.VSub_DollarName cmd)}) right: <Id.Backtick_Right '`'> ) } spids: [734] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'retv='> name:retv) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [742] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<0>} {<-ne>} {($ Id.VSub_DollarName retv)} {<-o>} {<-z>} {(DQ ($ Id.VSub_DollarName newsize))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ ($ Id.VSub_DollarName myname) <': cannot probe the possible file system size'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] spids: [746 767] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<0>} {<-eq>} {(DQ ($ Id.VSub_DollarName newsize))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ ($ Id.VSub_DollarName myname) < ': the file system is full and cannot be grown, please delete some files' > ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<2>} ) ] spids: [786 801] ) ] else_action: [] redirects: [] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName UFS_MKFS) <' '> ($ Id.VSub_DollarName mkfs_opts) <' '> ($ Id.VSub_DollarName mkfs_subopts) <' '> ($ Id.VSub_DollarName raw_special) <' '> ($ Id.VSub_DollarName newsize) ) } spids: [821] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'retv='> name:retv) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [835] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName verbose))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {($ Id.VSub_DollarName cmd)})] spids: [839 852] ) ] else_action: [] redirects: [] ) (command.Sentence child: (C {($ Id.VSub_DollarName cmd)}) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'retv='> name:retv) op: assign_op.Equal rhs: {($ Id.VSub_QMark '?')} spids: [866] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<0>} {<-ne>} {($ Id.VSub_DollarName retv)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ ($ Id.VSub_DollarName myname) <': cannot grow file system to '> ($ Id.VSub_DollarName newsize) <' sectors'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName retv)} ) ] spids: [870 883] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.Sentence child: (command.Pipeline children: [ (C {<echo>} { (DQ <Id.Lit_BadBackslash '\\'> < 'nThe incremental grow has successfully completed, but since the first growth ' > <'attempt failed (see output from first mkfs(1M) run), the filesystem is still '> <'locked and needs to be checked with fsck(1M).'> <Id.Lit_BadBackslash '\\'> <n> <'Please run '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'fsck -F ufs '> ($ Id.VSub_DollarName raw_special) <'\' and then unlock the filesystem '> <'with '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\`'> ch: '`' ) <'lockfs -u '> ($ Id.VSub_DollarName mount_pt) <'\'.'> ) } ) (C {<fmt>}) ] negated: F stderr_indices: [] ) terminator: <Id.Op_Semi _> ) ] spids: [652 665] ) ] else_action: [] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{($ Id.VSub_DollarName retv)}) ] )