aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys
diff options
context:
space:
mode:
authoryourchanges <yourchanges@gmail.com>2020-07-17 19:49:16 +0800
committerGitHub <noreply@github.com>2020-07-17 19:49:16 +0800
commit64df5207db14ccf7e7915561b5c9b8f3dab53c6e (patch)
treedf4a05999d67abb7c4765d39eddc01318521169b /weed/filesys
parent8c318470dd95b3fc24d39dc3cf253cc17b03ab39 (diff)
parentf43146b237bc5bbfb7033f6e427b5299554c0824 (diff)
downloadseaweedfs-64df5207db14ccf7e7915561b5c9b8f3dab53c6e.tar.xz
seaweedfs-64df5207db14ccf7e7915561b5c9b8f3dab53c6e.zip
Merge pull request #2 from chrislusf/master
merge
Diffstat (limited to 'weed/filesys')
-rw-r--r--weed/filesys/meta_cache/meta_cache.go2
-rw-r--r--weed/filesys/meta_cache/meta_cache_init.go12
-rw-r--r--weed/filesys/meta_cache/meta_cache_subscribe.go4
-rw-r--r--weed/filesys/unimplemented.go2
-rw-r--r--weed/filesys/wfs.go20
5 files changed, 13 insertions, 27 deletions
diff --git a/weed/filesys/meta_cache/meta_cache.go b/weed/filesys/meta_cache/meta_cache.go
index 3b04040a5..fdb486ba4 100644
--- a/weed/filesys/meta_cache/meta_cache.go
+++ b/weed/filesys/meta_cache/meta_cache.go
@@ -60,7 +60,7 @@ func (mc *MetaCache) AtomicUpdateEntry(ctx context.Context, oldPath util.FullPat
return err
}
}
- }else{
+ } else {
// println("unknown old directory:", oldDir)
}
diff --git a/weed/filesys/meta_cache/meta_cache_init.go b/weed/filesys/meta_cache/meta_cache_init.go
index 1fbc3e532..e119ebff5 100644
--- a/weed/filesys/meta_cache/meta_cache_init.go
+++ b/weed/filesys/meta_cache/meta_cache_init.go
@@ -10,18 +10,6 @@ import (
"github.com/chrislusf/seaweedfs/weed/util"
)
-func InitMetaCache(mc *MetaCache, client filer_pb.FilerClient, path string) error {
- return nil
- glog.V(0).Infof("synchronizing meta data ...")
- filer_pb.TraverseBfs(client, util.FullPath(path), func(parentPath util.FullPath, pbEntry *filer_pb.Entry) {
- entry := filer2.FromPbEntry(string(parentPath), pbEntry)
- if err := mc.InsertEntry(context.Background(), entry); err != nil {
- glog.V(0).Infof("read %s: %v", entry.FullPath, err)
- }
- })
- return nil
-}
-
func EnsureVisited(mc *MetaCache, client filer_pb.FilerClient, dirPath util.FullPath) {
mc.visitedBoundary.EnsureVisited(dirPath, func(path util.FullPath) (childDirectories []string, err error) {
diff --git a/weed/filesys/meta_cache/meta_cache_subscribe.go b/weed/filesys/meta_cache/meta_cache_subscribe.go
index 2e411a48a..ca18411e0 100644
--- a/weed/filesys/meta_cache/meta_cache_subscribe.go
+++ b/weed/filesys/meta_cache/meta_cache_subscribe.go
@@ -56,13 +56,13 @@ func SubscribeMetaEvents(mc *MetaCache, client filer_pb.FilerClient, dir string,
}
if err := processEventFn(resp); err != nil {
- return fmt.Errorf("process %v: %v", resp, err)
+ glog.Fatalf("process %v: %v", resp, err)
}
lastTsNs = resp.TsNs
}
})
if err != nil {
- glog.V(0).Infof("subscribing filer meta change: %v", err)
+ glog.Errorf("subscribing filer meta change: %v", err)
time.Sleep(time.Second)
}
}
diff --git a/weed/filesys/unimplemented.go b/weed/filesys/unimplemented.go
index 1f4fe554d..5c2dcf0e1 100644
--- a/weed/filesys/unimplemented.go
+++ b/weed/filesys/unimplemented.go
@@ -10,11 +10,13 @@ import (
// https://github.com/bazil/fuse/issues/130
var _ = fs.NodeAccesser(&Dir{})
+
func (dir *Dir) Access(ctx context.Context, req *fuse.AccessRequest) error {
return fuse.ENOSYS
}
var _ = fs.NodeAccesser(&File{})
+
func (file *File) Access(ctx context.Context, req *fuse.AccessRequest) error {
return fuse.ENOSYS
}
diff --git a/weed/filesys/wfs.go b/weed/filesys/wfs.go
index 8dffa6555..1bd36167b 100644
--- a/weed/filesys/wfs.go
+++ b/weed/filesys/wfs.go
@@ -53,7 +53,7 @@ var _ = fs.FS(&WFS{})
var _ = fs.FSStatfser(&WFS{})
type WFS struct {
- option *Option
+ option *Option
// contains all open handles, protected by handlesLock
handlesLock sync.Mutex
@@ -76,15 +76,15 @@ type statsCache struct {
func NewSeaweedFileSystem(option *Option) *WFS {
wfs := &WFS{
- option: option,
- handles: make(map[uint64]*FileHandle),
+ option: option,
+ handles: make(map[uint64]*FileHandle),
bufPool: sync.Pool{
New: func() interface{} {
return make([]byte, option.ChunkSizeLimit)
},
},
}
- cacheUniqueId := util.Md5([]byte(option.FilerGrpcAddress))[0:4]
+ cacheUniqueId := util.Md5([]byte(option.FilerGrpcAddress + option.FilerMountRootPath + util.Version()))[0:4]
cacheDir := path.Join(option.CacheDir, cacheUniqueId)
if option.CacheSizeMB > 0 {
os.MkdirAll(cacheDir, 0755)
@@ -96,14 +96,10 @@ func NewSeaweedFileSystem(option *Option) *WFS {
wfs.metaCache = meta_cache.NewMetaCache(path.Join(cacheDir, "meta"))
startTime := time.Now()
- if err := meta_cache.InitMetaCache(wfs.metaCache, wfs, wfs.option.FilerMountRootPath); err != nil {
- glog.V(0).Infof("failed to init meta cache: %v", err)
- } else {
- go meta_cache.SubscribeMetaEvents(wfs.metaCache, wfs, wfs.option.FilerMountRootPath, startTime.UnixNano())
- grace.OnInterrupt(func() {
- wfs.metaCache.Shutdown()
- })
- }
+ go meta_cache.SubscribeMetaEvents(wfs.metaCache, wfs, wfs.option.FilerMountRootPath, startTime.UnixNano())
+ grace.OnInterrupt(func() {
+ wfs.metaCache.Shutdown()
+ })
wfs.root = &Dir{name: wfs.option.FilerMountRootPath, wfs: wfs}
wfs.fsNodeCache = newFsCache(wfs.root)