'List snapshots on the backend available for management by Cinder.'

def get_manageable_snapshots(self, cinder_snapshots, marker, limit, offset, sort_keys, sort_dirs):

    array = self._get_current_array()
    pure_snapshots = array.list_volumes(snap=True)
    existing_snapshots = {}
    for cinder_snap in cinder_snapshots:
        name = self._get_snap_name(cinder_snap)
        existing_snapshots[name] = cinder_snap.id
    manageable_snaps = []
    for pure_snap in pure_snapshots:
        snap_name = pure_snap['name']
        cinder_id = existing_snapshots.get(snap_name)
        is_safe = True
        reason_not_safe = None
        if cinder_id:
            is_safe = False
            reason_not_safe = _('Snapshot    already    managed.')
        manageable_snaps.append({'reference': {'name': snap_name}, 'size': self._round_bytes_to_gib(pure_snap['size']), 'safe_to_manage': is_safe, 'reason_not_safe': reason_not_safe, 'cinder_id': cinder_id, 'extra_info': None, 'source_reference': {'name': pure_snap['source']}})
    return volume_utils.paginate_entries_list(manageable_snaps, marker, limit, offset, sort_keys, sort_dirs)
