(CommandList children: [ (C {(.)} {(/lib/lsb/init-functions)}) (C {(.)} {(/lib/init/vars.sh)}) (C {(.)} {(/lib/init/mount-functions.sh)}) (FuncDef name: do_wait_async_mount body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:waitnfs) op:Equal rhs:{(EmptyPart)} spids:[76])] spids: [76] ) (ForEach iter_name: file iter_words: [ { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(eval)} {(ls)} { (CommandSubPart command_list: (CommandList children:[(C {(fstab_files)})]) left_token: <Left_CommandSub '$('> spids: [91 93] ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [86 94] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$file'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (While cond: [ (Sentence child: (C {(read)} {(DEV)} {(MTPT)} {(FSTYPE)} {(OPTS)} {(REST)}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Case to_match: {(DQ ($ VSub_Name '$DEV'))} arms: [ (case_arm pat_list: [ {(DQ )} {(EscapedLiteralPart token:<Lit_EscapedChar '\\#'>) (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 149 155 16777215] ) ] spids: [135 141 158] ) (Case to_match: {(DQ ($ VSub_Name '$OPTS'))} arms: [ (case_arm pat_list: [ {(noauto)} {(Lit_Other '*') (Lit_Comma ',') (noauto)} {(noauto) (Lit_Comma ',') (Lit_Other '*')} {(Lit_Other '*') (Lit_Comma ',') (noauto) (Lit_Comma ',') (Lit_Other '*') } ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [170 185 191 16777215] ) ] spids: [161 167 194] ) (Case to_match: {(DQ ($ VSub_Name '$FSTYPE'))} arms: [ (case_arm pat_list: [ {(nfs)} {(nfs4)} {(smbfs)} {(cifs)} {(coda)} {(ncp)} {(ncpfs)} {(ocfs2)} {(gfs)} {(ceph)} ] spids: [206 225 228 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [231 232 238 16777215] ) ] spids: [197 203 241] ) (Case to_match: {(DQ ($ VSub_Name '$MTPT'))} arms: [ (case_arm pat_list: [{(/usr/local)} {(/usr/local/) (Lit_Other '*')}] spids: [253 257 260 16777215] ) (case_arm pat_list: [{(/usr)} {(/usr/) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:waitnfs) op: Equal rhs: { (DQ ($ VSub_Name '$waitnfs') (' ') ($ VSub_Name '$MTPT') ) } spids: [270] ) ] spids: [270] ) ] spids: [263 267 278 16777215] ) (case_arm pat_list: [{(/var)} {(/var/) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:waitnfs) op: Equal rhs: { (DQ ($ VSub_Name '$waitnfs') (' ') ($ VSub_Name '$MTPT') ) } spids: [288] ) ] spids: [288] ) ] spids: [281 285 296 16777215] ) ] spids: [244 250 299] ) ] spids: [132 302] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ ($ VSub_Name '$file'))} spids: [304] ) ] ) ] spids: [16777215 114] ) ] spids: [16777215 311] ) ] spids: [98 314] ) spids: [84 96] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TIMEOUT) op:Equal rhs:{(900)} spids:[326])] spids: [326] ) (ForEach iter_name: mountpt iter_words: [{($ VSub_Name '$waitnfs')}] do_arg_iter: F body: (DoGroup children: [ (C {(log_action_begin_msg)} {(DQ ('Waiting for ') ($ VSub_Name '$mountpt'))}) (While cond: [ (Sentence child: (Pipeline children: [(C {(mountpoint)} {(-q)} {($ VSub_Name '$mountpt')})] negated: T ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (C {(sleep)} {(0.1)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TIMEOUT) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name '$TIMEOUT')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [372 381] ) } spids: [371] ) ] spids: [371] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$TIMEOUT')} {(-le)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_action_end_msg)} {(1)}) (ControlFlow token: <ControlFlow_Break break> ) ] spids: [16777215 397] ) ] spids: [16777215 408] ) ] spids: [362 411] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$TIMEOUT')} {(-gt)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_action_end_msg)} {(0)})] spids: [16777215 428] ) ] spids: [16777215 436] ) ] spids: [339 439] ) spids: [335 337] ) ] spids: [60] ) spids: [56 59] ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(start)}] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(no)} {(KW_Bang '!') (Lit_Other '=')} {(DQ ($ VSub_Name '$ASYNCMOUNTNFS'))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(do_wait_async_mount)})] spids: [16777215 486] ) ] else_action: [ (SimpleCommand words: [{(/etc/network/if-up.d/mountnfs)}] more_env: [(env_pair name:FROMINITD val:{(yes)} spids:[495])] ) ] spids: [492 501] ) ] spids: [453 454 504 16777215] ) (case_arm pat_list: [{(restart)} {(reload)} {(force-reload)}] action: [ (SimpleCommand words: [{(echo)} {(DQ ("Error: argument '") ($ VSub_Number '$1') ("' not supported"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[523])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(3)}) ] spids: [507 512 532 16777215] ) (case_arm pat_list:[{(stop)} {(status)}] spids:[535 538 545 16777215]) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (SimpleCommand words: [{(echo)} {(DQ ('Usage: ') ($ VSub_Number '$0') (' start|stop'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[560])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(3)}) ] spids: [548 549 569 16777215] ) ] spids: [444 450 571] ) (C {(Lit_Other ':')}) ] )