aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2024-06-25 21:07:04 -0700
committerchrislu <chris.lu@gmail.com>2024-06-25 21:07:04 -0700
commitcb67137a03173ac3640783dc0e4a9bd871a13b37 (patch)
treec7ff1579e736316b90222d4b3b4e12904e5e2e88
parent90182e97fe26c8c6e49169bc12cb468531bd7074 (diff)
downloadseaweedfs-cb67137a03173ac3640783dc0e4a9bd871a13b37.tar.xz
seaweedfs-cb67137a03173ac3640783dc0e4a9bd871a13b37.zip
optionally open the leveldb in readonly mode
-rw-r--r--weed/filer/leveldb2/leveldb2_store.go6
-rw-r--r--weed/filer/leveldb3/leveldb3_store.go9
2 files changed, 10 insertions, 5 deletions
diff --git a/weed/filer/leveldb2/leveldb2_store.go b/weed/filer/leveldb2/leveldb2_store.go
index 78d15382f..b465046f9 100644
--- a/weed/filer/leveldb2/leveldb2_store.go
+++ b/weed/filer/leveldb2/leveldb2_store.go
@@ -25,8 +25,9 @@ func init() {
}
type LevelDB2Store struct {
- dbs []*leveldb.DB
- dbCount int
+ dbs []*leveldb.DB
+ dbCount int
+ ReadOnly bool
}
func (store *LevelDB2Store) GetName() string {
@@ -49,6 +50,7 @@ func (store *LevelDB2Store) initialize(dir string, dbCount int) (err error) {
BlockCacheCapacity: 32 * 1024 * 1024, // default value is 8MiB
WriteBuffer: 16 * 1024 * 1024, // default value is 4MiB
Filter: filter.NewBloomFilter(8), // false positive rate 0.02
+ ReadOnly: store.ReadOnly,
}
for d := 0; d < dbCount; d++ {
diff --git a/weed/filer/leveldb3/leveldb3_store.go b/weed/filer/leveldb3/leveldb3_store.go
index 406dc80be..2522221da 100644
--- a/weed/filer/leveldb3/leveldb3_store.go
+++ b/weed/filer/leveldb3/leveldb3_store.go
@@ -31,9 +31,10 @@ func init() {
}
type LevelDB3Store struct {
- dir string
- dbs map[string]*leveldb.DB
- dbsLock sync.RWMutex
+ dir string
+ dbs map[string]*leveldb.DB
+ dbsLock sync.RWMutex
+ ReadOnly bool
}
func (store *LevelDB3Store) GetName() string {
@@ -69,12 +70,14 @@ func (store *LevelDB3Store) loadDB(name string) (*leveldb.DB, error) {
BlockCacheCapacity: 32 * 1024 * 1024, // default value is 8MiB
WriteBuffer: 16 * 1024 * 1024, // default value is 4MiB
Filter: bloom,
+ ReadOnly: store.ReadOnly,
}
if name != DEFAULT {
opts = &opt.Options{
BlockCacheCapacity: 16 * 1024 * 1024, // default value is 8MiB
WriteBuffer: 8 * 1024 * 1024, // default value is 4MiB
Filter: bloom,
+ ReadOnly: store.ReadOnly,
}
}