aboutsummaryrefslogtreecommitdiff
path: root/weed/util/file_util.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2019-12-28 12:28:58 -0800
committerChris Lu <chris.lu@gmail.com>2019-12-28 12:28:58 -0800
commitc06f7eb48a82afee597e2f2a193a36c8058915eb (patch)
treef4e8e61ef155f395c529bc2e49eecf8e5f66c6ab /weed/util/file_util.go
parentb7bc08cf52fa8471c76310b04200abb5ee4bf531 (diff)
downloadseaweedfs-c06f7eb48a82afee597e2f2a193a36c8058915eb.tar.xz
seaweedfs-c06f7eb48a82afee597e2f2a193a36c8058915eb.zip
load volume info from .vif file, use superblock as a backup
Diffstat (limited to 'weed/util/file_util.go')
-rw-r--r--weed/util/file_util.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/weed/util/file_util.go b/weed/util/file_util.go
index 78add6724..bef9f7cd6 100644
--- a/weed/util/file_util.go
+++ b/weed/util/file_util.go
@@ -3,6 +3,7 @@ package util
import (
"errors"
"os"
+ "time"
"github.com/chrislusf/seaweedfs/weed/glog"
)
@@ -40,3 +41,21 @@ func FileExists(filename string) bool {
return true
}
+
+func CheckFile(filename string) (exists, canRead, canWrite bool, modTime time.Time, fileSize int64) {
+ exists = true
+ fi, err := os.Stat(filename)
+ if os.IsNotExist(err) {
+ exists = false
+ return
+ }
+ if fi.Mode()&0400 != 0 {
+ canRead = true
+ }
+ if fi.Mode()&0200 != 0 {
+ canWrite = true
+ }
+ modTime = fi.ModTime()
+ fileSize = fi.Size()
+ return
+}