)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"230f65bb0d05f91746fc92e51ebb803caece6d5d","unresolved":true,"context_lines":[{"line_number":9,"context_line":"NetApp Driver: Specify how much inodes (files) should be possible at"},{"line_number":10,"context_line":"maximum depending on volume (share) size."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Possible multipliers are between (0,8]."},{"line_number":13,"context_line":"The default is somewhere around 1 -  meaning, you get 1 inode for each"},{"line_number":14,"context_line":"32 KiB inside a volume - e.g. a 32 GiB share would be allowed to hold"},{"line_number":15,"context_line":"1024*1024 files."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"0c8af70e_35fabf14","line":12,"updated":"2025-08-07 12:31:50.000000000","message":"Typo]?","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3f8692ea3a6d9cd5e35b10b2e2599dec9abecf75","unresolved":false,"context_lines":[{"line_number":9,"context_line":"NetApp Driver: Specify how much inodes (files) should be possible at"},{"line_number":10,"context_line":"maximum depending on volume (share) size."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Possible multipliers are between (0,8]."},{"line_number":13,"context_line":"The default is somewhere around 1 -  meaning, you get 1 inode for each"},{"line_number":14,"context_line":"32 KiB inside a volume - e.g. a 32 GiB share would be allowed to hold"},{"line_number":15,"context_line":"1024*1024 files."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"21b32a50_e168d9e5","line":12,"in_reply_to":"0c8af70e_35fabf14","updated":"2025-08-07 12:49:52.000000000","message":"the value are from 1-8. so (0,8] is mentioned.","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"8c567e0ba0eb304a4b4115bf2e93ad54a8ae7b41","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ca86d7df_7c7b4337","updated":"2025-06-17 09:53:57.000000000","message":"Added REST implementation..","commit_id":"41fd9a611621259cd383ec711b8b64a8be2ca1d8"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"230f65bb0d05f91746fc92e51ebb803caece6d5d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8913b8c4_a97e1266","updated":"2025-08-07 12:31:50.000000000","message":"Please take a look at comments.","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"94ee2f572b74706bbe7d809547dc25c98082eda0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"be24c680_891c79ca","updated":"2025-08-07 14:33:36.000000000","message":"Changes looks good for me, I put some minor comments.","commit_id":"a241ed034504bf781dd96f78eebd62714b649e7e"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"8c6faf288a5b61b4d36f175fc925a76a18a390c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"baabf25d_bdcf2aaf","updated":"2025-08-28 17:28:46.000000000","message":"LGTM, thanks Kiran","commit_id":"f0bbbeca8e5f9d4898bb7e3b68ca46f4c827399c"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bdc5bd0f2db4644626fca6a7c27a6a50d66cc5e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"563e4666_6590f13f","updated":"2025-08-28 17:12:28.000000000","message":"LGTM, thanks!","commit_id":"f0bbbeca8e5f9d4898bb7e3b68ca46f4c827399c"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"5d97acbc7643e97c065060c1547926229228e374","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b6ed0f28_f30355f0","updated":"2025-08-28 15:58:33.000000000","message":"LGTM.","commit_id":"f0bbbeca8e5f9d4898bb7e3b68ca46f4c827399c"}],"manila/share/drivers/netapp/dataontap/client/client_cmode.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"230f65bb0d05f91746fc92e51ebb803caece6d5d","unresolved":true,"context_lines":[{"line_number":2616,"context_line":"                                    \u0027max_files\u0027: max_files,"},{"line_number":2617,"context_line":"                                    \u0027new_max_files\u0027: new_max_files}"},{"line_number":2618,"context_line":"                        LOG.info(msg, msg_args)"},{"line_number":2619,"context_line":"                        self.set_volume_max_files(volume_name, new_max_files,"},{"line_number":2620,"context_line":"                                                  retry_allocated\u003dFalse)"},{"line_number":2621,"context_line":"                else:"},{"line_number":2622,"context_line":"                    raise netapp_api.NaApiError("}],"source_content_type":"text/x-python","patch_set":5,"id":"8f4f58f1_ee0cb57a","line":2619,"updated":"2025-08-07 12:31:50.000000000","message":"So we retry only once if the failure occurs? Shouldnt we have a way to retry multiple times and then fail if not succeeded?","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3f8692ea3a6d9cd5e35b10b2e2599dec9abecf75","unresolved":false,"context_lines":[{"line_number":2616,"context_line":"                                    \u0027max_files\u0027: max_files,"},{"line_number":2617,"context_line":"                                    \u0027new_max_files\u0027: new_max_files}"},{"line_number":2618,"context_line":"                        LOG.info(msg, msg_args)"},{"line_number":2619,"context_line":"                        self.set_volume_max_files(volume_name, new_max_files,"},{"line_number":2620,"context_line":"                                                  retry_allocated\u003dFalse)"},{"line_number":2621,"context_line":"                else:"},{"line_number":2622,"context_line":"                    raise netapp_api.NaApiError("}],"source_content_type":"text/x-python","patch_set":5,"id":"4dde8870_f33b64f6","line":2619,"in_reply_to":"8f4f58f1_ee0cb57a","updated":"2025-08-07 12:49:52.000000000","message":"No, the logic is applicable only once as that of original call and when first call errored as operation not supported(EVOLOPNOTSUPP).","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"94ee2f572b74706bbe7d809547dc25c98082eda0","unresolved":true,"context_lines":[{"line_number":2597,"context_line":"            failure_list \u003d result.get_child_by_name("},{"line_number":2598,"context_line":"                \u0027failure-list\u0027) or netapp_api.NaElement(\u0027none\u0027)"},{"line_number":2599,"context_line":"            errors \u003d failure_list.get_children()"},{"line_number":2600,"context_line":"            if errors:"},{"line_number":2601,"context_line":"                error_code \u003d errors[0].get_child_content(\u0027error-code\u0027)"},{"line_number":2602,"context_line":"                if retry_allocated:"},{"line_number":2603,"context_line":"                    if error_code \u003d\u003d netapp_api.EVOLOPNOTSUPP:"}],"source_content_type":"text/x-python","patch_set":6,"id":"d9fa1968_be3d5f89","line":2600,"range":{"start_line":2600,"start_character":12,"end_line":2600,"end_character":22},"updated":"2025-08-07 14:33:36.000000000","message":"here you can optimize this as below, not need to put \"if errors\" condition.\nif not error:\n    return \n error_code \u003d errors[0].get_child_content(\u0027error-code\u0027)","commit_id":"a241ed034504bf781dd96f78eebd62714b649e7e"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"be009b82f11621d94dc49e73be9fd53a1a647357","unresolved":false,"context_lines":[{"line_number":2597,"context_line":"            failure_list \u003d result.get_child_by_name("},{"line_number":2598,"context_line":"                \u0027failure-list\u0027) or netapp_api.NaElement(\u0027none\u0027)"},{"line_number":2599,"context_line":"            errors \u003d failure_list.get_children()"},{"line_number":2600,"context_line":"            if errors:"},{"line_number":2601,"context_line":"                error_code \u003d errors[0].get_child_content(\u0027error-code\u0027)"},{"line_number":2602,"context_line":"                if retry_allocated:"},{"line_number":2603,"context_line":"                    if error_code \u003d\u003d netapp_api.EVOLOPNOTSUPP:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9da7cd6e_78970e3c","line":2600,"range":{"start_line":2600,"start_character":12,"end_line":2600,"end_character":22},"in_reply_to":"d9fa1968_be3d5f89","updated":"2025-08-08 08:30:01.000000000","message":"Done","commit_id":"a241ed034504bf781dd96f78eebd62714b649e7e"}],"manila/share/drivers/netapp/dataontap/client/client_cmode_rest.py":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"230f65bb0d05f91746fc92e51ebb803caece6d5d","unresolved":true,"context_lines":[{"line_number":1267,"context_line":"            self.send_request(f\u0027/storage/volumes/{uuid}\u0027, \u0027patch\u0027, body\u003dbody)"},{"line_number":1268,"context_line":"        except netapp_api.api.NaApiError as e:"},{"line_number":1269,"context_line":"            if e.code \u003d\u003d netapp_api.EREST_CANNOT_MODITY_SPECIFIED_FIELD:"},{"line_number":1270,"context_line":"                if retry_allocated:"},{"line_number":1271,"context_line":"                    alloc_files \u003d self.get_volume_allocated_files(volume_name)"},{"line_number":1272,"context_line":"                    new_max_files \u003d alloc_files[\u0027used\u0027]"},{"line_number":1273,"context_line":"                    # no need to act if current max files are set to"}],"source_content_type":"text/x-python","patch_set":5,"id":"ce5164e8_a01e2ace","line":1270,"updated":"2025-08-07 12:31:50.000000000","message":"Same comment as above, shouldn\u0027t we have a common logic for retrying with configurable number of times? this logic can be used for other use cases as well.","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3f8692ea3a6d9cd5e35b10b2e2599dec9abecf75","unresolved":false,"context_lines":[{"line_number":1267,"context_line":"            self.send_request(f\u0027/storage/volumes/{uuid}\u0027, \u0027patch\u0027, body\u003dbody)"},{"line_number":1268,"context_line":"        except netapp_api.api.NaApiError as e:"},{"line_number":1269,"context_line":"            if e.code \u003d\u003d netapp_api.EREST_CANNOT_MODITY_SPECIFIED_FIELD:"},{"line_number":1270,"context_line":"                if retry_allocated:"},{"line_number":1271,"context_line":"                    alloc_files \u003d self.get_volume_allocated_files(volume_name)"},{"line_number":1272,"context_line":"                    new_max_files \u003d alloc_files[\u0027used\u0027]"},{"line_number":1273,"context_line":"                    # no need to act if current max files are set to"}],"source_content_type":"text/x-python","patch_set":5,"id":"68949289_357fcf4d","line":1270,"in_reply_to":"ce5164e8_a01e2ace","updated":"2025-08-07 12:49:52.000000000","message":"same as above","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"94ee2f572b74706bbe7d809547dc25c98082eda0","unresolved":true,"context_lines":[{"line_number":1265,"context_line":"            }"},{"line_number":1266,"context_line":""},{"line_number":1267,"context_line":"            self.send_request(f\u0027/storage/volumes/{uuid}\u0027, \u0027patch\u0027, body\u003dbody)"},{"line_number":1268,"context_line":"        except netapp_api.api.NaApiError as e:"},{"line_number":1269,"context_line":"            if e.code \u003d\u003d netapp_api.EREST_CANNOT_MODITY_SPECIFIED_FIELD:"},{"line_number":1270,"context_line":"                if retry_allocated:"},{"line_number":1271,"context_line":"                    alloc_files \u003d self.get_volume_allocated_files(volume_name)"},{"line_number":1272,"context_line":"                    new_max_files \u003d alloc_files[\u0027used\u0027]"},{"line_number":1273,"context_line":"                    # no need to act if current max files are set to"},{"line_number":1274,"context_line":"                    # allocated files"},{"line_number":1275,"context_line":"                    if new_max_files \u003d\u003d alloc_files[\u0027maximum\u0027]:"},{"line_number":1276,"context_line":"                        return"},{"line_number":1277,"context_line":"                    msg \u003d _(\u0027Set higher max files %(new_max_files)s \u0027"},{"line_number":1278,"context_line":"                            \u0027on %(vol)s. The current allocated inodes \u0027"},{"line_number":1279,"context_line":"                            \u0027are larger than requested %(max_files)s.\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"64859c47_c8e0c772","line":1276,"range":{"start_line":1268,"start_character":8,"end_line":1276,"end_character":30},"updated":"2025-08-07 14:33:36.000000000","message":"You can optimize this code as below \n\nexcept netapp_api.api.NaApiError as e:\n    if e.code !\u003d netapp_api.EREST_CANNOT_MODITY_SPECIFIED_FIELD or not retry_allocated:\n        raise exception.NetAppException(message\u003de.message)\n\n    alloc_files \u003d self.get_volume_allocated_files(volume_name)\n    new_max_files \u003d alloc_files[\u0027used\u0027]\n\n    # No need to act if current max files are set to allocated files\n    if new_max_files \u003d\u003d alloc_files[\u0027maximum\u0027]:\n        return\n     ....","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"be009b82f11621d94dc49e73be9fd53a1a647357","unresolved":false,"context_lines":[{"line_number":1265,"context_line":"            }"},{"line_number":1266,"context_line":""},{"line_number":1267,"context_line":"            self.send_request(f\u0027/storage/volumes/{uuid}\u0027, \u0027patch\u0027, body\u003dbody)"},{"line_number":1268,"context_line":"        except netapp_api.api.NaApiError as e:"},{"line_number":1269,"context_line":"            if e.code \u003d\u003d netapp_api.EREST_CANNOT_MODITY_SPECIFIED_FIELD:"},{"line_number":1270,"context_line":"                if retry_allocated:"},{"line_number":1271,"context_line":"                    alloc_files \u003d self.get_volume_allocated_files(volume_name)"},{"line_number":1272,"context_line":"                    new_max_files \u003d alloc_files[\u0027used\u0027]"},{"line_number":1273,"context_line":"                    # no need to act if current max files are set to"},{"line_number":1274,"context_line":"                    # allocated files"},{"line_number":1275,"context_line":"                    if new_max_files \u003d\u003d alloc_files[\u0027maximum\u0027]:"},{"line_number":1276,"context_line":"                        return"},{"line_number":1277,"context_line":"                    msg \u003d _(\u0027Set higher max files %(new_max_files)s \u0027"},{"line_number":1278,"context_line":"                            \u0027on %(vol)s. The current allocated inodes \u0027"},{"line_number":1279,"context_line":"                            \u0027are larger than requested %(max_files)s.\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"35a88eec_55509290","line":1276,"range":{"start_line":1268,"start_character":8,"end_line":1276,"end_character":30},"in_reply_to":"64859c47_c8e0c772","updated":"2025-08-08 08:30:01.000000000","message":"Done","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"230f65bb0d05f91746fc92e51ebb803caece6d5d","unresolved":true,"context_lines":[{"line_number":1302,"context_line":"            if self._has_records(response):"},{"line_number":1303,"context_line":"                return response[\u0027records\u0027][0][\u0027files\u0027]"},{"line_number":1304,"context_line":"        except netapp_api.api.NaApiError:"},{"line_number":1305,"context_line":"            msg \u003d _(\u0027Failed to get volume allocated filesfor %s.\u0027)"},{"line_number":1306,"context_line":"            LOG.error(msg, volume_name)"},{"line_number":1307,"context_line":"            return {\u0027maximum\u0027: 0, \u0027used\u0027: 0}"},{"line_number":1308,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5177fcd6_a56e019b","line":1305,"updated":"2025-08-07 12:31:50.000000000","message":"files for - typo","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"3f8692ea3a6d9cd5e35b10b2e2599dec9abecf75","unresolved":false,"context_lines":[{"line_number":1302,"context_line":"            if self._has_records(response):"},{"line_number":1303,"context_line":"                return response[\u0027records\u0027][0][\u0027files\u0027]"},{"line_number":1304,"context_line":"        except netapp_api.api.NaApiError:"},{"line_number":1305,"context_line":"            msg \u003d _(\u0027Failed to get volume allocated filesfor %s.\u0027)"},{"line_number":1306,"context_line":"            LOG.error(msg, volume_name)"},{"line_number":1307,"context_line":"            return {\u0027maximum\u0027: 0, \u0027used\u0027: 0}"},{"line_number":1308,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"cf903e98_edf1edeb","line":1305,"in_reply_to":"5177fcd6_a56e019b","updated":"2025-08-07 12:49:52.000000000","message":"Done","commit_id":"08a5f16bd0cd9d7c38c725b5ffc7577f0124c603"}]}
