From: Loic Dachary Date: Thu, 11 Sep 2014 20:07:33 +0000 (+0200) Subject: erasure-code: fix erasure_code_benchmark goop X-Git-Tag: v0.86~85^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F2464%2Fhead;p=ceph.git erasure-code: fix erasure_code_benchmark goop 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. http://tracker.ceph.com/issues/9429 Fixes: #9429 Signed-off-by: Loic Dachary --- diff --git a/src/test/erasure-code/ceph_erasure_code_benchmark.cc b/src/test/erasure-code/ceph_erasure_code_benchmark.cc index 008e4331abb15..84bd7daa917e5 100644 --- a/src/test/erasure-code/ceph_erasure_code_benchmark.cc +++ b/src/test/erasure-code/ceph_erasure_code_benchmark.cc @@ -124,9 +124,12 @@ int ErasureCodeBench::encode() { 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());