From: Colin Walters Date: Fri, 10 Feb 2017 22:35:23 +0000 (-0500) Subject: pull: Explicitly error out if metadata objects are fallbacks X-Git-Tag: archive/raspbian/2022.1-3+rpi1~1^2~4^2~40^2~32 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=693f7c5f609bbbddd84de054d6edd04a56b5c8d1;p=ostree.git pull: Explicitly error out if metadata objects are fallbacks I don't know why I added support for this; it makes no sense really. If we have large metadata objects something has gone badly wrong. The delta compiler has always only processed fallbacks for regular content files. Dropping support in the fetcher for this will simplify later handling of fallback progress accounting. Closes: #678 Approved by: giuseppe --- diff --git a/src/libostree/ostree-repo-pull.c b/src/libostree/ostree-repo-pull.c index 129e25da..6246011f 100644 --- a/src/libostree/ostree-repo-pull.c +++ b/src/libostree/ostree-repo-pull.c @@ -1618,19 +1618,14 @@ process_one_static_delta_fallback (OtPullData *pull_data, } if (!is_stored) - { + { + /* The delta compiler never did this, there's no reason to support it */ if (OSTREE_OBJECT_TYPE_IS_META (objtype)) { - g_autoptr(GVariant) objname = ostree_object_name_serialize (checksum, objtype); - if (!g_hash_table_lookup (pull_data->requested_metadata, objname)) - { - gboolean do_fetch_detached; - g_hash_table_add (pull_data->requested_metadata, g_variant_ref (objname)); - - do_fetch_detached = (objtype == OSTREE_OBJECT_TYPE_COMMIT); - enqueue_one_object_request (pull_data, checksum, objtype, NULL, do_fetch_detached, FALSE); - checksum = NULL; /* Transfer ownership */ - } + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, + "Found metadata object as fallback: %s.%s", checksum, + ostree_object_type_to_string (objtype)); + goto out; } else {