aboutsummaryrefslogtreecommitdiff
path: root/weed/server/filer_server.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2023-06-25 00:58:21 -0700
committerchrislu <chris.lu@gmail.com>2023-06-25 00:58:21 -0700
commit3fd659df2a35c42d6a30ce251413f219ea24d1c2 (patch)
tree4fe33062833c3340d618e5c0ea2e7968f446baf5 /weed/server/filer_server.go
parent051501414928baeef4a7bba7f62b08f96bcb75f7 (diff)
downloadseaweedfs-3fd659df2a35c42d6a30ce251413f219ea24d1c2.tar.xz
seaweedfs-3fd659df2a35c42d6a30ce251413f219ea24d1c2.zip
add distributed lock manager
Diffstat (limited to 'weed/server/filer_server.go')
-rw-r--r--weed/server/filer_server.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/weed/server/filer_server.go b/weed/server/filer_server.go
index 77b8c3873..e22dfd737 100644
--- a/weed/server/filer_server.go
+++ b/weed/server/filer_server.go
@@ -3,6 +3,7 @@ package weed_server
import (
"context"
"fmt"
+ "github.com/seaweedfs/seaweedfs/weed/cluster/lock_manager"
"net/http"
"os"
"sync"
@@ -94,6 +95,9 @@ type FilerServer struct {
// track known metadata listeners
knownListenersLock sync.Mutex
knownListeners map[int32]int32
+
+ // distributed lock manager
+ dlm *lock_manager.LockManager
}
func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption) (fs *FilerServer, err error) {
@@ -181,6 +185,9 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption)
fs.filer.Shutdown()
})
+ fs.dlm = lock_manager.NewLockManager()
+ fs.filer.LockRing.SetTakeSnapshotCallback(fs.OnDlmChangeSnapshot)
+
return fs, nil
}