(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DIR)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: (CommandList children:[(C {(mktemp)} {(-d)})])
                left_token: <Left_Backtick "`">
                spids: [45 49]
              )
            }
          spids: [44]
        )
      ]
      spids: [44]
    )
    (FuncDef
      name: start
      body: 
        (BraceGroup
          children: [
            (C {(mount)} {(-t)} {(tmpfs)} {(test)} {($ VSub_Name "$DIR")})
            (C {(chmod)} {(755)} {($ VSub_Name "$DIR")})
            (C {(cp)} {(/vol/) (Lit_Other "*")} {($ VSub_Name "$DIR") (/)})
            (C {(/usr/sbin/glusterd)} {(-p)} {(/run/glusterd.pid)})
            (C {(gluster)} {(volume)} {(create)} {(test_vol)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(hostname)} {(-i)})])
                  left_token: <Left_Backtick "`">
                  spids: [103 107]
                ) (Lit_Other ":") ($ VSub_Name "$DIR")
              } {(force)}
            )
            (C {(gluster)} {(volume)} {(start)} {(test_vol)})
          ]
          spids: [58]
        )
      spids: [52 57]
    )
    (FuncDef
      name: stop
      body: 
        (BraceGroup
          children: [
            (C {(gluster)} {(--mode) (Lit_Other "=") (script)} {(volume)} {(stop)} {(test_vol)} {(force)})
            (C {(kill)} 
              {
                (CommandSubPart
                  command_list: (CommandList children:[(C {(cat)} {(/run/glusterd.pid)})])
                  left_token: <Left_CommandSub "$(">
                  spids: [151 155]
                )
              }
            )
            (C {(umount)} {($ VSub_Name "$DIR")})
            (C {(rm)} {(-rf)} {($ VSub_Name "$DIR")})
            (C {(exit)} {(0)})
          ]
          spids: [131]
        )
      spids: [125 130]
    )
    (C {(trap)} {(stop)} {(TERM)})
    (C {(start)} {(DQ ($ VSub_At "$@"))})
    (While
      cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ";">)]
      body: (DoGroup children:[(C {(sleep)} {(5)})] spids:[197204])
    )
  ]
)