aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--weed/filer2/reader_at.go2
-rw-r--r--weed/filer2/reader_at_test.go8
2 files changed, 5 insertions, 5 deletions
diff --git a/weed/filer2/reader_at.go b/weed/filer2/reader_at.go
index 2894f4a4b..19821771f 100644
--- a/weed/filer2/reader_at.go
+++ b/weed/filer2/reader_at.go
@@ -114,7 +114,7 @@ func (c *ChunkReadAt) doReadAt(p []byte, offset int64) (n int, err error) {
n += delta
}
- if offset+int64(n) >= c.fileSize {
+ if err == nil && offset+int64(len(p)) > c.fileSize {
err = io.EOF
}
// fmt.Printf("~~~ filled %d, err: %v\n\n", n, err)
diff --git a/weed/filer2/reader_at_test.go b/weed/filer2/reader_at_test.go
index f93d7ea11..7377c5dbc 100644
--- a/weed/filer2/reader_at_test.go
+++ b/weed/filer2/reader_at_test.go
@@ -66,9 +66,9 @@ func TestReaderAt(t *testing.T) {
chunkCache: &mockChunkCache{},
}
- testReadAt(t, readerAt, 0, 10, 10, io.EOF)
+ testReadAt(t, readerAt, 0, 10, 10, nil)
testReadAt(t, readerAt, 0, 12, 10, io.EOF)
- testReadAt(t, readerAt, 2, 8, 8, io.EOF)
+ testReadAt(t, readerAt, 2, 8, 8, nil)
testReadAt(t, readerAt, 3, 6, 6, nil)
}
@@ -116,7 +116,7 @@ func TestReaderAt0(t *testing.T) {
chunkCache: &mockChunkCache{},
}
- testReadAt(t, readerAt, 0, 10, 10, io.EOF)
+ testReadAt(t, readerAt, 0, 10, 10, nil)
testReadAt(t, readerAt, 3, 16, 7, io.EOF)
testReadAt(t, readerAt, 3, 5, 5, nil)
@@ -144,7 +144,7 @@ func TestReaderAt1(t *testing.T) {
chunkCache: &mockChunkCache{},
}
- testReadAt(t, readerAt, 0, 20, 20, io.EOF)
+ testReadAt(t, readerAt, 0, 20, 20, nil)
testReadAt(t, readerAt, 1, 7, 7, nil)
testReadAt(t, readerAt, 0, 1, 1, nil)
testReadAt(t, readerAt, 18, 4, 2, io.EOF)