'Disallow connection from connector.
Return empty data if other volumes are in the same zone.
The FibreChannel ZoneManager doesn\'t remove zones
if there isn\'t an initiator_target_map in the
return of terminate_connection.
:returns: data - the target_wwns and initiator_target_map if the
zone is to be removed, otherwise the same map with
an empty dict for the \'data\' key'

def terminate_connection_fc(self, volume, connector, **kwargs):

    eseries_vol = self._get_volume(volume['name_id'])
    initiators = [fczm_utils.get_formatted_wwn(wwpn) for wwpn in connector['wwpns']]
    host = self._get_host_with_matching_port(initiators)
    mappings = eseries_vol.get('listOfMappings', [])
    mapping = (mappings[0] if mappings else None)
    if (not mapping):
        raise eseries_exc.VolumeNotMapped(volume_id=volume['id'], host=host['label'])
    host_mapper.unmap_volume_from_host(self._client, volume, host, mapping)
    info = {'driver_volume_type': 'fibre_channel', 'data': {}}
    if (len(self._client.get_volume_mappings_for_host(host['hostRef'])) == 0):
        LOG.info('Need    to    remove    FC    Zone,    building    initiator    target    map.')
        initiator_info = self._build_initiator_target_map_fc(connector)
        (target_wwpns, initiator_target_map, num_paths) = initiator_info
        info['data'] = {'target_wwn': target_wwpns, 'initiator_target_map': initiator_target_map}
    return info
