)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"df0e40fe75b87c4aba4aa6b4112dd2cff0c7c0d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9fe02e3c_347644e4","updated":"2026-10-07 14:04:37.000000000","message":"IMHO this refactor is an improvement because it keeps the original code path more intact","commit_id":"397cbbf3875809e8408b37b9e5b46f3cb6c93b28"}],"swift/obj/diskfile.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"df0e40fe75b87c4aba4aa6b4112dd2cff0c7c0d0","unresolved":true,"context_lines":[{"line_number":2247,"context_line":"        pass"},{"line_number":2248,"context_line":""},{"line_number":2249,"context_line":"    def __iter__(self):"},{"line_number":2250,"context_line":"        # choose the read path once per iteration; app_iter_range has already"},{"line_number":2251,"context_line":"        # set _range_length when this runs"},{"line_number":2252,"context_line":"        if self._should_offload():"},{"line_number":2253,"context_line":"            inner \u003d self._offload_inner_iter()"}],"source_content_type":"text/x-python","patch_set":1,"id":"81cf7c09_ed6c44fc","line":2250,"range":{"start_line":2250,"start_character":66,"end_line":2250,"end_character":77},"updated":"2026-10-07 14:04:37.000000000","message":"\"may have already\"\n\nIIUC _range_length is only set to not be None if it is a ranged request?","commit_id":"397cbbf3875809e8408b37b9e5b46f3cb6c93b28"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"ac097f2e201eb4211e1b516a5eb8fc4a06989506","unresolved":false,"context_lines":[{"line_number":2247,"context_line":"        pass"},{"line_number":2248,"context_line":""},{"line_number":2249,"context_line":"    def __iter__(self):"},{"line_number":2250,"context_line":"        # choose the read path once per iteration; app_iter_range has already"},{"line_number":2251,"context_line":"        # set _range_length when this runs"},{"line_number":2252,"context_line":"        if self._should_offload():"},{"line_number":2253,"context_line":"            inner \u003d self._offload_inner_iter()"}],"source_content_type":"text/x-python","patch_set":1,"id":"f5969287_2a558aac","line":2250,"range":{"start_line":2250,"start_character":66,"end_line":2250,"end_character":77},"in_reply_to":"81cf7c09_ed6c44fc","updated":"2026-10-13 07:26:06.000000000","message":"Ack, it\u0027s only set in `app_iter_range`.","commit_id":"397cbbf3875809e8408b37b9e5b46f3cb6c93b28"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"df0e40fe75b87c4aba4aa6b4112dd2cff0c7c0d0","unresolved":true,"context_lines":[{"line_number":2371,"context_line":"                    self._quarantine(str(e))"},{"line_number":2372,"context_line":"                raise"},{"line_number":2373,"context_line":"            if not buf:"},{"line_number":2374,"context_line":"                # EOF short of _obj_size: the file shrank under us"},{"line_number":2375,"context_line":"                self._read_to_eof \u003d True"},{"line_number":2376,"context_line":"                return"},{"line_number":2377,"context_line":"            # a short pread is not EOF; loop for the rest"}],"source_content_type":"text/x-python","patch_set":1,"id":"11b0b717_1c424745","line":2374,"range":{"start_line":2374,"start_character":16,"end_line":2374,"end_character":66},"updated":"2026-10-07 14:04:37.000000000","message":"this comment is misleading: this clause is also reached if a read starts beyond the end of the file (e.g.  ranged request)","commit_id":"397cbbf3875809e8408b37b9e5b46f3cb6c93b28"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"ac097f2e201eb4211e1b516a5eb8fc4a06989506","unresolved":true,"context_lines":[{"line_number":2371,"context_line":"                    self._quarantine(str(e))"},{"line_number":2372,"context_line":"                raise"},{"line_number":2373,"context_line":"            if not buf:"},{"line_number":2374,"context_line":"                # EOF short of _obj_size: the file shrank under us"},{"line_number":2375,"context_line":"                self._read_to_eof \u003d True"},{"line_number":2376,"context_line":"                return"},{"line_number":2377,"context_line":"            # a short pread is not EOF; loop for the rest"}],"source_content_type":"text/x-python","patch_set":1,"id":"ec15d498_9c6e2734","line":2374,"range":{"start_line":2374,"start_character":16,"end_line":2374,"end_character":66},"in_reply_to":"11b0b717_1c424745","updated":"2026-10-13 07:26:06.000000000","message":"Ack, I\u0027ll remove the comment.","commit_id":"397cbbf3875809e8408b37b9e5b46f3cb6c93b28"}]}
