diff options
| author | Chris Lu <chris.lu@gmail.com> | 2020-03-27 04:50:51 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2020-03-27 04:50:51 -0700 |
| commit | d1439c5bd3813ed6a4dfef6ab6671262b6f97386 (patch) | |
| tree | 00e39713a68633e84a39fab95dcf8702f7ca5922 /weed/filer2/stream.go | |
| parent | f06ca04451037bf4b250da55d408d06fc691c760 (diff) | |
| download | seaweedfs-d1439c5bd3813ed6a4dfef6ab6671262b6f97386.tar.xz seaweedfs-d1439c5bd3813ed6a4dfef6ab6671262b6f97386.zip | |
fix FUSE read for large files
FUSE expects ReadAt do not return partial filled buffer with a nil error.
Diffstat (limited to 'weed/filer2/stream.go')
| -rw-r--r-- | weed/filer2/stream.go | 33 |
1 files changed, 0 insertions, 33 deletions
diff --git a/weed/filer2/stream.go b/weed/filer2/stream.go index 6dbc1ce72..b5ced696a 100644 --- a/weed/filer2/stream.go +++ b/weed/filer2/stream.go @@ -2,8 +2,6 @@ package filer2 import ( "bytes" - "context" - "fmt" "io" "math" "strings" @@ -71,37 +69,6 @@ func NewChunkStreamReaderFromFiler(masterClient *wdclient.MasterClient, chunks [ } } -func NewChunkStreamReaderFromClient(filerClient filer_pb.FilerClient, chunkViews []*ChunkView) *ChunkStreamReader { - - return &ChunkStreamReader{ - chunkViews: chunkViews, - lookupFileId: func(fileId string) (targetUrl string, err error) { - err = filerClient.WithFilerClient(func(client filer_pb.SeaweedFilerClient) error { - vid := VolumeId(fileId) - resp, err := client.LookupVolume(context.Background(), &filer_pb.LookupVolumeRequest{ - VolumeIds: []string{vid}, - }) - if err != nil { - return err - } - - locations := resp.LocationsMap[vid] - if locations == nil || len(locations.Locations) == 0 { - glog.V(0).Infof("failed to locate %s", fileId) - return fmt.Errorf("failed to locate %s", fileId) - } - - volumeServerAddress := filerClient.AdjustedUrl(locations.Locations[0].Url) - - targetUrl = fmt.Sprintf("http://%s/%s", volumeServerAddress, fileId) - - return nil - }) - return - }, - } -} - func (c *ChunkStreamReader) Read(p []byte) (n int, err error) { if c.isBufferEmpty() { if c.chunkIndex >= len(c.chunkViews) { |
