diff options
Diffstat (limited to 'weed/server')
| -rw-r--r-- | weed/server/filer_grpc_server.go | 13 | ||||
| -rw-r--r-- | weed/server/filer_server.go | 2 | ||||
| -rw-r--r-- | weed/server/filer_server_handlers_write.go | 7 | ||||
| -rw-r--r-- | weed/server/filer_server_handlers_write_autochunk.go | 21 | ||||
| -rw-r--r-- | weed/server/filer_server_handlers_write_cipher.go | 19 | ||||
| -rw-r--r-- | weed/server/webdav_server.go | 16 |
6 files changed, 35 insertions, 43 deletions
diff --git a/weed/server/filer_grpc_server.go b/weed/server/filer_grpc_server.go index 67d4aaaaf..17d17c588 100644 --- a/weed/server/filer_grpc_server.go +++ b/weed/server/filer_grpc_server.go @@ -144,8 +144,13 @@ func (fs *FilerServer) CreateEntry(ctx context.Context, req *filer_pb.CreateEntr return &filer_pb.CreateEntryResponse{}, fmt.Errorf("CreateEntry cleanupChunks %s %s: %v", req.Directory, req.Entry.Name, err2) } + so, err := fs.detectStorageOption(string(util.NewFullPath(req.Directory, req.Entry.Name)), "", "", 0, "", "", "", "") + if err != nil { + return nil, err + } newEntry := filer.FromPbEntry(req.Directory, req.Entry) newEntry.Chunks = chunks + newEntry.TtlSec = so.TtlSeconds createErr := fs.filer.CreateEntry(ctx, newEntry, req.OExcl, req.IsFromOtherCluster, req.Signatures, req.SkipCheckParentDirectory) @@ -211,10 +216,10 @@ func (fs *FilerServer) cleanupChunks(fullpath string, existingEntry *filer.Entry if newEntry.Attributes != nil { so, _ := fs.detectStorageOption(fullpath, - newEntry.Attributes.Collection, - newEntry.Attributes.Replication, + "", + "", newEntry.Attributes.TtlSec, - newEntry.Attributes.DiskType, + "", "", "", "", @@ -259,7 +264,7 @@ func (fs *FilerServer) AppendToEntry(ctx context.Context, req *filer_pb.AppendTo } entry.Chunks = append(entry.Chunks, req.Chunks...) - so, err := fs.detectStorageOption(string(fullpath), entry.Collection, entry.Replication, entry.TtlSec, entry.DiskType, "", "", "") + so, err := fs.detectStorageOption(string(fullpath), "", "", entry.TtlSec, "", "", "", "") if err != nil { glog.Warningf("detectStorageOption: %v", err) return &filer_pb.AppendToEntryResponse{}, err diff --git a/weed/server/filer_server.go b/weed/server/filer_server.go index 9292d9e06..8908b5e5f 100644 --- a/weed/server/filer_server.go +++ b/weed/server/filer_server.go @@ -174,8 +174,6 @@ func NewFilerServer(defaultMux, readonlyMux *http.ServeMux, option *FilerOption) } fs.filer.AggregateFromPeers(option.Host, existingNodes, startFromTime) - fs.filer.LoadBuckets() - fs.filer.LoadFilerConf() fs.filer.LoadRemoteStorageConfAndMapping() diff --git a/weed/server/filer_server_handlers_write.go b/weed/server/filer_server_handlers_write.go index acee23da7..bbaf28aa8 100644 --- a/weed/server/filer_server_handlers_write.go +++ b/weed/server/filer_server_handlers_write.go @@ -200,10 +200,9 @@ func (fs *FilerServer) detectStorageOption(requestURI, qCollection, qReplication } // required by buckets folder - bucketDefaultCollection, bucketDefaultReplication, fsync := "", "", false + bucketDefaultCollection := "" if strings.HasPrefix(requestURI, fs.filer.DirBucketsPath+"/") { bucketDefaultCollection = fs.filer.DetectBucket(util.FullPath(requestURI)) - bucketDefaultReplication, fsync = fs.filer.ReadBucketOption(bucketDefaultCollection) } if ttlSeconds == 0 { @@ -215,14 +214,14 @@ func (fs *FilerServer) detectStorageOption(requestURI, qCollection, qReplication } return &operation.StorageOption{ - Replication: util.Nvl(qReplication, rule.Replication, bucketDefaultReplication, fs.option.DefaultReplication), + Replication: util.Nvl(qReplication, rule.Replication, fs.option.DefaultReplication), Collection: util.Nvl(qCollection, rule.Collection, bucketDefaultCollection, fs.option.Collection), DataCenter: util.Nvl(dataCenter, rule.DataCenter, fs.option.DataCenter), Rack: util.Nvl(rack, rule.Rack, fs.option.Rack), DataNode: util.Nvl(dataNode, rule.DataNode, fs.option.DataNode), TtlSeconds: ttlSeconds, DiskType: util.Nvl(diskType, rule.DiskType), - Fsync: fsync || rule.Fsync, + Fsync: rule.Fsync, VolumeGrowthCount: rule.VolumeGrowthCount, }, nil } diff --git a/weed/server/filer_server_handlers_write_autochunk.go b/weed/server/filer_server_handlers_write_autochunk.go index 187dc8231..9c2b9959f 100644 --- a/weed/server/filer_server_handlers_write_autochunk.go +++ b/weed/server/filer_server_handlers_write_autochunk.go @@ -201,18 +201,15 @@ func (fs *FilerServer) saveMetaData(ctx context.Context, r *http.Request, fileNa entry = &filer.Entry{ FullPath: util.FullPath(path), Attr: filer.Attr{ - Mtime: time.Now(), - Crtime: time.Now(), - Mode: os.FileMode(mode), - Uid: OS_UID, - Gid: OS_GID, - Replication: so.Replication, - Collection: so.Collection, - TtlSec: so.TtlSeconds, - DiskType: so.DiskType, - Mime: contentType, - Md5: md5bytes, - FileSize: uint64(chunkOffset), + Mtime: time.Now(), + Crtime: time.Now(), + Mode: os.FileMode(mode), + Uid: OS_UID, + Gid: OS_GID, + TtlSec: so.TtlSeconds, + Mime: contentType, + Md5: md5bytes, + FileSize: uint64(chunkOffset), }, Content: content, } diff --git a/weed/server/filer_server_handlers_write_cipher.go b/weed/server/filer_server_handlers_write_cipher.go index a5b085764..1f10d044e 100644 --- a/weed/server/filer_server_handlers_write_cipher.go +++ b/weed/server/filer_server_handlers_write_cipher.go @@ -73,17 +73,14 @@ func (fs *FilerServer) encrypt(ctx context.Context, w http.ResponseWriter, r *ht entry := &filer.Entry{ FullPath: util.FullPath(path), Attr: filer.Attr{ - Mtime: time.Now(), - Crtime: time.Now(), - Mode: 0660, - Uid: OS_UID, - Gid: OS_GID, - Replication: so.Replication, - Collection: so.Collection, - TtlSec: so.TtlSeconds, - DiskType: so.DiskType, - Mime: pu.MimeType, - Md5: util.Base64Md5ToBytes(pu.ContentMd5), + Mtime: time.Now(), + Crtime: time.Now(), + Mode: 0660, + Uid: OS_UID, + Gid: OS_GID, + TtlSec: so.TtlSeconds, + Mime: pu.MimeType, + Md5: util.Base64Md5ToBytes(pu.ContentMd5), }, Chunks: fileChunks, } diff --git a/weed/server/webdav_server.go b/weed/server/webdav_server.go index 267c3e1f0..265dea03a 100644 --- a/weed/server/webdav_server.go +++ b/weed/server/webdav_server.go @@ -218,14 +218,12 @@ func (fs *WebDavFileSystem) OpenFile(ctx context.Context, fullFilePath string, f Name: name, IsDirectory: perm&os.ModeDir > 0, Attributes: &filer_pb.FuseAttributes{ - Mtime: time.Now().Unix(), - Crtime: time.Now().Unix(), - FileMode: uint32(perm), - Uid: fs.option.Uid, - Gid: fs.option.Gid, - Collection: fs.option.Collection, - Replication: fs.option.Replication, - TtlSec: 0, + Mtime: time.Now().Unix(), + Crtime: time.Now().Unix(), + FileMode: uint32(perm), + Uid: fs.option.Uid, + Gid: fs.option.Gid, + TtlSec: 0, }, }, Signatures: []int32{fs.signature}, @@ -478,8 +476,6 @@ func (f *WebDavFile) Write(buf []byte) (int, error) { flushErr := f.fs.WithFilerClient(false, func(client filer_pb.SeaweedFilerClient) error { f.entry.Attributes.Mtime = time.Now().Unix() - f.entry.Attributes.Collection = f.collection - f.entry.Attributes.Replication = f.replication request := &filer_pb.UpdateEntryRequest{ Directory: dir, |
