aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys
diff options
context:
space:
mode:
Diffstat (limited to 'weed/filesys')
-rw-r--r--weed/filesys/dir.go14
-rw-r--r--weed/filesys/dirty_page.go1
-rw-r--r--weed/filesys/wfs.go4
3 files changed, 13 insertions, 6 deletions
diff --git a/weed/filesys/dir.go b/weed/filesys/dir.go
index b6379c7dc..b48226979 100644
--- a/weed/filesys/dir.go
+++ b/weed/filesys/dir.go
@@ -10,6 +10,7 @@ import (
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
"path/filepath"
"time"
+ "github.com/chrislusf/seaweedfs/weed/filer2"
)
type Dir struct {
@@ -110,11 +111,14 @@ func (dir *Dir) Create(ctx context.Context, req *fuse.CreateRequest,
Name: req.Name,
IsDirectory: req.Mode&os.ModeDir > 0,
Attributes: &filer_pb.FuseAttributes{
- Mtime: time.Now().Unix(),
- Crtime: time.Now().Unix(),
- FileMode: uint32(req.Mode),
- Uid: req.Uid,
- Gid: req.Gid,
+ Mtime: time.Now().Unix(),
+ Crtime: time.Now().Unix(),
+ FileMode: uint32(req.Mode),
+ Uid: req.Uid,
+ Gid: req.Gid,
+ Collection: dir.wfs.collection,
+ Replication: dir.wfs.replication,
+ TtlSec: dir.wfs.ttlSec,
},
},
}
diff --git a/weed/filesys/dirty_page.go b/weed/filesys/dirty_page.go
index ca8c29b7a..172262c98 100644
--- a/weed/filesys/dirty_page.go
+++ b/weed/filesys/dirty_page.go
@@ -121,6 +121,7 @@ func (pages *ContinuousDirtyPages) saveToStorage(ctx context.Context, buf []byte
Count: 1,
Replication: pages.f.wfs.replication,
Collection: pages.f.wfs.collection,
+ TtlSec: pages.f.wfs.ttlSec,
}
resp, err := client.AssignVolume(ctx, request)
diff --git a/weed/filesys/wfs.go b/weed/filesys/wfs.go
index 18a7da23f..a126bf3ea 100644
--- a/weed/filesys/wfs.go
+++ b/weed/filesys/wfs.go
@@ -16,6 +16,7 @@ type WFS struct {
listDirectoryEntriesCache *ccache.Cache
collection string
replication string
+ ttlSec int32
chunkSizeLimit int64
// contains all open handles
@@ -24,12 +25,13 @@ type WFS struct {
pathToHandleLock sync.Mutex
}
-func NewSeaweedFileSystem(filerGrpcAddress string, collection string, replication string, chunkSizeLimitMB int) *WFS {
+func NewSeaweedFileSystem(filerGrpcAddress string, collection string, replication string, ttlSec int32, chunkSizeLimitMB int) *WFS {
return &WFS{
filerGrpcAddress: filerGrpcAddress,
listDirectoryEntriesCache: ccache.New(ccache.Configure().MaxSize(6000).ItemsToPrune(100)),
collection: collection,
replication: replication,
+ ttlSec: ttlSec,
chunkSizeLimit: int64(chunkSizeLimitMB) * 1024 * 1024,
pathToHandleIndex: make(map[string]int),
}