From ce7b2ecc75441b9cbf339188dbe24b3cf54b7c46 Mon Sep 17 00:00:00 2001 From: Loic Dachary Date: Fri, 12 Sep 2014 17:36:35 +0200 Subject: [PATCH] erasure-code: fix erasure_code_benchmark goop (decode) Using a stringstream that is only displayed on error when calling the erasure code factory, instead of cerr. The user expects the output to be clean when there is no error. That was done for the encode function but not the decode function. http://tracker.ceph.com/issues/9429 Fixes: #9429 Signed-off-by: Loic Dachary --- src/test/erasure-code/ceph_erasure_code_benchmark.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/test/erasure-code/ceph_erasure_code_benchmark.cc b/src/test/erasure-code/ceph_erasure_code_benchmark.cc index 84bd7daa917..c6a4228bdc1 100644 --- a/src/test/erasure-code/ceph_erasure_code_benchmark.cc +++ b/src/test/erasure-code/ceph_erasure_code_benchmark.cc @@ -164,9 +164,12 @@ int ErasureCodeBench::decode() { ErasureCodePluginRegistry &instance = ErasureCodePluginRegistry::instance(); ErasureCodeInterfaceRef erasure_code; - int code = instance.factory(plugin, parameters, &erasure_code, cerr); - if (code) + stringstream messages; + int code = instance.factory(plugin, parameters, &erasure_code, messages); + if (code) { + cerr << messages.str() << endl; return code; + } int k = atoi(parameters["k"].c_str()); int m = atoi(parameters["m"].c_str());