Rather than remove the swarm directory and re-create, remove the swarm subdirs
Signed-off-by: Ying Li <ying.li@docker.com>
This commit is contained in:
parent
bb9f19503c
commit
68506bd239
1 changed files with 10 additions and 3 deletions
|
@ -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
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue