aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2018-05-28 13:42:25 -0700
committerChris Lu <chris.lu@gmail.com>2018-05-28 13:42:25 -0700
commit5c4480ec6c941e16efd4157ee98e67d21b5859fb (patch)
tree3ffe96a1f48ebee3f2348fd18c0a5ff9c618818f /weed/filesys
parent8ab7dd9d08dbf326046bfcf0c1fac5d171600a7d (diff)
downloadseaweedfs-5c4480ec6c941e16efd4157ee98e67d21b5859fb.tar.xz
seaweedfs-5c4480ec6c941e16efd4157ee98e67d21b5859fb.zip
add mountOptions.chunkSizeLimitMB, remove cmdMount.IsDebug
Diffstat (limited to 'weed/filesys')
-rw-r--r--weed/filesys/dirty_page.go8
-rw-r--r--weed/filesys/wfs.go4
2 files changed, 10 insertions, 2 deletions
diff --git a/weed/filesys/dirty_page.go b/weed/filesys/dirty_page.go
index da442d6c6..a78fdb47d 100644
--- a/weed/filesys/dirty_page.go
+++ b/weed/filesys/dirty_page.go
@@ -59,7 +59,13 @@ func (pages *ContinuousDirtyPages) AddPage(ctx context.Context, offset int64, da
Offset: offset,
Data: data,
})
- return nil, nil
+
+ if pages.totalSize() >= pages.f.wfs.chunkSizeLimit {
+ chunk, err = pages.saveToStorage(ctx)
+ pages.pages = nil
+ glog.V(3).Infof("%s/%s add split [%d,%d)", pages.f.dir.Path, pages.f.Name, chunk.Offset, chunk.Offset+int64(chunk.Size))
+ }
+ return
}
chunk, err = pages.saveToStorage(ctx)
diff --git a/weed/filesys/wfs.go b/weed/filesys/wfs.go
index b9cb0210b..4b9e20b95 100644
--- a/weed/filesys/wfs.go
+++ b/weed/filesys/wfs.go
@@ -13,14 +13,16 @@ type WFS struct {
listDirectoryEntriesCache *ccache.Cache
collection string
replication string
+ chunkSizeLimit int64
}
-func NewSeaweedFileSystem(filer string, collection string, replication string) *WFS {
+func NewSeaweedFileSystem(filer string, collection string, replication string, chunkSizeLimitMB int) *WFS {
return &WFS{
filer: filer,
listDirectoryEntriesCache: ccache.New(ccache.Configure().MaxSize(6000).ItemsToPrune(100)),
collection: collection,
replication: replication,
+ chunkSizeLimit: int64(chunkSizeLimitMB) * 1024 * 1024,
}
}