diff options
author | Elancheran T.S <tsecheran@yahoo.com> | 2020-02-17 18:41:58 -0800 |
---|---|---|
committer | esubramanian <esubramanian@godaddy.com> | 2020-03-04 22:34:57 -0800 |
commit | eedf0460b608611abebc65264b5c510990d99e1f (patch) | |
tree | bb7adb47e8223238b04518df70853ab35c8b5656 /glance_store/_drivers | |
parent | ae73287c7b4db8d5894f72d8a5b1b89b42697545 (diff) | |
download | glance_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.py | 5 |
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 |