]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
erasure-code: fix erasure_code_benchmark goop (decode) 2472/head
authorLoic Dachary <loic-201408@dachary.org>
Fri, 12 Sep 2014 15:36:35 +0000 (17:36 +0200)
committerLoic Dachary <loic-201408@dachary.org>
Fri, 12 Sep 2014 15:46:41 +0000 (17:46 +0200)
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 <loic-201408@dachary.org>
src/test/erasure-code/ceph_erasure_code_benchmark.cc

index 84bd7daa917e54a6652864eb6761454acd8faaaa..c6a4228bdc1e4a40f1fbf4fea120abc05bdf1809 100644 (file)
@@ -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());