summaryrefslogtreecommitdiff
path: root/Remote/S3.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-11-04 16:21:55 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-11-04 16:21:55 -0400
commitc3a7e577df99ba3ba2ee4ffb480bf49b0eaa7739 (patch)
treec04170ca15eb3c89070c714df63795fedab1b1d9 /Remote/S3.hs
parent2ba5af49c94b97c586220c3553367988ef095934 (diff)
Revert "work around minimum part size problem"
This reverts commit 2ba5af49c94b97c586220c3553367988ef095934. I misunderstood the cause of the problem.
Diffstat (limited to 'Remote/S3.hs')
-rw-r--r--Remote/S3.hs15
1 files changed, 4 insertions, 11 deletions
diff --git a/Remote/S3.hs b/Remote/S3.hs
index 8d30c7c9b..e0ff93bb3 100644
--- a/Remote/S3.hs
+++ b/Remote/S3.hs
@@ -181,16 +181,9 @@ store r h = fileStorer $ \k f p -> do
}
uploadid <- S3.imurUploadId <$> sendS3Handle h startreq
- {- The actual part size will be a even multiple of the
- - 32k chunk size that hGetUntilMetered uses.
- -
- - Also, half-size parts are used. This is so that
- - the final part of a file can be rolled into the
- - last full-size part, which avoids a problem when the
- - final part could otherwise be too small for S3 to accept
- - it.
- -}
- let partsz' = (partsz `div` toInteger defaultChunkSize `div` 2) * toInteger defaultChunkSize
+ -- The actual part size will be a even multiple of the
+ -- 32k chunk size that hGetUntilMetered uses.
+ let partsz' = (partsz `div` toInteger defaultChunkSize) * toInteger defaultChunkSize
-- Send parts of the file, taking care to stream each part
-- w/o buffering in memory, since the parts can be large.
@@ -202,7 +195,7 @@ store r h = fileStorer $ \k f p -> do
else do
-- Calculate size of part that will
-- be read.
- let sz = if fsz - pos < partsz' * 2
+ let sz = if fsz - pos < partsz'
then fsz - pos
else partsz'
let p' = offsetMeterUpdate p (toBytesProcessed pos)