)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"a3acdcfc72b96b717fc12a33e4e27e6037d56109","unresolved":false,"context_lines":[{"line_number":10,"context_line":"create_volume_from_snapshot if the size of new volume is larger than"},{"line_number":11,"context_line":"original volume size."},{"line_number":12,"context_line":"Added a method to replace / with %2F in URLs when needed."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I5debfccaa81ecf8d58b118f5ca0cccc735d35d24"},{"line_number":15,"context_line":"Closes-Bug: #1562167"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7a3c09a3_94842f5e","line":13,"updated":"2017-01-18 17:51:06.000000000","message":"Add a DocImpact flag.","commit_id":"1b67a4051e9284715563c66f2c40b43e830dc0c3"}],"cinder/volume/drivers/nexenta/ns5/nfs.py":[{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"71ed3b45e1106e8b8211e67900134be6895b74f2","unresolved":false,"context_lines":[{"line_number":41,"context_line":"        1.0.0 - Initial driver version."},{"line_number":42,"context_line":"        1.1.0 - Added HTTPS support."},{"line_number":43,"context_line":"                Added use of sessions for REST calls."},{"line_number":44,"context_line":"        1.2.0 - Support for extend volume."},{"line_number":45,"context_line":"    \"\"\""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    driver_prefix \u003d \u0027nexenta\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_72b094de","line":44,"range":{"start_line":44,"start_character":8,"end_line":44,"end_character":13},"updated":"2017-01-13 12:59:38.000000000","message":"Maybe including the support to create volumes bigger than the source snapshots would be interesting here as well.","commit_id":"9dda877f67400ada19f01cf4515970d6d2fbbe85"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"71ed3b45e1106e8b8211e67900134be6895b74f2","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        :param new_size: volume new size in GB"},{"line_number":234,"context_line":"        \"\"\""},{"line_number":235,"context_line":"        LOG.info(_LI(\u0027Extending volume: %(id)s New size: %(size)s GB\u0027),"},{"line_number":236,"context_line":"                 {\u0027id\u0027: volume.id, \u0027size\u0027: new_size})"},{"line_number":237,"context_line":"        if self.sparsed_volumes:"},{"line_number":238,"context_line":"            self._execute(\u0027truncate\u0027, \u0027-s\u0027, \u0027%sG\u0027 % new_size,"},{"line_number":239,"context_line":"                          self.local_path(volume),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_925d00ec","line":236,"range":{"start_line":236,"start_character":24,"end_line":236,"end_character":33},"updated":"2017-01-13 12:59:38.000000000","message":"You should use volume[\u0027id\u0027] to keep it consistent with the rest of the driver.","commit_id":"9dda877f67400ada19f01cf4515970d6d2fbbe85"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"71ed3b45e1106e8b8211e67900134be6895b74f2","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        else:"},{"line_number":242,"context_line":"            block_size_mb \u003d 1"},{"line_number":243,"context_line":"            block_count \u003d ((new_size - volume[\u0027size\u0027]) * units.Gi //"},{"line_number":244,"context_line":"                           (block_size_mb * units.Mi))"},{"line_number":245,"context_line":"            self._execute("},{"line_number":246,"context_line":"                \u0027dd\u0027, \u0027if\u003d/dev/zero\u0027,"},{"line_number":247,"context_line":"                \u0027seek\u003d%d\u0027 % (volume[\u0027size\u0027] * units.Gi / block_size_mb),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_1218301d","line":244,"range":{"start_line":244,"start_character":28,"end_line":244,"end_character":41},"updated":"2017-01-13 12:59:38.000000000","message":"Is it necessary since you have the value 1 hard coded?","commit_id":"9dda877f67400ada19f01cf4515970d6d2fbbe85"},{"author":{"_account_id":21179,"name":"Aleksey Ruban","email":"aleksey.ruban@nexenta.com","username":"rafick1983"},"change_message_id":"37ceaa79af70a6ac8cd59d74ea826b1680e30402","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        else:"},{"line_number":242,"context_line":"            block_size_mb \u003d 1"},{"line_number":243,"context_line":"            block_count \u003d ((new_size - volume[\u0027size\u0027]) * units.Gi //"},{"line_number":244,"context_line":"                           (block_size_mb * units.Mi))"},{"line_number":245,"context_line":"            self._execute("},{"line_number":246,"context_line":"                \u0027dd\u0027, \u0027if\u003d/dev/zero\u0027,"},{"line_number":247,"context_line":"                \u0027seek\u003d%d\u0027 % (volume[\u0027size\u0027] * units.Gi / block_size_mb),"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_e3582959","line":244,"range":{"start_line":244,"start_character":28,"end_line":244,"end_character":41},"in_reply_to":"7a3c09a3_1218301d","updated":"2017-01-13 17:27:00.000000000","message":"It\u0027s only for illustrative purposes. This variable is used 3 times in the method. And it\u0027s useful to know what this \"1\" means.","commit_id":"9dda877f67400ada19f01cf4515970d6d2fbbe85"},{"author":{"_account_id":14865,"name":"Adriano Freires Rosso","email":"adriano.rosso@fit-tecnologia.org.br","username":"adriano_rosso"},"change_message_id":"71ed3b45e1106e8b8211e67900134be6895b74f2","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                           (block_size_mb * units.Mi))"},{"line_number":245,"context_line":"            self._execute("},{"line_number":246,"context_line":"                \u0027dd\u0027, \u0027if\u003d/dev/zero\u0027,"},{"line_number":247,"context_line":"                \u0027seek\u003d%d\u0027 % (volume[\u0027size\u0027] * units.Gi / block_size_mb),"},{"line_number":248,"context_line":"                \u0027of\u003d%s\u0027 % self.local_path(volume),"},{"line_number":249,"context_line":"                \u0027bs\u003d%dM\u0027 % block_size_mb,"},{"line_number":250,"context_line":"                \u0027count\u003d%d\u0027 % block_count,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_f2f1e4ce","line":247,"range":{"start_line":247,"start_character":57,"end_line":247,"end_character":70},"updated":"2017-01-13 12:59:38.000000000","message":"ditto","commit_id":"9dda877f67400ada19f01cf4515970d6d2fbbe85"}]}
