)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"2879e3a88d46cdca51538d49d512bbde22e85e53","unresolved":false,"context_lines":[{"line_number":7,"context_line":"NFS: fail when image is bigger than the volume"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When creating a new volume from a qcow2 image stored in glance, we will"},{"line_number":10,"context_line":"be given the pysical size of the image instead of the virtual size."},{"line_number":11,"context_line":"Drivers like glusterfs and nfs will convert that image to raw after"},{"line_number":12,"context_line":"downloading and resize it to the requested size afterwards."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATH%2F%2FUng%3D","line":10,"updated":"2013-10-17 19:29:00.000000000","message":"\"pysical\" -\u003e \"physical\"","commit_id":"dbc4a053bfa73ef8127b3d4048fe08a61ad96ad2"},{"author":{"_account_id":7808,"name":"Xavier Queralt","email":"xqueralt@gmail.com","username":"xqueralt"},"change_message_id":"c7d5e8048b1025965dd3b6a18b5340acd8dcd1ee","unresolved":false,"context_lines":[{"line_number":7,"context_line":"NFS: fail when image is bigger than the volume"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When creating a new volume from a qcow2 image stored in glance, we will"},{"line_number":10,"context_line":"be given the pysical size of the image instead of the virtual size."},{"line_number":11,"context_line":"Drivers like glusterfs and nfs will convert that image to raw after"},{"line_number":12,"context_line":"downloading and resize it to the requested size afterwards."},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAATH%2F%2FSGY%3D","line":10,"in_reply_to":"AAAATH%2F%2FUng%3D","updated":"2013-10-18 13:58:54.000000000","message":"Done","commit_id":"dbc4a053bfa73ef8127b3d4048fe08a61ad96ad2"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d1651acabc554db32442142c3e3617e708ff36b3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"This patch will make the volume creation fail if the virtual size of"},{"line_number":19,"context_line":"the image exceeds the one of the requested volume."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Fixes bug 1235358"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: I254cd9e3acf5d9eb7eb913b37d27a14e97568dec"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAATn%2F%2F8zo%3D","line":21,"updated":"2013-10-24 18:02:20.000000000","message":"Should use \u0027Closes-bug: \u0027 Here.","commit_id":"7acab7cbfad2eb0d7160a40e1a3ef9254b5bf3cf"}],"cinder/image/image_utils.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d1651acabc554db32442142c3e3617e708ff36b3","unresolved":false,"context_lines":[{"line_number":108,"context_line":"        # requested volume there is no point on resizing it because it will"},{"line_number":109,"context_line":"        # generate an unusable image."},{"line_number":110,"context_line":"        if size is not None and data.virtual_size \u003e size:"},{"line_number":111,"context_line":"            params \u003d {\u0027image_size\u0027: data.virtual_size, \u0027volume_size\u0027: size}"},{"line_number":112,"context_line":"            reason \u003d _(\"size is %(image_size)dGB and doesn\u0027t fit in the \""},{"line_number":113,"context_line":"                       \"volume of size %(volume_size)dGB.\") % params"},{"line_number":114,"context_line":"            raise exception.ImageUnacceptable(image_id\u003dimage_id, reason\u003dreason)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2F80o%3D","line":111,"updated":"2013-10-24 18:02:20.000000000","message":"Nit ... Should start with a capital letter.","commit_id":"7acab7cbfad2eb0d7160a40e1a3ef9254b5bf3cf"},{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"d1651acabc554db32442142c3e3617e708ff36b3","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        if qemu_img and size is not None and virt_size \u003e size:"},{"line_number":181,"context_line":"            params \u003d {\u0027image_size\u0027: virt_size, \u0027volume_size\u0027: size}"},{"line_number":182,"context_line":"            reason \u003d _(\"size is %(image_size)dGB and doesn\u0027t fit in the \""},{"line_number":183,"context_line":"                       \"volume of size %(volume_size)dGB.\") % params"},{"line_number":184,"context_line":"            raise exception.ImageUnacceptable(image_id\u003dimage_id, reason\u003dreason)"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        if is_xenserver_image(context, image_service, image_id):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATn%2F%2F80w%3D","line":183,"updated":"2013-10-24 18:02:20.000000000","message":"Nit ... Message ends with a period so it should start with a capital.","commit_id":"7acab7cbfad2eb0d7160a40e1a3ef9254b5bf3cf"},{"author":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"change_message_id":"88ecff47bee87d4d49b5ed89728adbf83e0fc100","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        fetch(context, image_service, image_id, tmp, user_id, project_id)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        data \u003d qemu_img_info(tmp)"},{"line_number":175,"context_line":"        virt_size \u003d data.virtual_size / units.GiB"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        # NOTE(xqueralt): If the image virtual size doesn\u0027t fit in the"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FSPs%3D","line":174,"updated":"2013-11-11 17:47:08.000000000","message":"If qemu-img command is not there, and image format is \u0027raw\u0027, this call will throws an exception, correct?","commit_id":"0d3e8b678574b1ba230fa55cca15e076dcdd0fa8"},{"author":{"_account_id":7808,"name":"Xavier Queralt","email":"xqueralt@gmail.com","username":"xqueralt"},"change_message_id":"f88bdecd540c185ed42c43e90e4a75d093b223e4","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"        fetch(context, image_service, image_id, tmp, user_id, project_id)"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"        data \u003d qemu_img_info(tmp)"},{"line_number":175,"context_line":"        virt_size \u003d data.virtual_size / units.GiB"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        # NOTE(xqueralt): If the image virtual size doesn\u0027t fit in the"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FPmo%3D","line":174,"in_reply_to":"AAAATn%2F%2FSPs%3D","updated":"2013-11-12 11:11:20.000000000","message":"Nice catch! I think it is better if this check is moved after line 199 as you suggest below.","commit_id":"0d3e8b678574b1ba230fa55cca15e076dcdd0fa8"},{"author":{"_account_id":8574,"name":"Qin Zhao","username":"zhaoqin","inactive":true},"change_message_id":"88ecff47bee87d4d49b5ed89728adbf83e0fc100","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        # NOTE(xqueralt): If the image virtual size doesn\u0027t fit in the"},{"line_number":178,"context_line":"        # requested volume there is no point on resizing it because it will"},{"line_number":179,"context_line":"        # generate an unusable image."},{"line_number":180,"context_line":"        if qemu_img and size is not None and virt_size \u003e size:"},{"line_number":181,"context_line":"            params \u003d {\u0027image_size\u0027: virt_size, \u0027volume_size\u0027: size}"},{"line_number":182,"context_line":"            reason \u003d _(\"Size is %(image_size)dGB and doesn\u0027t fit in a \""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FSPQ%3D","line":179,"updated":"2013-11-11 17:47:08.000000000","message":"Why not move this piece of checking after line 199? So that all the checking for qemu image are placed together and become more easy to understand. And you will not need to call qemu-image command twice.","commit_id":"0d3e8b678574b1ba230fa55cca15e076dcdd0fa8"},{"author":{"_account_id":7808,"name":"Xavier Queralt","email":"xqueralt@gmail.com","username":"xqueralt"},"change_message_id":"f88bdecd540c185ed42c43e90e4a75d093b223e4","unresolved":false,"context_lines":[{"line_number":176,"context_line":""},{"line_number":177,"context_line":"        # NOTE(xqueralt): If the image virtual size doesn\u0027t fit in the"},{"line_number":178,"context_line":"        # requested volume there is no point on resizing it because it will"},{"line_number":179,"context_line":"        # generate an unusable image."},{"line_number":180,"context_line":"        if qemu_img and size is not None and virt_size \u003e size:"},{"line_number":181,"context_line":"            params \u003d {\u0027image_size\u0027: virt_size, \u0027volume_size\u0027: size}"},{"line_number":182,"context_line":"            reason \u003d _(\"Size is %(image_size)dGB and doesn\u0027t fit in a \""}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATn%2F%2FP6M%3D","line":179,"in_reply_to":"AAAATn%2F%2FSPQ%3D","updated":"2013-11-12 11:11:20.000000000","message":"Done","commit_id":"0d3e8b678574b1ba230fa55cca15e076dcdd0fa8"}],"cinder/volume/drivers/lvm.py":[{"author":{"_account_id":2243,"name":"John Griffith","email":"john.griffith8@gmail.com","username":"john-griffith"},"change_message_id":"685874ab8fdd5ab04ff4c8a42ba4b20d4162d3cd","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        escaped_name \u003d self._escape_snapshot(volume[\u0027name\u0027]).replace(\u0027-\u0027, \u0027--\u0027)"},{"line_number":271,"context_line":"        return \"/dev/mapper/%s-%s\" % (escaped_group, escaped_name)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def copy_image_to_volume(self, context, volume, image_service, image_id):"},{"line_number":274,"context_line":"        \"\"\"Fetch the image from image_service and write it to the volume.\"\"\""},{"line_number":275,"context_line":"        image_utils.fetch_to_raw(context,"},{"line_number":276,"context_line":"                                 image_service,"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAT3%2F%2F8UQ%3D","line":273,"updated":"2013-12-26 16:39:22.000000000","message":"This shouldn\u0027t be duplicated here, it\u0027s already in the base driver.","commit_id":"6e287c0f2bb7d4994d50f1763f412277e4dac6f7"}],"cinder/volume/drivers/nfs.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"2879e3a88d46cdca51538d49d512bbde22e85e53","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                                 image_id,"},{"line_number":230,"context_line":"                                 self.local_path(volume))"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        data \u003d image_utils.qemu_img_info(self.local_path(volume))"},{"line_number":233,"context_line":"        virt_size \u003d data.virtual_size / units.GiB"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # NOTE(xqueralt): If the image virtual size doesn\u0027t fit in the"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FUgU%3D","line":232,"updated":"2013-10-17 19:29:00.000000000","message":"Does Glance not know how big the image is, if it isn\u0027t a raw-formatted image?","commit_id":"dbc4a053bfa73ef8127b3d4048fe08a61ad96ad2"},{"author":{"_account_id":7808,"name":"Xavier Queralt","email":"xqueralt@gmail.com","username":"xqueralt"},"change_message_id":"c7d5e8048b1025965dd3b6a18b5340acd8dcd1ee","unresolved":false,"context_lines":[{"line_number":229,"context_line":"                                 image_id,"},{"line_number":230,"context_line":"                                 self.local_path(volume))"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"        data \u003d image_utils.qemu_img_info(self.local_path(volume))"},{"line_number":233,"context_line":"        virt_size \u003d data.virtual_size / units.GiB"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # NOTE(xqueralt): If the image virtual size doesn\u0027t fit in the"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAATH%2F%2FR7Q%3D","line":232,"in_reply_to":"AAAATH%2F%2FUgU%3D","updated":"2013-10-18 13:58:54.000000000","message":"It doesn\u0027t, with the filesystem backend store it will get the size on disk for the image. With the other backends it just asks them for the size and I imagine that the same applies.","commit_id":"dbc4a053bfa73ef8127b3d4048fe08a61ad96ad2"}]}
