summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2017-02-10 17:35:23 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2017-02-17 14:58:25 +0000
commit693f7c5f609bbbddd84de054d6edd04a56b5c8d1 (patch)
treed729c723472af27fd91a9891e2d4b15be9ae2529
parente1118e320d6c71a9b678b1dee395687889d51422 (diff)
downloadostree-693f7c5f609bbbddd84de054d6edd04a56b5c8d1.tar.gz
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
-rw-r--r--src/libostree/ostree-repo-pull.c17
1 files 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
{