From 693f7c5f609bbbddd84de054d6edd04a56b5c8d1 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 10 Feb 2017 17:35:23 -0500 Subject: [PATCH] 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 --- src/libostree/ostree-repo-pull.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) 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 {