X-Git-Url: http://git.vrable.net/?a=blobdiff_plain;f=bluesky%2Fstore-s3.c;h=00bace41c81254adf24c3341ac4c373b5f9abc47;hb=dddebb0ed8feb5ece494dbef1cb24ad2d4699b45;hp=4735de4bb57147b7f482b401983c780e61405fcb;hpb=21b992d479c38c68a173f7b9905babd0cc62fac0;p=bluesky.git diff --git a/bluesky/store-s3.c b/bluesky/store-s3.c index 4735de4..00bace4 100644 --- a/bluesky/store-s3.c +++ b/bluesky/store-s3.c @@ -102,8 +102,9 @@ static void s3store_task(gpointer a, gpointer s) handler.responseHandler.completeCallback = s3store_response_callback; handler.getObjectDataCallback = s3store_get_handler; - S3_get_object(&store->bucket, async->key, NULL, 0, 0, NULL, - &handler, &info); + S3_get_object(&store->bucket, async->key, NULL, + async->start, async->len, NULL, &handler, &info); + async->range_done = TRUE; if (info.success) { async->data = bluesky_string_new_from_gstring(info.buf); @@ -114,6 +115,7 @@ static void s3store_task(gpointer a, gpointer s) } else if (async->op == STORE_OP_PUT) { struct put_info info; + info.success = 0; info.val = async->data; info.offset = 0; @@ -126,7 +128,11 @@ static void s3store_task(gpointer a, gpointer s) S3_put_object(&store->bucket, async->key, async->data->len, NULL, NULL, &handler, &info); - async->result = 0; + if (info.success) { + async->result = 0; + } else { + g_warning("Error completing S3 put operation; client must retry!"); + } } bluesky_store_async_mark_complete(async);