aboutsummaryrefslogtreecommitdiff
path: root/weed/filer2/entry.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2020-08-15 09:32:47 -0700
committerChris Lu <chris.lu@gmail.com>2020-08-15 09:32:47 -0700
commitc647deace16ec1a3f0c11d92dc5fa15ec30012e4 (patch)
tree7b13546507283b5566a069d03dc3371ccd2d7290 /weed/filer2/entry.go
parentc03bb180eb5fc96e79324f0aa5ec7cd9b674f901 (diff)
downloadseaweedfs-c647deace16ec1a3f0c11d92dc5fa15ec30012e4.tar.xz
seaweedfs-c647deace16ec1a3f0c11d92dc5fa15ec30012e4.zip
file size support set file length
use Attr.FileSize and TotalChunkSize to determine file size
Diffstat (limited to 'weed/filer2/entry.go')
-rw-r--r--weed/filer2/entry.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/weed/filer2/entry.go b/weed/filer2/entry.go
index 00b9b132d..fedfde40d 100644
--- a/weed/filer2/entry.go
+++ b/weed/filer2/entry.go
@@ -22,6 +22,7 @@ type Attr struct {
GroupNames []string
SymlinkTarget string
Md5 []byte
+ FileSize uint64
}
func (attr Attr) IsDirectory() bool {
@@ -39,7 +40,7 @@ type Entry struct {
}
func (entry *Entry) Size() uint64 {
- return TotalSize(entry.Chunks)
+ return maxUint64(TotalSize(entry.Chunks), entry.FileSize)
}
func (entry *Entry) Timestamp() time.Time {
@@ -81,3 +82,10 @@ func FromPbEntry(dir string, entry *filer_pb.Entry) *Entry {
Chunks: entry.Chunks,
}
}
+
+func maxUint64(x, y uint64) uint64 {
+ if x > y {
+ return x
+ }
+ return y
+}