diff --git a/kernel/sql/database.go b/kernel/sql/database.go index ef74fb62b..e6b93756a 100644 --- a/kernel/sql/database.go +++ b/kernel/sql/database.go @@ -99,7 +99,7 @@ func InitDatabase(forceRebuild bool) (err error) { } } if gulu.File.IsExist(util.BlockTreePath) { - os.RemoveAll(util.BlockTreePath) + treenode.InitBlockTree(true) } initDBConnection() diff --git a/kernel/treenode/blocktree.go b/kernel/treenode/blocktree.go index c79da1e28..a67877b2e 100644 --- a/kernel/treenode/blocktree.go +++ b/kernel/treenode/blocktree.go @@ -375,7 +375,7 @@ func InitBlockTree(force bool) { if force { err := os.RemoveAll(util.BlockTreePath) if nil != err { - logging.LogErrorf("remove blocktree file failed: %s", err) + logging.LogErrorf("remove block tree file failed: %s", err) } blockTrees = &sync.Map{} return @@ -456,7 +456,11 @@ func SaveBlockTree(force bool) { defer blockTreeLock.Unlock() start := time.Now() - os.MkdirAll(util.BlockTreePath, 0755) + if err := os.MkdirAll(util.BlockTreePath, 0755); nil != err { + logging.LogErrorf("create block tree dir [%s] failed: %s", util.BlockTreePath, err) + os.Exit(logging.ExitCodeFileSysErr) + return + } size := uint64(0) var count int