)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"42f053c73a418f80dc9592e3d25b5cccbedeb03d","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This reverts the fallocate- and punch_hole-related parts of commit"},{"line_number":10,"context_line":"c78a5962b5f6c9e75f154cac924a226815236e98."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #2031035"},{"line_number":13,"context_line":"Change-Id: I8050296d6982f70bb64a63765b25d287a144cb8d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"19902081_f264dc3c","line":12,"updated":"2023-08-18 17:15:21.000000000","message":"Related-Change: I3e26f8d4e5de0835212ebc2314cac713950c85d7","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e54f682339a89e57679e483905ed4b90c3eba1aa","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This reverts the fallocate- and punch_hole-related parts of commit"},{"line_number":10,"context_line":"c78a5962b5f6c9e75f154cac924a226815236e98."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-Bug: #2031035"},{"line_number":13,"context_line":"Change-Id: I8050296d6982f70bb64a63765b25d287a144cb8d"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"f1597846_98ed16df","line":12,"in_reply_to":"19902081_f264dc3c","updated":"2023-08-18 17:50:10.000000000","message":"I was thinking the commit ref would be enough, but sure, couldn\u0027t hurt.","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"42f053c73a418f80dc9592e3d25b5cccbedeb03d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"01a581ac_214d5a75","updated":"2023-08-18 17:15:21.000000000","message":"LGTM would be nice to have the RelatedChange","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"2a6d942c41e0f9a8a033939d3750e00747061798","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"199079db_e34676d3","updated":"2023-08-21 06:24:29.000000000","message":"Yeah, looks great. Even gave it a spin in my VSAIO and I have fallocate again! Now we just need to fix the chunking + fallocate issue 😊","commit_id":"1edf7df75528196d464470199d67df08149dfb04"}],"swift/common/utils/__init__.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"42f053c73a418f80dc9592e3d25b5cccbedeb03d","unresolved":true,"context_lines":[{"line_number":129,"context_line":"NOTICE \u003d 25"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"# These are lazily pulled from libc elsewhere"},{"line_number":132,"context_line":"_sys_fallocate \u003d None"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"# If set to non-zero, fallocate routines will fail based on free space"},{"line_number":135,"context_line":"# available being at or below this amount, in bytes."}],"source_content_type":"text/x-python","patch_set":1,"id":"d1bdcbc9_e5a11081","line":132,"updated":"2023-08-18 17:15:21.000000000","message":"this is as it was, but I don\u0027t understand why it always was here\n\n_sys_posix_fallocate doesn\u0027t get the same treatment","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"e54f682339a89e57679e483905ed4b90c3eba1aa","unresolved":true,"context_lines":[{"line_number":129,"context_line":"NOTICE \u003d 25"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"# These are lazily pulled from libc elsewhere"},{"line_number":132,"context_line":"_sys_fallocate \u003d None"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"# If set to non-zero, fallocate routines will fail based on free space"},{"line_number":135,"context_line":"# available being at or below this amount, in bytes."}],"source_content_type":"text/x-python","patch_set":1,"id":"8a7e05f6_d072518c","line":132,"in_reply_to":"d1bdcbc9_e5a11081","updated":"2023-08-18 17:50:10.000000000","message":"¯\\\\\\_(ツ)\\_/¯","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"42f053c73a418f80dc9592e3d25b5cccbedeb03d","unresolved":true,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"# from /usr/include/linux/falloc.h"},{"line_number":142,"context_line":"FALLOC_FL_KEEP_SIZE \u003d 1"},{"line_number":143,"context_line":"FALLOC_FL_PUNCH_HOLE \u003d 2"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"# Used by hash_path to offer a bit more security when generating hashes for"}],"source_content_type":"text/x-python","patch_set":1,"id":"4602f0d2_f332e4bd","line":143,"updated":"2023-08-18 17:15:21.000000000","message":"OK, as they were before moving to libc.py","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"42f053c73a418f80dc9592e3d25b5cccbedeb03d","unresolved":true,"context_lines":[{"line_number":706,"context_line":"    except ValueError:"},{"line_number":707,"context_line":"        raise ValueError(\u0027Error: %s is an invalid value for fallocate\u0027"},{"line_number":708,"context_line":"                         \u0027_reserve.\u0027 % reserve_value)"},{"line_number":709,"context_line":"    return reserve_value, is_percent"},{"line_number":710,"context_line":""},{"line_number":711,"context_line":""},{"line_number":712,"context_line":"class FileLikeIter(object):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5000aacd_ff4cf110","line":709,"updated":"2023-08-18 17:15:21.000000000","message":"OK. this is exactly as it was before being pulled to libc.py, and is exactly as it was in libc.py","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"42f053c73a418f80dc9592e3d25b5cccbedeb03d","unresolved":true,"context_lines":[{"line_number":966,"context_line":"                fd, mode_str, offset, length))"},{"line_number":967,"context_line":"    else:"},{"line_number":968,"context_line":"        raise OSError(errno.ENOTSUP,"},{"line_number":969,"context_line":"                      \u0027No suitable C function found for hole punching\u0027)"},{"line_number":970,"context_line":""},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"def fsync(fd):"}],"source_content_type":"text/x-python","patch_set":1,"id":"e3e55cb2_4bc9ef97","line":969,"updated":"2023-08-18 17:15:21.000000000","message":"OK. this is exactly as it was before being pulled to libc.py, and is exactly as it was in libc.py\n\nexcept at line 928 some internationalisation has been removed, which is good.","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"}],"test/unit/common/test_utils.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"42f053c73a418f80dc9592e3d25b5cccbedeb03d","unresolved":true,"context_lines":[{"line_number":2748,"context_line":"        self.assertTrue(is_percent)"},{"line_number":2749,"context_line":"        fallocate_value, is_percent \u003d utils.config_fallocate_value(\u002710.000%\u0027)"},{"line_number":2750,"context_line":"        self.assertEqual(fallocate_value, 10.000)"},{"line_number":2751,"context_line":"        self.assertTrue(is_percent)"},{"line_number":2752,"context_line":""},{"line_number":2753,"context_line":"    def test_lock_file(self):"},{"line_number":2754,"context_line":"        flags \u003d os.O_CREAT | os.O_RDWR"}],"source_content_type":"text/x-python","patch_set":1,"id":"4da661a7_2bd73ef9","line":2751,"updated":"2023-08-18 17:15:21.000000000","message":"OK, reverted.","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"42f053c73a418f80dc9592e3d25b5cccbedeb03d","unresolved":true,"context_lines":[{"line_number":9211,"context_line":"            contents \u003d tf.read(4096)"},{"line_number":9212,"context_line":"            self.assertEqual("},{"line_number":9213,"context_line":"                contents,"},{"line_number":9214,"context_line":"                b\"x\" * 64 + b\"\\0\" * 32 + b\"y\" * 32 + b\"z\" * 64)"},{"line_number":9215,"context_line":""},{"line_number":9216,"context_line":""},{"line_number":9217,"context_line":"class TestWatchdog(unittest.TestCase):"}],"source_content_type":"text/x-python","patch_set":1,"id":"26df80fa_a697bdd4","line":9214,"updated":"2023-08-18 17:15:21.000000000","message":"OK. This is exactly as it was before move to test_libc.py","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"}],"test/unit/obj/test_diskfile.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"42f053c73a418f80dc9592e3d25b5cccbedeb03d","unresolved":true,"context_lines":[{"line_number":4988,"context_line":"        # This is a horrible hack so you can run this test in isolation."},{"line_number":4989,"context_line":"        # Some of the ctypes machinery calls os.close(), and that runs afoul"},{"line_number":4990,"context_line":"        # of our mock."},{"line_number":4991,"context_line":"        with mock.patch.object(utils, \u0027_sys_fallocate\u0027, None):"},{"line_number":4992,"context_line":"            utils.disable_fallocate()"},{"line_number":4993,"context_line":""},{"line_number":4994,"context_line":"            df \u003d self.df_mgr.get_diskfile(self.existing_device, \u00270\u0027, \u0027abc\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"43e6af80_6f7f7986","line":4991,"updated":"2023-08-18 17:15:21.000000000","message":"OK","commit_id":"2f25e8f1e278c2da175c7fb4d4a985c1df43e503"}]}
