diff options
| author | chrislu <chris.lu@gmail.com> | 2022-11-15 06:33:36 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2022-11-15 06:33:36 -0800 |
| commit | 70a4c98b00d811c01289f26d3602992a0d3f45e1 (patch) | |
| tree | 8d650eb24623e503ec03ccf45a73f3e61afdbe65 /weed/mount | |
| parent | 371972a1c212205b51391c17c064e9ea452fee17 (diff) | |
| download | seaweedfs-70a4c98b00d811c01289f26d3602992a0d3f45e1.tar.xz seaweedfs-70a4c98b00d811c01289f26d3602992a0d3f45e1.zip | |
refactor filer_pb.Entry and filer.Entry to use GetChunks()
for later locking on reading chunks
Diffstat (limited to 'weed/mount')
| -rw-r--r-- | weed/mount/filehandle.go | 6 | ||||
| -rw-r--r-- | weed/mount/filehandle_read.go | 2 | ||||
| -rw-r--r-- | weed/mount/weedfs_attr.go | 4 | ||||
| -rw-r--r-- | weed/mount/weedfs_file_lseek.go | 2 | ||||
| -rw-r--r-- | weed/mount/weedfs_file_sync.go | 6 | ||||
| -rw-r--r-- | weed/mount/weedfs_link.go | 2 |
6 files changed, 11 insertions, 11 deletions
diff --git a/weed/mount/filehandle.go b/weed/mount/filehandle.go index b2e6730c0..c2a197da7 100644 --- a/weed/mount/filehandle.go +++ b/weed/mount/filehandle.go @@ -94,7 +94,7 @@ func (fh *FileHandle) AddChunks(chunks []*filer_pb.FileChunk) { } // pick out-of-order chunks from existing chunks - for _, chunk := range fh.entry.Chunks { + for _, chunk := range fh.entry.GetChunks() { if lessThan(earliestChunk, chunk) { chunks = append(chunks, chunk) } @@ -105,9 +105,9 @@ func (fh *FileHandle) AddChunks(chunks []*filer_pb.FileChunk) { return lessThan(a, b) }) - glog.V(4).Infof("%s existing %d chunks adds %d more", fh.FullPath(), len(fh.entry.Chunks), len(chunks)) + glog.V(4).Infof("%s existing %d chunks adds %d more", fh.FullPath(), len(fh.entry.GetChunks()), len(chunks)) - fh.entry.Chunks = append(fh.entry.Chunks, newChunks...) + fh.entry.Chunks = append(fh.entry.GetChunks(), newChunks...) fh.entryViewCache = nil } diff --git a/weed/mount/filehandle_read.go b/weed/mount/filehandle_read.go index d0192e73e..08f678e69 100644 --- a/weed/mount/filehandle_read.go +++ b/weed/mount/filehandle_read.go @@ -56,7 +56,7 @@ func (fh *FileHandle) readFromChunks(buff []byte, offset int64) (int64, error) { var chunkResolveErr error if fh.entryViewCache == nil { - fh.entryViewCache, chunkResolveErr = filer.NonOverlappingVisibleIntervals(fh.wfs.LookupFn(), entry.Chunks, 0, fileSize) + fh.entryViewCache, chunkResolveErr = filer.NonOverlappingVisibleIntervals(fh.wfs.LookupFn(), entry.GetChunks(), 0, fileSize) if chunkResolveErr != nil { return 0, fmt.Errorf("fail to resolve chunk manifest: %v", chunkResolveErr) } diff --git a/weed/mount/weedfs_attr.go b/weed/mount/weedfs_attr.go index 3ef36c492..7691d4e59 100644 --- a/weed/mount/weedfs_attr.go +++ b/weed/mount/weedfs_attr.go @@ -50,12 +50,12 @@ func (wfs *WFS) SetAttr(cancel <-chan struct{}, input *fuse.SetAttrIn, out *fuse } if size, ok := input.GetSize(); ok && entry != nil { - glog.V(4).Infof("%v setattr set size=%v chunks=%d", path, size, len(entry.Chunks)) + glog.V(4).Infof("%v setattr set size=%v chunks=%d", path, size, len(entry.GetChunks())) if size < filer.FileSize(entry) { // fmt.Printf("truncate %v \n", fullPath) var chunks []*filer_pb.FileChunk var truncatedChunks []*filer_pb.FileChunk - for _, chunk := range entry.Chunks { + for _, chunk := range entry.GetChunks() { int64Size := int64(chunk.Size) if chunk.Offset+int64Size > int64(size) { // this chunk is truncated diff --git a/weed/mount/weedfs_file_lseek.go b/weed/mount/weedfs_file_lseek.go index 0564ac0ee..43970983b 100644 --- a/weed/mount/weedfs_file_lseek.go +++ b/weed/mount/weedfs_file_lseek.go @@ -59,7 +59,7 @@ func (wfs *WFS) Lseek(cancel <-chan struct{}, in *fuse.LseekIn, out *fuse.LseekO // refresh view cache if necessary if fh.entryViewCache == nil { var err error - fh.entryViewCache, err = filer.NonOverlappingVisibleIntervals(fh.wfs.LookupFn(), fh.entry.Chunks, 0, fileSize) + fh.entryViewCache, err = filer.NonOverlappingVisibleIntervals(fh.wfs.LookupFn(), fh.entry.GetChunks(), 0, fileSize) if err != nil { return fuse.EIO } diff --git a/weed/mount/weedfs_file_sync.go b/weed/mount/weedfs_file_sync.go index 7b80ddc73..585ca0b47 100644 --- a/weed/mount/weedfs_file_sync.go +++ b/weed/mount/weedfs_file_sync.go @@ -148,12 +148,12 @@ func (wfs *WFS) doFlush(fh *FileHandle, uid, gid uint32) fuse.Status { SkipCheckParentDirectory: true, } - glog.V(4).Infof("%s set chunks: %v", fileFullPath, len(entry.Chunks)) - for i, chunk := range entry.Chunks { + glog.V(4).Infof("%s set chunks: %v", fileFullPath, len(entry.GetChunks())) + for i, chunk := range entry.GetChunks() { glog.V(4).Infof("%s chunks %d: %v [%d,%d)", fileFullPath, i, chunk.GetFileIdString(), chunk.Offset, chunk.Offset+int64(chunk.Size)) } - manifestChunks, nonManifestChunks := filer.SeparateManifestChunks(entry.Chunks) + manifestChunks, nonManifestChunks := filer.SeparateManifestChunks(entry.GetChunks()) chunks, _ := filer.CompactFileChunks(wfs.LookupFn(), nonManifestChunks) chunks, manifestErr := filer.MaybeManifestize(wfs.saveDataAsChunk(fileFullPath), chunks) diff --git a/weed/mount/weedfs_link.go b/weed/mount/weedfs_link.go index d4ba63fc3..cfff69dd9 100644 --- a/weed/mount/weedfs_link.go +++ b/weed/mount/weedfs_link.go @@ -67,7 +67,7 @@ func (wfs *WFS) Link(cancel <-chan struct{}, in *fuse.LinkIn, name string, out * Name: name, IsDirectory: false, Attributes: oldEntry.Attributes, - Chunks: oldEntry.Chunks, + Chunks: oldEntry.GetChunks(), Extended: oldEntry.Extended, HardLinkId: oldEntry.HardLinkId, HardLinkCounter: oldEntry.HardLinkCounter, |
