X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=engines%2Fhttp.c;h=696febe15105784e505847ef2f12d6071c0bbd97;hb=b5f3adf9e1e40c7bdb76a9e433aa580f7eead740;hp=93fcd0d8e44a5528a4e36879bbd75af9afe9904e;hpb=aeb7ff8f54e68fa7a8c35ca8b4c0061de1063cf1;p=fio.git diff --git a/engines/http.c b/engines/http.c index 93fcd0d8..696febe1 100644 --- a/engines/http.c +++ b/engines/http.c @@ -273,6 +273,8 @@ static void _hmac(unsigned char *md, void *key, int key_len, char *data) { ctx = HMAC_CTX_new(); #else ctx = &_ctx; + /* work-around crash in certain versions of libssl */ + HMAC_CTX_init(ctx); #endif HMAC_Init_ex(ctx, key, key_len, EVP_sha256(), NULL); HMAC_Update(ctx, (unsigned char*)data, strlen(data)); @@ -294,7 +296,8 @@ static int _curl_trace(CURL *handle, curl_infotype type, switch (type) { case CURLINFO_TEXT: - fprintf(stderr, "== Info: %s", data); + fprintf(stderr, "== Info: %s", data); + fio_fallthrough; default: case CURLINFO_SSL_DATA_OUT: case CURLINFO_SSL_DATA_IN: @@ -385,7 +388,7 @@ static void _add_aws_auth_header(CURL *curl, struct curl_slist *slist, struct ht signature = _conv_hex(md, SHA256_DIGEST_LENGTH); - /* Surpress automatic Accept: header */ + /* Suppress automatic Accept: header */ slist = curl_slist_append(slist, "Accept:"); snprintf(s, sizeof(s), "x-amz-content-sha256: %s", dsha); @@ -416,7 +419,7 @@ static void _add_swift_header(CURL *curl, struct curl_slist *slist, struct http_ if (op == DDIR_WRITE) { dsha = _gen_hex_md5(buf, len); } - /* Surpress automatic Accept: header */ + /* Suppress automatic Accept: header */ slist = curl_slist_append(slist, "Accept:"); snprintf(s, sizeof(s), "etag: %s", dsha); @@ -635,10 +638,10 @@ static int fio_http_invalidate(struct thread_data *td, struct fio_file *f) return 0; } -static struct ioengine_ops ioengine = { +FIO_STATIC struct ioengine_ops ioengine = { .name = "http", .version = FIO_IOOPS_VERSION, - .flags = FIO_DISKLESSIO, + .flags = FIO_DISKLESSIO | FIO_SYNCIO, .setup = fio_http_setup, .queue = fio_http_queue, .getevents = fio_http_getevents,