Merge pull request #31265 from cyli/remove_swarm_subdirs

Rather than remove the swarm directory and re-create, remove the subdirs
This commit is contained in:
Brian Goff 2017-03-07 14:30:34 -05:00 committed by GitHub
commit fd5f9d7941
1 changed files with 10 additions and 3 deletions

View File

@ -38,12 +38,19 @@ func savePersistentState(root string, config nodeStartConfig) error {
func clearPersistentState(root string) error {
// todo: backup this data instead of removing?
if err := os.RemoveAll(root); err != nil {
// rather than delete the entire swarm directory, delete the contents in order to preserve the inode
// (for example, allowing it to be bind-mounted)
files, err := ioutil.ReadDir(root)
if err != nil {
return err
}
if err := os.MkdirAll(root, 0700); err != nil {
return err
for _, f := range files {
if err := os.RemoveAll(filepath.Join(root, f.Name())); err != nil {
return err
}
}
return nil
}