From b0443363295fe0c4481e5d7e9544e6f4cc90eaf2 Mon Sep 17 00:00:00 2001 From: Krishna Srinivas Date: Wed, 11 May 2016 00:08:49 +0530 Subject: [PATCH] XL/GetObject: If the offset does not fall in the first "dataBlock" it gives incorrect data. (#1583) Fixes #1582 --- xl-erasure-v1-readfile.go | 1 + 1 file changed, 1 insertion(+) diff --git a/xl-erasure-v1-readfile.go b/xl-erasure-v1-readfile.go index e29c1cdc2..a5b21ea6c 100644 --- a/xl-erasure-v1-readfile.go +++ b/xl-erasure-v1-readfile.go @@ -179,6 +179,7 @@ func (xl XL) ReadFile(volume, path string, startOffset int64) (io.ReadCloser, er startOffset = startOffset - int64(len(dataBlocks)) // Start offset is greater than or equal to zero, skip the dataBlocks. if startOffset >= 0 { + totalLeft = totalLeft - metadata.Erasure.BlockSize continue } // Now get back the remaining offset if startOffset is negative.