)]}'
{"manila/share/drivers/huawei/huawei_nas.py":[{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"946b17a97796c378e1f8a49b424b859e2fb502db","unresolved":false,"context_lines":[{"line_number":171,"context_line":"            vendor_name\u003d\u0027Huawei\u0027,"},{"line_number":172,"context_line":"            driver_version\u003d\u00271.1\u0027,"},{"line_number":173,"context_line":"            storage_protocol\u003d\u0027NFS_CIFS\u0027,"},{"line_number":174,"context_line":"            QoS_support\u003dTrue,"},{"line_number":175,"context_line":"            total_capacity_gb\u003d0.0,"},{"line_number":176,"context_line":"            free_capacity_gb\u003d0.0)"},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_547e5fe5","line":174,"range":{"start_line":174,"start_character":12,"end_line":174,"end_character":28},"updated":"2016-01-12 11:50:25.000000000","message":"This is ok if you are assuming all Huawei hardware has QoS_support, but if there is a case where QoS_support is not present, then it should be read from a configuration variable set in manila.conf.","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"}],"manila/share/drivers/huawei/v3/connection.py":[{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"946b17a97796c378e1f8a49b424b859e2fb502db","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                           \u0027host_pool\u0027: pool_name}))"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"        self.helper._change_fs_name(fs_id, share_name)"},{"line_number":523,"context_line":"        share_size \u003d int(fs[\u0027CAPACITY\u0027]) / units.Mi / 2"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        location \u003d self._get_location_path(share_name, share_proto)"},{"line_number":526,"context_line":"        return (share_size, [location])"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_d4748fd0","line":523,"range":{"start_line":523,"start_character":8,"end_line":523,"end_character":55},"updated":"2016-01-12 11:50:25.000000000","message":"share_size will be an integer after division by units.Mi and 2. Is this intended? if you use float() it will allow share_size to be a float.\n\n\u003e\u003e\u003e x \u003d int(5) / 10 / 2\n0\n\u003e\u003e\u003e x \u003d float(5) / 10 / 2\n0.25","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"ec9567cb609af730fdd5f66f72d69368e4bae69e","unresolved":false,"context_lines":[{"line_number":520,"context_line":"                           \u0027host_pool\u0027: pool_name}))"},{"line_number":521,"context_line":""},{"line_number":522,"context_line":"        self.helper._change_fs_name(fs_id, share_name)"},{"line_number":523,"context_line":"        share_size \u003d int(fs[\u0027CAPACITY\u0027]) / units.Mi / 2"},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"        location \u003d self._get_location_path(share_name, share_proto)"},{"line_number":526,"context_line":"        return (share_size, [location])"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_453c6793","line":523,"range":{"start_line":523,"start_character":8,"end_line":523,"end_character":55},"in_reply_to":"da6ed579_d4748fd0","updated":"2016-01-12 12:22:00.000000000","message":"Done","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"}],"manila/share/drivers/huawei/v3/helper.py":[{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"7c78da60ac092064406a7226209ed596b0be20ee","unresolved":false,"context_lines":[{"line_number":747,"context_line":""},{"line_number":748,"context_line":"                lun_num \u003d len(item[\u0027LUNLIST\u0027].split(\",\"))"},{"line_number":749,"context_line":"                fs_num \u003d len(item[\u0027FSLIST\u0027].split(\",\"))"},{"line_number":750,"context_line":"                # We use this QoS only if the Filesystems in it is less"},{"line_number":751,"context_line":"                # than 64, else we cannot add Filesystem to this QoS any more."},{"line_number":752,"context_line":"                if (qos_flag \u003d\u003d len(qos) and lun_num \u003d\u003d 0"},{"line_number":753,"context_line":"                        and fs_num \u003c constants.MAX_FSNUM_IN_QOS):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_a56fe7fa","line":750,"range":{"start_line":750,"start_character":46,"end_line":750,"end_character":57},"updated":"2016-01-11 09:10:19.000000000","message":"s/Filesystems/filesystems/","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"80aa95fb1b0038bfa03d3f1da2403ffec984a77f","unresolved":false,"context_lines":[{"line_number":747,"context_line":""},{"line_number":748,"context_line":"                lun_num \u003d len(item[\u0027LUNLIST\u0027].split(\",\"))"},{"line_number":749,"context_line":"                fs_num \u003d len(item[\u0027FSLIST\u0027].split(\",\"))"},{"line_number":750,"context_line":"                # We use this QoS only if the Filesystems in it is less"},{"line_number":751,"context_line":"                # than 64, else we cannot add Filesystem to this QoS any more."},{"line_number":752,"context_line":"                if (qos_flag \u003d\u003d len(qos) and lun_num \u003d\u003d 0"},{"line_number":753,"context_line":"                        and fs_num \u003c constants.MAX_FSNUM_IN_QOS):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_1a4a5b84","line":750,"range":{"start_line":750,"start_character":46,"end_line":750,"end_character":57},"in_reply_to":"fa69d971_a56fe7fa","updated":"2016-01-12 09:09:44.000000000","message":"Done","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"6afafb8848dc81a3dd4ba098cf3165e314bbbe0f","unresolved":false,"context_lines":[{"line_number":747,"context_line":""},{"line_number":748,"context_line":"                lun_num \u003d len(item[\u0027LUNLIST\u0027].split(\",\"))"},{"line_number":749,"context_line":"                fs_num \u003d len(item[\u0027FSLIST\u0027].split(\",\"))"},{"line_number":750,"context_line":"                # We use this QoS only if the Filesystems in it is less"},{"line_number":751,"context_line":"                # than 64, else we cannot add Filesystem to this QoS any more."},{"line_number":752,"context_line":"                if (qos_flag \u003d\u003d len(qos) and lun_num \u003d\u003d 0"},{"line_number":753,"context_line":"                        and fs_num \u003c constants.MAX_FSNUM_IN_QOS):"},{"line_number":754,"context_line":"                    qos_id \u003d item[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_5f703340","line":751,"range":{"start_line":750,"start_character":0,"end_line":751,"end_character":78},"updated":"2016-01-11 12:04:17.000000000","message":"This condition is used to limit the number of filesystems in QoS to 64 (constants.MAX_FSNUM_IN_QOS), right? Please rewrite this comment.","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"7c78da60ac092064406a7226209ed596b0be20ee","unresolved":false,"context_lines":[{"line_number":748,"context_line":"                lun_num \u003d len(item[\u0027LUNLIST\u0027].split(\",\"))"},{"line_number":749,"context_line":"                fs_num \u003d len(item[\u0027FSLIST\u0027].split(\",\"))"},{"line_number":750,"context_line":"                # We use this QoS only if the Filesystems in it is less"},{"line_number":751,"context_line":"                # than 64, else we cannot add Filesystem to this QoS any more."},{"line_number":752,"context_line":"                if (qos_flag \u003d\u003d len(qos) and lun_num \u003d\u003d 0"},{"line_number":753,"context_line":"                        and fs_num \u003c constants.MAX_FSNUM_IN_QOS):"},{"line_number":754,"context_line":"                    qos_id \u003d item[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_2501b706","line":751,"range":{"start_line":751,"start_character":46,"end_line":751,"end_character":56},"updated":"2016-01-11 09:10:19.000000000","message":"s/Filesystem/filesystem/","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"80aa95fb1b0038bfa03d3f1da2403ffec984a77f","unresolved":false,"context_lines":[{"line_number":748,"context_line":"                lun_num \u003d len(item[\u0027LUNLIST\u0027].split(\",\"))"},{"line_number":749,"context_line":"                fs_num \u003d len(item[\u0027FSLIST\u0027].split(\",\"))"},{"line_number":750,"context_line":"                # We use this QoS only if the Filesystems in it is less"},{"line_number":751,"context_line":"                # than 64, else we cannot add Filesystem to this QoS any more."},{"line_number":752,"context_line":"                if (qos_flag \u003d\u003d len(qos) and lun_num \u003d\u003d 0"},{"line_number":753,"context_line":"                        and fs_num \u003c constants.MAX_FSNUM_IN_QOS):"},{"line_number":754,"context_line":"                    qos_id \u003d item[\u0027ID\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_da43636b","line":751,"range":{"start_line":751,"start_character":46,"end_line":751,"end_character":56},"in_reply_to":"fa69d971_2501b706","updated":"2016-01-12 09:09:44.000000000","message":"Done","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"7c78da60ac092064406a7226209ed596b0be20ee","unresolved":false,"context_lines":[{"line_number":817,"context_line":"        self._assert_rest_result("},{"line_number":818,"context_line":"            result, _(\u0027Activate or deactivate QoS error.\u0027))"},{"line_number":819,"context_line":""},{"line_number":820,"context_line":"    def change_fs_priority(self, fs_id):"},{"line_number":821,"context_line":"        \"\"\"Change fs priority to high.\"\"\""},{"line_number":822,"context_line":"        url \u003d \"/filesystem/\" + fs_id"},{"line_number":823,"context_line":"        data \u003d jsonutils.dumps({\"ID\": fs_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_68f8e6c3","line":820,"range":{"start_line":820,"start_character":8,"end_line":820,"end_character":26},"updated":"2016-01-11 09:10:19.000000000","message":"I would rename it to change_fs_priority_high since the value is actually hardcoded. Otherwise I would expect to have a parameter that set\u0027s a given priority","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"80aa95fb1b0038bfa03d3f1da2403ffec984a77f","unresolved":false,"context_lines":[{"line_number":817,"context_line":"        self._assert_rest_result("},{"line_number":818,"context_line":"            result, _(\u0027Activate or deactivate QoS error.\u0027))"},{"line_number":819,"context_line":""},{"line_number":820,"context_line":"    def change_fs_priority(self, fs_id):"},{"line_number":821,"context_line":"        \"\"\"Change fs priority to high.\"\"\""},{"line_number":822,"context_line":"        url \u003d \"/filesystem/\" + fs_id"},{"line_number":823,"context_line":"        data \u003d jsonutils.dumps({\"ID\": fs_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_fd2421b0","line":820,"range":{"start_line":820,"start_character":8,"end_line":820,"end_character":26},"in_reply_to":"fa69d971_68f8e6c3","updated":"2016-01-12 09:09:44.000000000","message":"Done","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":17097,"name":"Tiago Pasqualini da Silva","email":"t.pasqualini@luizalabs.com","username":"tiago.pasqualini"},"change_message_id":"6afafb8848dc81a3dd4ba098cf3165e314bbbe0f","unresolved":false,"context_lines":[{"line_number":852,"context_line":"        fs_string \u003d qos_info[\u0027FSLIST\u0027][1:-1]"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"        for fs in fs_string.split(\",\"):"},{"line_number":855,"context_line":"            str \u003d fs[1:-1]"},{"line_number":856,"context_line":"            fs_list.append(str)"},{"line_number":857,"context_line":""},{"line_number":858,"context_line":"        return fs_list"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_4a2cefab","line":855,"range":{"start_line":855,"start_character":12,"end_line":855,"end_character":15},"updated":"2016-01-11 12:04:17.000000000","message":"Please change this variable name. This is overwriting the built in str() function.","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"80aa95fb1b0038bfa03d3f1da2403ffec984a77f","unresolved":false,"context_lines":[{"line_number":852,"context_line":"        fs_string \u003d qos_info[\u0027FSLIST\u0027][1:-1]"},{"line_number":853,"context_line":""},{"line_number":854,"context_line":"        for fs in fs_string.split(\",\"):"},{"line_number":855,"context_line":"            str \u003d fs[1:-1]"},{"line_number":856,"context_line":"            fs_list.append(str)"},{"line_number":857,"context_line":""},{"line_number":858,"context_line":"        return fs_list"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_9d3ac5cc","line":855,"range":{"start_line":855,"start_character":12,"end_line":855,"end_character":15},"in_reply_to":"fa69d971_4a2cefab","updated":"2016-01-12 09:09:44.000000000","message":"Done","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"946b17a97796c378e1f8a49b424b859e2fb502db","unresolved":false,"context_lines":[{"line_number":783,"context_line":"        # Package QoS name."},{"line_number":784,"context_line":"        qos_name \u003d constants.QOS_NAME_PREFIX + fs_id + \u0027_\u0027 + localtime"},{"line_number":785,"context_line":""},{"line_number":786,"context_line":"        mergedata \u003d {\"TYPE\": \"230\","},{"line_number":787,"context_line":"                     \"NAME\": qos_name,"},{"line_number":788,"context_line":"                     \"FSLIST\": [\"%s\" % fs_id],"},{"line_number":789,"context_line":"                     \"CLASSTYPE\": \"1\","},{"line_number":790,"context_line":"                     \"SCHEDULEPOLICY\": \"2\","},{"line_number":791,"context_line":"                     \"SCHEDULESTARTTIME\": \"1410969600\","},{"line_number":792,"context_line":"                     \"STARTTIME\": \"08:00\","},{"line_number":793,"context_line":"                     \"DURATION\": \"86400\","},{"line_number":794,"context_line":"                     \"CYCLESET\": \"[1,2,3,4,5,6,0]\","},{"line_number":795,"context_line":"                     }"},{"line_number":796,"context_line":"        mergedata.update(qos)"},{"line_number":797,"context_line":"        data \u003d jsonutils.dumps(mergedata)"},{"line_number":798,"context_line":"        url \u003d \"/ioclass\""}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_cfe4f60e","line":795,"range":{"start_line":786,"start_character":8,"end_line":795,"end_character":22},"updated":"2016-01-12 11:50:25.000000000","message":"Is this ok to be hardcoded? Can any of those settings be customized by the administrator?","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"ec9567cb609af730fdd5f66f72d69368e4bae69e","unresolved":false,"context_lines":[{"line_number":783,"context_line":"        # Package QoS name."},{"line_number":784,"context_line":"        qos_name \u003d constants.QOS_NAME_PREFIX + fs_id + \u0027_\u0027 + localtime"},{"line_number":785,"context_line":""},{"line_number":786,"context_line":"        mergedata \u003d {\"TYPE\": \"230\","},{"line_number":787,"context_line":"                     \"NAME\": qos_name,"},{"line_number":788,"context_line":"                     \"FSLIST\": [\"%s\" % fs_id],"},{"line_number":789,"context_line":"                     \"CLASSTYPE\": \"1\","},{"line_number":790,"context_line":"                     \"SCHEDULEPOLICY\": \"2\","},{"line_number":791,"context_line":"                     \"SCHEDULESTARTTIME\": \"1410969600\","},{"line_number":792,"context_line":"                     \"STARTTIME\": \"08:00\","},{"line_number":793,"context_line":"                     \"DURATION\": \"86400\","},{"line_number":794,"context_line":"                     \"CYCLESET\": \"[1,2,3,4,5,6,0]\","},{"line_number":795,"context_line":"                     }"},{"line_number":796,"context_line":"        mergedata.update(qos)"},{"line_number":797,"context_line":"        data \u003d jsonutils.dumps(mergedata)"},{"line_number":798,"context_line":"        url \u003d \"/ioclass\""}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_e556bb05","line":795,"range":{"start_line":786,"start_character":8,"end_line":795,"end_character":22},"in_reply_to":"da6ed579_cfe4f60e","updated":"2016-01-12 12:22:00.000000000","message":"Done","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"946b17a97796c378e1f8a49b424b859e2fb502db","unresolved":false,"context_lines":[{"line_number":806,"context_line":"        \"\"\"Activate or deactivate QoS."},{"line_number":807,"context_line":""},{"line_number":808,"context_line":"        enablestatus: true (activate)"},{"line_number":809,"context_line":"        enbalestatus: false (deactivate)"},{"line_number":810,"context_line":"        \"\"\""},{"line_number":811,"context_line":"        url \u003d \"/ioclass/active/\" + qos_id"},{"line_number":812,"context_line":"        data \u003d jsonutils.dumps({"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_efdc5a48","line":809,"range":{"start_line":809,"start_character":8,"end_line":809,"end_character":20},"updated":"2016-01-12 11:50:25.000000000","message":"s/enbalestatus/enablestatus","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"ec9567cb609af730fdd5f66f72d69368e4bae69e","unresolved":false,"context_lines":[{"line_number":806,"context_line":"        \"\"\"Activate or deactivate QoS."},{"line_number":807,"context_line":""},{"line_number":808,"context_line":"        enablestatus: true (activate)"},{"line_number":809,"context_line":"        enbalestatus: false (deactivate)"},{"line_number":810,"context_line":"        \"\"\""},{"line_number":811,"context_line":"        url \u003d \"/ioclass/active/\" + qos_id"},{"line_number":812,"context_line":"        data \u003d jsonutils.dumps({"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_aa7730d3","line":809,"range":{"start_line":809,"start_character":8,"end_line":809,"end_character":20},"in_reply_to":"da6ed579_efdc5a48","updated":"2016-01-12 12:22:00.000000000","message":"Done","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"946b17a97796c378e1f8a49b424b859e2fb502db","unresolved":false,"context_lines":[{"line_number":874,"context_line":"                                \"ID\": qos_id})"},{"line_number":875,"context_line":"        result \u003d self.call(url, data, \"PUT\")"},{"line_number":876,"context_line":""},{"line_number":877,"context_line":"        msg \u003d _(\u0027Remove filesystem from Qos error.\u0027)"},{"line_number":878,"context_line":"        self._assert_rest_result(result, msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_6ff14acd","line":877,"range":{"start_line":877,"start_character":40,"end_line":877,"end_character":43},"updated":"2016-01-12 11:50:25.000000000","message":"s/Qos/QoS","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"ec9567cb609af730fdd5f66f72d69368e4bae69e","unresolved":false,"context_lines":[{"line_number":874,"context_line":"                                \"ID\": qos_id})"},{"line_number":875,"context_line":"        result \u003d self.call(url, data, \"PUT\")"},{"line_number":876,"context_line":""},{"line_number":877,"context_line":"        msg \u003d _(\u0027Remove filesystem from Qos error.\u0027)"},{"line_number":878,"context_line":"        self._assert_rest_result(result, msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_654bab5a","line":877,"range":{"start_line":877,"start_character":40,"end_line":877,"end_character":43},"in_reply_to":"da6ed579_6ff14acd","updated":"2016-01-12 12:22:00.000000000","message":"Done","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":8851,"name":"Valeriy Ponomaryov","email":"kiparis.kh@gmail.com","username":"vponomaryov"},"change_message_id":"511a1eced97cfc4cf12724acbe9e7fb0ced02444","unresolved":false,"context_lines":[{"line_number":835,"context_line":"                    qos_flag \u003d qos_flag + 1"},{"line_number":836,"context_line":""},{"line_number":837,"context_line":"                fs_num \u003d len(item[\u0027FSLIST\u0027].split(\",\"))"},{"line_number":838,"context_line":"                # We use this QoS only if the filesystems in it is less"},{"line_number":839,"context_line":"                # than 64, else we cannot add filesystem to this QoS any more."},{"line_number":840,"context_line":"                if (item[\u0027RUNNINGSTATUS\u0027] \u003d\u003d constants.STATUS_QOS_ACTIVE"},{"line_number":841,"context_line":"                        and fs_num \u003c constants.MAX_FS_NUM_IN_QOS"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a68dd71_32d95bf4","line":838,"range":{"start_line":838,"start_character":64,"end_line":838,"end_character":66},"updated":"2016-01-21 10:17:40.000000000","message":"are","commit_id":"fb80e16126a10bce36f478acb3f77b53662d47b4"}],"manila/share/drivers/huawei/v3/smartx.py":[{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"7c78da60ac092064406a7226209ed596b0be20ee","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                if policy_id is not None:"},{"line_number":83,"context_line":"                    self.helper.delete_qos_policy(policy_id)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _check_qos_high_priority(self, qos):"},{"line_number":86,"context_line":"        \"\"\"Check QoS priority.\"\"\""},{"line_number":87,"context_line":"        for key, value in qos.items():"},{"line_number":88,"context_line":"            if (key.find(\u0027MIN\u0027) \u003d\u003d 0) or (key.find(\u0027LATENCY\u0027) \u003d\u003d 0):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_48d3a204","line":85,"updated":"2016-01-11 09:10:19.000000000","message":"Depending on what you plan for the future, you could also merge this function and helper.change_share_priority together. Would make it a bit easier to read IMHO.","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"80aa95fb1b0038bfa03d3f1da2403ffec984a77f","unresolved":false,"context_lines":[{"line_number":82,"context_line":"                if policy_id is not None:"},{"line_number":83,"context_line":"                    self.helper.delete_qos_policy(policy_id)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def _check_qos_high_priority(self, qos):"},{"line_number":86,"context_line":"        \"\"\"Check QoS priority.\"\"\""},{"line_number":87,"context_line":"        for key, value in qos.items():"},{"line_number":88,"context_line":"            if (key.find(\u0027MIN\u0027) \u003d\u003d 0) or (key.find(\u0027LATENCY\u0027) \u003d\u003d 0):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_2b2b4f84","line":85,"in_reply_to":"fa69d971_48d3a204","updated":"2016-01-12 09:09:44.000000000","message":"Done","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":7872,"name":"Marc Koderer","email":"marc@koderer.com","username":"mkoderer"},"change_message_id":"7c78da60ac092064406a7226209ed596b0be20ee","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    def _check_qos_high_priority(self, qos):"},{"line_number":86,"context_line":"        \"\"\"Check QoS priority.\"\"\""},{"line_number":87,"context_line":"        for key, value in qos.items():"},{"line_number":88,"context_line":"            if (key.find(\u0027MIN\u0027) \u003d\u003d 0) or (key.find(\u0027LATENCY\u0027) \u003d\u003d 0):"},{"line_number":89,"context_line":"                return True"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa69d971_c8bb12e4","line":88,"updated":"2016-01-11 09:10:19.000000000","message":"(I have no idea about your interface here), but don\u0027t you need to check for IOPRIORITY somewhere?","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"80aa95fb1b0038bfa03d3f1da2403ffec984a77f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    def _check_qos_high_priority(self, qos):"},{"line_number":86,"context_line":"        \"\"\"Check QoS priority.\"\"\""},{"line_number":87,"context_line":"        for key, value in qos.items():"},{"line_number":88,"context_line":"            if (key.find(\u0027MIN\u0027) \u003d\u003d 0) or (key.find(\u0027LATENCY\u0027) \u003d\u003d 0):"},{"line_number":89,"context_line":"                return True"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        return False"}],"source_content_type":"text/x-python","patch_set":1,"id":"da6ed579_ab5bbf53","line":88,"in_reply_to":"fa69d971_c8bb12e4","updated":"2016-01-12 09:09:44.000000000","message":"Use this config to check whether it will use high priority or low priority. the default is low priority.","commit_id":"851891e0ccd90f03e4964fb3cdcd7a1b3a1f25da"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"946b17a97796c378e1f8a49b424b859e2fb502db","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    def delete_qos(self, qos_id):"},{"line_number":95,"context_line":"        qos_info \u003d self.helper.get_qos_info(qos_id)"},{"line_number":96,"context_line":"        qos_status \u003d qos_info[\u0027RUNNINGSTATUS\u0027]"},{"line_number":97,"context_line":"        # 2: Active status."},{"line_number":98,"context_line":"        if qos_status \u003d\u003d constants.STATUS_QOS_ACTIVE:"},{"line_number":99,"context_line":"            self.helper.activate_deactivate_qos(qos_id, False)"},{"line_number":100,"context_line":"        self.helper.delete_qos_policy(qos_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_cfcb9671","line":97,"range":{"start_line":97,"start_character":8,"end_line":97,"end_character":26},"updated":"2016-01-12 11:50:25.000000000","message":"what is # 1: ?","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"ec9567cb609af730fdd5f66f72d69368e4bae69e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    def delete_qos(self, qos_id):"},{"line_number":95,"context_line":"        qos_info \u003d self.helper.get_qos_info(qos_id)"},{"line_number":96,"context_line":"        qos_status \u003d qos_info[\u0027RUNNINGSTATUS\u0027]"},{"line_number":97,"context_line":"        # 2: Active status."},{"line_number":98,"context_line":"        if qos_status \u003d\u003d constants.STATUS_QOS_ACTIVE:"},{"line_number":99,"context_line":"            self.helper.activate_deactivate_qos(qos_id, False)"},{"line_number":100,"context_line":"        self.helper.delete_qos_policy(qos_id)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_a5dd2372","line":97,"range":{"start_line":97,"start_character":8,"end_line":97,"end_character":26},"in_reply_to":"da6ed579_cfcb9671","updated":"2016-01-12 12:22:00.000000000","message":"Using the macro definition， so doesn\u0027t have to explain so much. :) I delete it.","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":14567,"name":"Rodrigo Barbieri","email":"rodrigo.barbieri2010@gmail.com","username":"ganso"},"change_message_id":"946b17a97796c378e1f8a49b424b859e2fb502db","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        for key, value in opts.items():"},{"line_number":157,"context_line":"            if (key in constants.OPTS_QOS_VALUE) and value is not None:"},{"line_number":158,"context_line":"                if (key.upper() !\u003d \u0027IOTYPE\u0027) and (int(value) \u003c\u003d 0):"},{"line_number":159,"context_line":"                    err_msg \u003d (_(\u0027Qos config is wrong. %(key)s\u0027"},{"line_number":160,"context_line":"                                 \u0027 must be set greater than 0.\u0027)"},{"line_number":161,"context_line":"                               % {\u0027key\u0027: key})"},{"line_number":162,"context_line":"                    raise exception.InvalidInput(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_2fa112aa","line":159,"range":{"start_line":159,"start_character":34,"end_line":159,"end_character":37},"updated":"2016-01-12 11:50:25.000000000","message":"s/Qos/QoS","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"},{"author":{"_account_id":15100,"name":"zhongjun","email":"jun.zhongjun2@gmail.com","username":"zhongjun2"},"change_message_id":"ec9567cb609af730fdd5f66f72d69368e4bae69e","unresolved":false,"context_lines":[{"line_number":156,"context_line":"        for key, value in opts.items():"},{"line_number":157,"context_line":"            if (key in constants.OPTS_QOS_VALUE) and value is not None:"},{"line_number":158,"context_line":"                if (key.upper() !\u003d \u0027IOTYPE\u0027) and (int(value) \u003c\u003d 0):"},{"line_number":159,"context_line":"                    err_msg \u003d (_(\u0027Qos config is wrong. %(key)s\u0027"},{"line_number":160,"context_line":"                                 \u0027 must be set greater than 0.\u0027)"},{"line_number":161,"context_line":"                               % {\u0027key\u0027: key})"},{"line_number":162,"context_line":"                    raise exception.InvalidInput(reason\u003derr_msg)"}],"source_content_type":"text/x-python","patch_set":3,"id":"da6ed579_6562cbda","line":159,"range":{"start_line":159,"start_character":34,"end_line":159,"end_character":37},"in_reply_to":"da6ed579_2fa112aa","updated":"2016-01-12 12:22:00.000000000","message":"Done","commit_id":"c0bc15ae55ce8827d0134d04cd82903d2de37809"}]}
