Guang Jiong Lou
3 months ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with
8 additions and
1 deletions
-
weed/filer/filechunk_group.go
-
weed/mount/filehandle_read.go
|
|
@ -1,6 +1,7 @@ |
|
|
|
package filer |
|
|
|
|
|
|
|
import ( |
|
|
|
"io" |
|
|
|
"sync" |
|
|
|
|
|
|
|
"github.com/seaweedfs/seaweedfs/weed/pb/filer_pb" |
|
|
@ -44,6 +45,9 @@ func (group *ChunkGroup) AddChunk(chunk *filer_pb.FileChunk) error { |
|
|
|
} |
|
|
|
|
|
|
|
func (group *ChunkGroup) ReadDataAt(fileSize int64, buff []byte, offset int64) (n int, tsNs int64, err error) { |
|
|
|
if offset >= fileSize { |
|
|
|
return 0, 0, io.EOF |
|
|
|
} |
|
|
|
|
|
|
|
group.sectionsLock.RLock() |
|
|
|
defer group.sectionsLock.RUnlock() |
|
|
|
|
|
@ -47,6 +47,9 @@ func (fh *FileHandle) readFromChunks(buff []byte, offset int64) (int64, int64, e |
|
|
|
if fileSize == 0 { |
|
|
|
glog.V(1).Infof("empty fh %v", fileFullPath) |
|
|
|
return 0, 0, io.EOF |
|
|
|
} else if offset >= fileSize { |
|
|
|
glog.V(1).Infof("invalid read, fileSize %d, offset %d for %s", fileSize, offset, fileFullPath) |
|
|
|
return 0, 0, io.EOF |
|
|
|
} |
|
|
|
|
|
|
|
if offset < int64(len(entry.Content)) { |
|
|
@ -66,7 +69,7 @@ func (fh *FileHandle) readFromChunks(buff []byte, offset int64) (int64, int64, e |
|
|
|
return int64(totalRead), ts, err |
|
|
|
} |
|
|
|
|
|
|
|
func (fh *FileHandle) downloadRemoteEntry(entry *LockedEntry) (error) { |
|
|
|
func (fh *FileHandle) downloadRemoteEntry(entry *LockedEntry) error { |
|
|
|
|
|
|
|
fileFullPath := fh.FullPath() |
|
|
|
dir, _ := fileFullPath.DirAndName() |
|
|
|