)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a29edc3298966cb77dd44883d6bf26af3881b2bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a9f9199a_af3e6c98","updated":"2026-01-08 16:45:05.000000000","message":"I agree with the idea; question inline about the implementation.","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"2fd6283fb26039629d92e5cb5184c10e2e23f669","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1e9c2479_1ebf5d83","updated":"2025-11-19 13:40:58.000000000","message":"Looks good to me","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5f132acc7cfe9e00b9ed0f7e065b6a850d9081af","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cc19da6f_2fa668c4","updated":"2026-01-09 16:04:04.000000000","message":"Response inline.","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"9a8cc7417ed97cd1d81b4371706ad431f9cd61b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"638df5a5_cd2bdf37","updated":"2025-11-04 15:30:34.000000000","message":"Seems right to me.","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":35676,"name":"Max","email":"max.lamprecht@digits.schwarz","username":"lamprechtm"},"change_message_id":"d0bb7b230bb969f7b20646b027239ce015951830","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"509acace_50b301f4","updated":"2025-09-12 13:11:11.000000000","message":"recheck","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"1b854a31a999d458db8bb5dc1f219c04cf1e9054","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a62c383c_252c2df3","updated":"2025-11-19 09:18:47.000000000","message":"run-Quobyte CI\n\nI ran multiple manual runs of this change on the CI which tested ok.","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"eadc1c35ac2be4f1df8bb370b0fa73712bc88cda","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"32e19b78_4e492ff7","updated":"2025-11-12 10:40:06.000000000","message":"run-quobyteci","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"91e5fe43adc85020cf2fc4f41dc6867f07ef6a78","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"9cf1e00e_202b1436","updated":"2025-11-17 10:49:06.000000000","message":"run-quobyteci","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"3a2e9c0a4c1714462a3a9057a447240c7abf3b45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a1379f02_dd4a9103","updated":"2025-11-17 11:29:06.000000000","message":"run-quobyteci\n\napologies for the noise.","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":13915,"name":"Silvan Kaiser","email":"silvan@quobyte.com","username":"kaisers"},"change_message_id":"ebbeeef54993a1ebff56008e77a26e34102d9483","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d9c0f58e_00d5d493","updated":"2025-11-17 13:48:09.000000000","message":"run-quobyteci\n\nlast run completed but hit a flaky test.","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4a8e0c3b2c8017d34dad733c85244aa758f9b2ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0c8eaa6e_bc34ec44","updated":"2026-01-29 12:52:33.000000000","message":"Revisions look good; i wanted to look more closely at something but got sidetracked and forget what it was.  In any case, I just noticed that this could use a release note (both to announce your good work to operators, but also because it\u0027s cinder project policy to include a release note with any bugfix).","commit_id":"0000111f9c0f90715852bf135f59fa4b31361c6d"},{"author":{"_account_id":35676,"name":"Max","email":"max.lamprecht@digits.schwarz","username":"lamprechtm"},"change_message_id":"295ee0592bc1d38c342247c38b1479730be924f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c09ea5c3_4669429e","in_reply_to":"0c8eaa6e_bc34ec44","updated":"2026-01-29 14:21:17.000000000","message":"added a release note with the corresponding bug fix","commit_id":"0000111f9c0f90715852bf135f59fa4b31361c6d"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b19a183f837bb528eea790a1437bb27d259f1d4f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d5461a6c_9abdccbd","updated":"2026-02-18 14:28:27.000000000","message":"Thanks for the revisions!","commit_id":"cca35bdfbce07ad101be6f0a38d89b3c11936542"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"d5db8c7303338dd1b25b6f495a49df5ab82f8af5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"96be5812_56314ed8","updated":"2026-02-18 14:27:22.000000000","message":"looks okay to me.","commit_id":"cca35bdfbce07ad101be6f0a38d89b3c11936542"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"03f4bfdde2f2732d9b2ae3acb61d5d88037d2b87","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"dc4e1af1_5bfe0906","updated":"2026-02-18 18:54:44.000000000","message":"recheck\n\ntempest.api.compute.servers.test_server_actions.ServerActionsTestOtherA.test_resize_volume_backed_server_confirm","commit_id":"cca35bdfbce07ad101be6f0a38d89b3c11936542"}],"os_brick/remotefs/remotefs.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a29edc3298966cb77dd44883d6bf26af3881b2bd","unresolved":true,"context_lines":[{"line_number":144,"context_line":"        # This loop allows us to first try to mount with NFS 4.1 for pNFS"},{"line_number":145,"context_line":"        # support but falls back to mount NFS 4 or NFS 3 if either the client"},{"line_number":146,"context_line":"        # or server do not support it."},{"line_number":147,"context_line":"        for mnt_type in reversed(self._nfs_mount_type_opts.keys()):"},{"line_number":148,"context_line":"            options \u003d self._nfs_mount_type_opts[mnt_type]"},{"line_number":149,"context_line":"            try:"},{"line_number":150,"context_line":"                self._do_mount(\u0027nfs\u0027, nfs_share, mount_path, options, flags)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1964f00a_3537097a","line":147,"updated":"2026-01-08 16:45:05.000000000","message":"is this a safe change? reversed() returns an iterator over the list in reverse order of the list regardless of sorting, whereas sorted(reverse\u003dTrue) returns a list in reverse sorted order.  So using reversed() here assumes that _nfs_mount_type_opts are already sorted in non-descending order ... is that a safe assumption?","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":35676,"name":"Max","email":"max.lamprecht@digits.schwarz","username":"lamprechtm"},"change_message_id":"360be7d77c59d70561ba4f33168829f4cea59c29","unresolved":true,"context_lines":[{"line_number":144,"context_line":"        # This loop allows us to first try to mount with NFS 4.1 for pNFS"},{"line_number":145,"context_line":"        # support but falls back to mount NFS 4 or NFS 3 if either the client"},{"line_number":146,"context_line":"        # or server do not support it."},{"line_number":147,"context_line":"        for mnt_type in reversed(self._nfs_mount_type_opts.keys()):"},{"line_number":148,"context_line":"            options \u003d self._nfs_mount_type_opts[mnt_type]"},{"line_number":149,"context_line":"            try:"},{"line_number":150,"context_line":"                self._do_mount(\u0027nfs\u0027, nfs_share, mount_path, options, flags)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ef44532c_d5065f0b","line":147,"in_reply_to":"1964f00a_3537097a","updated":"2026-01-08 17:11:44.000000000","message":"Hi Brian,\nActually I thought about the same :)\n\nhttps://mail.python.org/pipermail/python-dev/2017-December/151283.html\nChangelog for python3.7: \nhttps://www.python.org/downloads/release/python-370/\n-\u003e The insertion-order preservation nature of dict objects is now an official part of the Python language spec.\n\nAs we require a python version above 3.7 this shouldn\u0027t be problem","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":35676,"name":"Max","email":"max.lamprecht@digits.schwarz","username":"lamprechtm"},"change_message_id":"0b50d77bc6a0fb746073a4a7445940fdcca1aff8","unresolved":true,"context_lines":[{"line_number":144,"context_line":"        # This loop allows us to first try to mount with NFS 4.1 for pNFS"},{"line_number":145,"context_line":"        # support but falls back to mount NFS 4 or NFS 3 if either the client"},{"line_number":146,"context_line":"        # or server do not support it."},{"line_number":147,"context_line":"        for mnt_type in reversed(self._nfs_mount_type_opts.keys()):"},{"line_number":148,"context_line":"            options \u003d self._nfs_mount_type_opts[mnt_type]"},{"line_number":149,"context_line":"            try:"},{"line_number":150,"context_line":"                self._do_mount(\u0027nfs\u0027, nfs_share, mount_path, options, flags)"}],"source_content_type":"text/x-python","patch_set":1,"id":"0c20d936_f8fc5cbf","line":147,"in_reply_to":"6b101c9e_36b62b5f","updated":"2026-01-27 16:39:28.000000000","message":"Ok. I reverted the change on the reverse/sort thingy.\n\nInstead I renamed the pnfs option to \"nfs_4.1\". With the correct name instead of \"pnfs\" we can still do the reversed sort and apply the proposed solution.\n\nThe pnfs name was not used in the code. With clean version names we can preserve the wanted order while sorting it","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"5f132acc7cfe9e00b9ed0f7e065b6a850d9081af","unresolved":true,"context_lines":[{"line_number":144,"context_line":"        # This loop allows us to first try to mount with NFS 4.1 for pNFS"},{"line_number":145,"context_line":"        # support but falls back to mount NFS 4 or NFS 3 if either the client"},{"line_number":146,"context_line":"        # or server do not support it."},{"line_number":147,"context_line":"        for mnt_type in reversed(self._nfs_mount_type_opts.keys()):"},{"line_number":148,"context_line":"            options \u003d self._nfs_mount_type_opts[mnt_type]"},{"line_number":149,"context_line":"            try:"},{"line_number":150,"context_line":"                self._do_mount(\u0027nfs\u0027, nfs_share, mount_path, options, flags)"}],"source_content_type":"text/x-python","patch_set":1,"id":"6b101c9e_36b62b5f","line":147,"in_reply_to":"ef44532c_d5065f0b","updated":"2026-01-09 16:04:04.000000000","message":"Apologies for not being clear.  Here\u0027s the situation:\n\n- old code: sorted the list, then reversed it\n- new code: reverses the list\n\nSo the result of the new code won\u0027t be in reverse sorted order unless the _nfs_mount_type_opts list has already been sorted in such a way that the most recent release will appear first when the list is reversed.  Thus there\u0027s now a coupling that wasn\u0027t there before between how _nfs_mount_type_opts is defined and getting the correct result with the new code.\n\nMy real point here is that since this code depends on the items being put into the _nfo_mount_type_opts in the correct order, why don\u0027t we just add them in the correct order in the first place (i.e., in order of preference starting with 4.2), and then not bother messing around with manipulating the list here?  I think it would make the code easier to maintain when the next option is added.","commit_id":"f640a4cd2e86187ccfa06f2c2f349046c6aaf2b1"}]}
