Skip to content

Commit 5f00c7f

Browse files
committed
clean up empty flatfs directories after migration
1 parent da31d7c commit 5f00c7f

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

ipfs-3-to-4/migration/migration.go

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,10 @@ func (m Migration) Revert(opts migrate.Options) error {
162162
return err
163163
}
164164

165+
if err := cleanEmptyDirs(filepath.Join(opts.Path, "blocks")); err != nil {
166+
return err
167+
}
168+
165169
log.Log("reverting stored public key records")
166170
if err := rewriteKeys(newds, oldds, "pk", oldKeyFunc("/pk/"), validateNewKey, transferPubKey); err != nil {
167171
return err
@@ -387,6 +391,38 @@ func transferBlocks(flatfsdir string) error {
387391

388392
fmt.Println()
389393

394+
err := cleanEmptyDirs(flatfsdir)
395+
if err != nil {
396+
fmt.Println(err)
397+
}
398+
399+
return nil
400+
}
401+
402+
func cleanEmptyDirs(dir string) error {
403+
children, err := ioutil.ReadDir(dir)
404+
if err != nil {
405+
return err
406+
}
407+
408+
for _, c := range children {
409+
if !c.IsDir() {
410+
continue
411+
}
412+
413+
cdir := filepath.Join(dir, c.Name())
414+
blocks, err := ioutil.ReadDir(cdir)
415+
if err != nil {
416+
return err
417+
}
418+
419+
if len(blocks) == 0 {
420+
err := os.Remove(cdir)
421+
if err != nil {
422+
return err
423+
}
424+
}
425+
}
390426
return nil
391427
}
392428

0 commit comments

Comments
 (0)