Zero fill bug fix
This commit is contained in:
parent
ea24d0f735
commit
a32e6125e0
2 changed files with 5 additions and 16 deletions
|
@ -355,14 +355,6 @@ func (d *Driver) WriteStream(path string, offset int64, reader io.Reader) (total
|
||||||
return totalRead, err
|
return totalRead, err
|
||||||
}
|
}
|
||||||
|
|
||||||
part, err = multi.PutPart(int(partNumber), bytes.NewReader(buf))
|
|
||||||
if err != nil {
|
|
||||||
return totalRead, err
|
|
||||||
}
|
|
||||||
|
|
||||||
parts = append(parts, part)
|
|
||||||
partNumber++
|
|
||||||
|
|
||||||
if totalRead+offset < chunkSize {
|
if totalRead+offset < chunkSize {
|
||||||
return totalRead, nil
|
return totalRead, nil
|
||||||
}
|
}
|
||||||
|
@ -393,14 +385,6 @@ func (d *Driver) WriteStream(path string, offset int64, reader io.Reader) (total
|
||||||
return totalRead, err
|
return totalRead, err
|
||||||
}
|
}
|
||||||
|
|
||||||
part, err = multi.PutPart(int(partNumber), bytes.NewReader(buf))
|
|
||||||
if err != nil {
|
|
||||||
return totalRead, err
|
|
||||||
}
|
|
||||||
|
|
||||||
parts = append(parts, part)
|
|
||||||
partNumber++
|
|
||||||
|
|
||||||
if totalRead+(offset%chunkSize) < chunkSize {
|
if totalRead+(offset%chunkSize) < chunkSize {
|
||||||
return totalRead, nil
|
return totalRead, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -774,6 +774,7 @@ func (suite *DriverSuite) TestEventualConsistency(c *check.C) {
|
||||||
defer suite.StorageDriver.Delete(firstPart(filename))
|
defer suite.StorageDriver.Delete(firstPart(filename))
|
||||||
|
|
||||||
var offset int64
|
var offset int64
|
||||||
|
var misswrites int
|
||||||
var chunkSize int64 = 32
|
var chunkSize int64 = 32
|
||||||
|
|
||||||
for i := 0; i < 1024; i++ {
|
for i := 0; i < 1024; i++ {
|
||||||
|
@ -795,8 +796,12 @@ func (suite *DriverSuite) TestEventualConsistency(c *check.C) {
|
||||||
|
|
||||||
reader.Close()
|
reader.Close()
|
||||||
offset += read
|
offset += read
|
||||||
|
} else {
|
||||||
|
misswrites++
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
c.Assert(misswrites, check.Not(check.Equals), 1024)
|
||||||
}
|
}
|
||||||
|
|
||||||
// BenchmarkPutGetEmptyFiles benchmarks PutContent/GetContent for 0B files
|
// BenchmarkPutGetEmptyFiles benchmarks PutContent/GetContent for 0B files
|
||||||
|
|
Loading…
Reference in a new issue