From 81ac754c68de22a306702d26e266e98b0a057586 Mon Sep 17 00:00:00 2001 From: "Julian M. Kunkel" Date: Mon, 3 May 2021 18:46:00 +0200 Subject: [PATCH] Bugfix in AIORI-S3-libs3 to prevent name collisions. Also allow to output verification errors. --- src/aiori-S3-libs3.c | 6 ++++++ src/mdtest.c | 12 ++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/aiori-S3-libs3.c b/src/aiori-S3-libs3.c index 0d12805..98d5df9 100644 --- a/src/aiori-S3-libs3.c +++ b/src/aiori-S3-libs3.c @@ -92,6 +92,12 @@ static void def_file_name(s3_options_t * o, char * out_name, char const * path){ }else if(c == '/'){ *out_name = '_'; out_name++; + }else{ + // encode special characters + *out_name = 'a' + (c / 26); + out_name++; + *out_name = 'a' + (c % 26); + out_name++; } path++; } diff --git a/src/mdtest.c b/src/mdtest.c index dee3633..3c49a85 100644 --- a/src/mdtest.c +++ b/src/mdtest.c @@ -412,7 +412,11 @@ static void create_file (const char *path, uint64_t itemNum) { if (o.write_bytes != (size_t) o.backend->xfer(READ, aiori_fh, (IOR_size_t *) o.write_buffer, o.write_bytes, 0, o.backend_options)) { EWARNF("unable to verify write (read/back) file %s", curr_item); } - o.verification_error += verify_memory_pattern(itemNum, o.write_buffer, o.write_bytes, o.random_buffer_offset, rank, o.dataPacketType); + int error = verify_memory_pattern(itemNum, o.write_buffer, o.write_bytes, o.random_buffer_offset, rank, o.dataPacketType); + o.verification_error += error; + if(error){ + VERBOSE(1,1,"verification error in file: %s", curr_item); + } } } @@ -734,7 +738,11 @@ void mdtest_read(int random, int dirs, const long dir_iter, char *path) { if (o.shared_file) { pretend_rank = rank; } - o.verification_error += verify_memory_pattern(item_num, read_buffer, o.read_bytes, o.random_buffer_offset, pretend_rank, o.dataPacketType); + int error = verify_memory_pattern(item_num, read_buffer, o.read_bytes, o.random_buffer_offset, pretend_rank, o.dataPacketType); + o.verification_error += error; + if(error){ + VERBOSE(1,1,"verification error in file: %s", item); + } } }