'Extend an existing volume.
:param volume: dictionary volume reference
:param new_size: int size in GB to extend
:raises InvalidResults:'

@cutils.trace
def extend_volume(self, volume, new_size):

    nfs_mount = volume.provider_location
    path = self._get_file_path(nfs_mount, volume.name)
    LOG.info('Checking    file    for    resize.')
    if (not self._is_file_size_equal(path, new_size)):
        LOG.info('Resizing    file    to    %(sz)sG', {'sz': new_size})
        image_utils.resize_image(path, new_size)
    if self._is_file_size_equal(path, new_size):
        LOG.info('LUN    %(id)s    extended    to    %(size)s    GB.', {'id': volume.id, 'size': new_size})
    else:
        msg = _('Resizing    image    file    failed.')
        LOG.error(msg)
        raise exception.InvalidResults(msg)
