'Update volume statistics.
Three kinds of data are stored on the Synology backend pool:
1. Thin volumes (LUNs on the pool),
2. Thick volumes (LUNs on the pool),
3. Other user data.
other_user_data_gb is the size of the 3rd one.
lun_provisioned_gb is the summation of all thin/thick volume
provisioned size.
Only thin type is available for Cinder volumes.'

def update_volume_stats(self):

    (free_gb, total_gb, other_user_data_gb) = self._get_pool_size()
    lun_provisioned_gb = self._get_pool_lun_provisioned_size()
    data = {}
    data['volume_backend_name'] = self.volume_backend_name
    data['vendor_name'] = self.vendor_name
    data['storage_protocol'] = self.config.iscsi_protocol
    data['consistencygroup_support'] = False
    data['QoS_support'] = False
    data['thin_provisioning_support'] = True
    data['thick_provisioning_support'] = False
    data['reserved_percentage'] = self.config.reserved_percentage
    data['free_capacity_gb'] = free_gb
    data['total_capacity_gb'] = total_gb
    data['provisioned_capacity_gb'] = (lun_provisioned_gb + other_user_data_gb)
    data['max_over_subscription_ratio'] = self.config.max_over_subscription_ratio
    data['iscsi_ip_address'] = self.config.iscsi_ip_address
    data['pool_name'] = self.config.synology_pool_name
    data['backend_info'] = ('%s:%s:%s' % (self.vendor_name, self.driver_type, self.host_uuid))
    return data
