summaryrefslogtreecommitdiff
path: root/glance_store/_drivers
diff options
context:
space:
mode:
authorElancheran T.S <tsecheran@yahoo.com>2020-02-17 18:41:58 -0800
committeresubramanian <esubramanian@godaddy.com>2020-03-04 22:34:57 -0800
commiteedf0460b608611abebc65264b5c510990d99e1f (patch)
treebb7adb47e8223238b04518df70853ab35c8b5656 /glance_store/_drivers
parentae73287c7b4db8d5894f72d8a5b1b89b42697545 (diff)
downloadglance_store-eedf0460b608611abebc65264b5c510990d99e1f.tar.gz
Fix for BufferedReader sets is_zero_size true for a chunk
When the image is size larger than chunk size, swift store uploads 0 bytes for swift_buffered_upload enabled. Closes-Bug: #1863691 Change-Id: I272d380d8fc093e946ecd6bd5ba99b5bbe2409b2
Diffstat (limited to 'glance_store/_drivers')
-rw-r--r--glance_store/_drivers/swift/buffered.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/glance_store/_drivers/swift/buffered.py b/glance_store/_drivers/swift/buffered.py
index f0a5226..aa44443 100644
--- a/glance_store/_drivers/swift/buffered.py
+++ b/glance_store/_drivers/swift/buffered.py
@@ -137,7 +137,7 @@ class BufferedReader(object):
def _buffer(self):
to_buffer = self.total
LOG.debug("Buffering %s bytes of image segment" % to_buffer)
-
+ buffer_read_count = 0
while not self._buffered:
read_size = min(to_buffer, READ_SIZE)
try:
@@ -156,6 +156,9 @@ class BufferedReader(object):
break
self._tmpfile.write(buf)
to_buffer -= len(buf)
+ buffer_read_count = buffer_read_count + 1
+ if buffer_read_count == 0:
+ self.is_zero_size = True
# NOTE(belliott) seek and tell get used by python-swiftclient to "reset"
# if there is a put_object error