code: func (p *Pod) ToExitedGarbage() error {
  	if !p.isExited || p.isExitedGarbage {
  		return fmt.Errorf("bug: only exited non-garbage pods may transition to exited-garbage")
  	}
  
  	if err := os.Rename(p.runPath(), p.exitedGarbagePath()); err != nil {
  		// TODO(vc): another case where we could race with a concurrent ToExitedGarbage(), let caller deal with the error.
  		return err
  	}
  
  	df, err := os.Open(exitedGarbageDir(p.dataDir))
  	if err != nil {
  		return err
  	}
  	defer df.Close()
  	if err := df.Sync(); err != nil {
  		return err
  	}
  
  	p.isExitedGarbage = true
  
  	return nil
  }
docs: // ToExitedGarbage transitions a pod from run -> exitedGarbage
  // This method refreshes the pod state.