From 042daa73e5c8e27548a9fe3d065fd9415ecb13e2 Mon Sep 17 00:00:00 2001 From: Liang Ding Date: Thu, 16 Mar 2023 23:17:07 +0800 Subject: [PATCH] =?UTF-8?q?:art:=20=E4=BD=BF=E7=94=A8=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=96=B9=E5=90=8C=E6=AD=A5=E7=9B=98=E6=97=B6=E5=BC=B9=E5=87=BA?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E5=B9=B6=E9=80=80=E5=87=BA=E5=86=85=E6=A0=B8?= =?UTF-8?q?=20https://github.com/siyuan-note/siyuan/issues/7683?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- kernel/util/runtime.go | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/kernel/util/runtime.go b/kernel/util/runtime.go index 36a186896..bda1629f9 100644 --- a/kernel/util/runtime.go +++ b/kernel/util/runtime.go @@ -147,7 +147,7 @@ func CheckFileSysStatus() { os.Exit(ExitCodeFileSysInconsistent) } - const fileSysStatusCheckFile = "filesys_status_check" + const fileSysStatusCheckFile = ".siyuan/filesys_status_check" for { workspaceDirLower := strings.ToLower(WorkspaceDir) @@ -168,7 +168,7 @@ func CheckFileSysStatus() { continue } - for i := 0; i < 16; i++ { + for i := 0; i < 32; i++ { tmp := filepath.Join(dir, "check_"+gulu.Rand.String(7)) data := make([]byte, 1024*4) _, err := rand.Read(data) @@ -184,7 +184,7 @@ func CheckFileSysStatus() { time.Sleep(time.Second) - for j := 0; j < 64; j++ { + for j := 0; j < 32; j++ { f, err := os.Open(tmp) if nil != err { reportFileSysFatalError(err) @@ -196,35 +196,35 @@ func CheckFileSysStatus() { break } - time.Sleep(100 * time.Millisecond) + time.Sleep(200 * time.Millisecond) if err = os.Rename(tmp, tmp+"_1"); nil != err { reportFileSysFatalError(err) break } - time.Sleep(100 * time.Millisecond) + time.Sleep(200 * time.Millisecond) if err = os.Rename(tmp+"_1", tmp); nil != err { reportFileSysFatalError(err) break } - } - entries, err := os.ReadDir(dir) - if nil != err { - reportFileSysFatalError(err) - break - } - - count := 0 - for _, entry := range entries { - if !entry.IsDir() && strings.Contains(entry.Name(), "check_") { - count++ + entries, err := os.ReadDir(dir) + if nil != err { + reportFileSysFatalError(err) + break + } + + count := 0 + for _, entry := range entries { + if !entry.IsDir() && strings.Contains(entry.Name(), "check_") { + count++ + } + } + if 1 < count { + reportFileSysFatalError(fmt.Errorf("dir [%s] has more than 1 file", dir)) + break } - } - if 1 < count { - reportFileSysFatalError(fmt.Errorf("dir [%s] has more than 1 file", dir)) - break } if err = os.RemoveAll(tmp); nil != err {