If a daemon crashes before completely removing `tmpDir + "-old"`, the next daemon execution fails to execute `os.Rename(tmpDir, tmpDir+"-old")`, and hence the old `tmpDir + "-old"` will be left alone.    So I think we need `os.RemoveAll(tmpDir + "-old")` here.      