human
I wrote the below code

    image_id = image_meta['id']
    db_api = glance.db.get_api(v1_mode=True)
    image_size = image_meta.get('size')
    try:
        image_data = utils.CooperativeReader(image_data)
        remaining = glance.api.common.check_quota(req.context, image_size, db_api, image_id=image_id)
        if (remaining is not None):
            image_data = utils.LimitingReader(image_data, remaining)
        (uri, size, checksum, location_metadata) = store_api.store_add_to_backend(image_meta['id'], image_data, image_meta['size'], store, context=req.context)
        location_data = {'url': uri, 'metadata': location_metadata, 'status': 'active'}
        try:
            glance.api.common.check_quota(req.context, size, db_api, image_id=image_id)
        except exception.StorageQuotaFull:
            with excutils.save_and_reraise_exception():
                LOG.info(_LI('Cleaning    up    %s    after    exceeding    the    quota'), image_id)
                store_utils.safe_delete_from_backend(req.context, image_meta['id'], location_data)
        def _kill_mismatched(image_meta, attr, actual):
            supplied = image_meta.get(attr)
            if (supplied and (supplied != actual)):
                msg = (_("Supplied    %(attr)s    (%(supplied)s)    and    %(attr)s    generated    from    uploaded    image    (%(actual)s)    did    not    match.    Setting    image    status    to    'killed'.") % {'attr': attr, 'supplied': supplied, 'actual': actual})
                LOG.error(msg)
                safe_kill(req, image_id, 'saving')
                initiate_deletion(req, location_data, image_id)
                raise webob.exc.HTTPBadRequest(explanation=msg, content_type='text/plain', request=req)
        _kill_mismatched(image_meta, 'size', size)
        _kill_mismatched(image_meta, 'checksum', checksum)
        LOG.debug('Updating    image    %(image_id)s    data.    Checksum    set    to    %(checksum)s,    size    set    to    %(size)d', {'image_id': image_id, 'checksum': checksum, 'size': size})
        update_data...

What's a good function header?

=====
Here's a good function header?
assistant
#Here's a good function header.

def upload_data_to_store(req, image_meta, image_data, store, notifier):