)]}'
{"cinder/quota.py":[{"author":{"_account_id":170,"name":"Mike Perez","email":"thingee@gmail.com","username":"thingee"},"change_message_id":"889daf638519b72acc9b1b1d4aa29b6b7ba49110","unresolved":false,"context_lines":[{"line_number":220,"context_line":"        user_quotas \u003d db.quota_get_all_by_project_and_user(context,"},{"line_number":221,"context_line":"                                                           project_id, user_id)"},{"line_number":222,"context_line":"        # Use the project quota for default user quota."},{"line_number":223,"context_line":"        proj_quotas \u003d db.quota_get_all_by_project(context, project_id)"},{"line_number":224,"context_line":"        for key, value in proj_quotas.iteritems():"},{"line_number":225,"context_line":"            if key not in user_quotas.keys():"},{"line_number":226,"context_line":"                user_quotas[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F9ygQ%3D","line":223,"updated":"2014-02-04 18:55:09.000000000","message":"this db call now happens twice in a reserve call.","commit_id":"7a517585f62183fd9a9635a39c9bea60b006f98d"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"49bb81dc0c07c184ce359ffaa04ffbcf2735dfae","unresolved":false,"context_lines":[{"line_number":220,"context_line":"        user_quotas \u003d db.quota_get_all_by_project_and_user(context,"},{"line_number":221,"context_line":"                                                           project_id, user_id)"},{"line_number":222,"context_line":"        # Use the project quota for default user quota."},{"line_number":223,"context_line":"        proj_quotas \u003d db.quota_get_all_by_project(context, project_id)"},{"line_number":224,"context_line":"        for key, value in proj_quotas.iteritems():"},{"line_number":225,"context_line":"            if key not in user_quotas.keys():"},{"line_number":226,"context_line":"                user_quotas[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F9iXk%3D","line":223,"in_reply_to":"AAAAUH%2F9ygQ%3D","updated":"2014-02-06 07:49:33.000000000","message":"Done","commit_id":"7a517585f62183fd9a9635a39c9bea60b006f98d"}],"cinder/transfer/api.py":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"54139c0c4d3929ad300c3e9e906223a73e90e4b1","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        vol_ref \u003d self.db.volume_get(context.elevated(), volume_id)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        try:"},{"line_number":145,"context_line":"            reservations \u003d QUOTAS.reserve(context, volumes\u003d1,"},{"line_number":146,"context_line":"                                          gigabytes\u003dvol_ref[\u0027size\u0027])"},{"line_number":147,"context_line":"        except exception.OverQuota as e:"},{"line_number":148,"context_line":"            overs \u003d e.kwargs[\u0027overs\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2B2Yo%3D","line":145,"updated":"2014-01-21 13:12:16.000000000","message":"Do we need to do per user quota check here too, for the user accepting the transfer?","commit_id":"ed361d51fb1aeb3ac18ac343a146c8c49bb3dafd"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"7012e5f2ca6e6c08ff19c108a55225fae5e54e9f","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        vol_ref \u003d self.db.volume_get(context.elevated(), volume_id)"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"        try:"},{"line_number":145,"context_line":"            reservations \u003d QUOTAS.reserve(context, volumes\u003d1,"},{"line_number":146,"context_line":"                                          gigabytes\u003dvol_ref[\u0027size\u0027])"},{"line_number":147,"context_line":"        except exception.OverQuota as e:"},{"line_number":148,"context_line":"            overs \u003d e.kwargs[\u0027overs\u0027]"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2B1TQ%3D","line":145,"in_reply_to":"AAAAUH%2F%2B2Yo%3D","updated":"2014-01-21 16:19:42.000000000","message":"Done","commit_id":"ed361d51fb1aeb3ac18ac343a146c8c49bb3dafd"},{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"54139c0c4d3929ad300c3e9e906223a73e90e4b1","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                raise exception.VolumeLimitExceeded(allowed\u003dquotas[\u0027volumes\u0027])"},{"line_number":174,"context_line":"        try:"},{"line_number":175,"context_line":"            donor_id \u003d vol_ref[\u0027project_id\u0027]"},{"line_number":176,"context_line":"            user_id \u003d vol_ref[\u0027user_id\u0027]"},{"line_number":177,"context_line":"            donor_reservations \u003d QUOTAS.reserve(context.elevated(),"},{"line_number":178,"context_line":"                                                project_id\u003ddonor_id,"},{"line_number":179,"context_line":"                                                user_id\u003duser_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2B2YU%3D","line":176,"updated":"2014-01-21 13:12:16.000000000","message":"doner_user_id please? We\u0027ve two users in this code, and keeping the names straigh makes the code clearer","commit_id":"ed361d51fb1aeb3ac18ac343a146c8c49bb3dafd"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"7012e5f2ca6e6c08ff19c108a55225fae5e54e9f","unresolved":false,"context_lines":[{"line_number":173,"context_line":"                raise exception.VolumeLimitExceeded(allowed\u003dquotas[\u0027volumes\u0027])"},{"line_number":174,"context_line":"        try:"},{"line_number":175,"context_line":"            donor_id \u003d vol_ref[\u0027project_id\u0027]"},{"line_number":176,"context_line":"            user_id \u003d vol_ref[\u0027user_id\u0027]"},{"line_number":177,"context_line":"            donor_reservations \u003d QUOTAS.reserve(context.elevated(),"},{"line_number":178,"context_line":"                                                project_id\u003ddonor_id,"},{"line_number":179,"context_line":"                                                user_id\u003duser_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2B1TI%3D","line":176,"in_reply_to":"AAAAUH%2F%2B2YU%3D","updated":"2014-01-21 16:19:42.000000000","message":"Done","commit_id":"ed361d51fb1aeb3ac18ac343a146c8c49bb3dafd"}],"cinder/volume/api.py":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"95db371ecce90e0cdb487e260b3a2fa828b3a518","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        if context.is_admin and context.user_id !\u003d volume[\u0027user_id\u0027]:"},{"line_number":186,"context_line":"            user_id \u003d volume[\u0027user_id\u0027]"},{"line_number":187,"context_line":"        else:"},{"line_number":188,"context_line":"            user_id \u003d context.user_id"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        volume_id \u003d volume[\u0027id\u0027]"},{"line_number":191,"context_line":"        if not volume[\u0027host\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2B2X0%3D","line":188,"updated":"2014-01-21 13:14:44.000000000","message":"Should this not always be volume[\u0027user_id\u0027]?","commit_id":"ed361d51fb1aeb3ac18ac343a146c8c49bb3dafd"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"7012e5f2ca6e6c08ff19c108a55225fae5e54e9f","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        if context.is_admin and context.user_id !\u003d volume[\u0027user_id\u0027]:"},{"line_number":186,"context_line":"            user_id \u003d volume[\u0027user_id\u0027]"},{"line_number":187,"context_line":"        else:"},{"line_number":188,"context_line":"            user_id \u003d context.user_id"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        volume_id \u003d volume[\u0027id\u0027]"},{"line_number":191,"context_line":"        if not volume[\u0027host\u0027]:"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2B1TE%3D","line":188,"in_reply_to":"AAAAUH%2F%2B2X0%3D","updated":"2014-01-21 16:19:42.000000000","message":"Done","commit_id":"ed361d51fb1aeb3ac18ac343a146c8c49bb3dafd"}],"cinder/volume/manager.py":[{"author":{"_account_id":1207,"name":"Duncan Thomas","email":"duncan.thomas@gmail.com","username":"duncan-thomas"},"change_message_id":"95db371ecce90e0cdb487e260b3a2fa828b3a518","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        if context.user_id !\u003d volume_ref[\u0027user_id\u0027]:"},{"line_number":364,"context_line":"            user_id \u003d volume_ref[\u0027user_id\u0027]"},{"line_number":365,"context_line":"        else:"},{"line_number":366,"context_line":"            user_id \u003d context.user_id"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"        LOG.info(_(\"volume %s: deleting\"), volume_ref[\u0027id\u0027])"},{"line_number":369,"context_line":"        if volume_ref[\u0027attach_status\u0027] \u003d\u003d \"attached\":"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2B2XA%3D","line":366,"updated":"2014-01-21 13:14:44.000000000","message":"Why not always use volume_ref[\u0027user_id\u0027] and remove the unnecessary if statement?","commit_id":"ed361d51fb1aeb3ac18ac343a146c8c49bb3dafd"},{"author":{"_account_id":4428,"name":"Liyingjun","email":"yinjalee@163.com","username":"liyingjun"},"change_message_id":"7012e5f2ca6e6c08ff19c108a55225fae5e54e9f","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        if context.user_id !\u003d volume_ref[\u0027user_id\u0027]:"},{"line_number":364,"context_line":"            user_id \u003d volume_ref[\u0027user_id\u0027]"},{"line_number":365,"context_line":"        else:"},{"line_number":366,"context_line":"            user_id \u003d context.user_id"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"        LOG.info(_(\"volume %s: deleting\"), volume_ref[\u0027id\u0027])"},{"line_number":369,"context_line":"        if volume_ref[\u0027attach_status\u0027] \u003d\u003d \"attached\":"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2B1S4%3D","line":366,"in_reply_to":"AAAAUH%2F%2B2XA%3D","updated":"2014-01-21 16:19:42.000000000","message":"Done","commit_id":"ed361d51fb1aeb3ac18ac343a146c8c49bb3dafd"}]}
