]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph: propagate do_command()'s return value to user space
authorJoao Eduardo Luis <joao.luis@inktank.com>
Thu, 28 Mar 2013 02:07:18 +0000 (02:07 +0000)
committerSage Weil <sage@inktank.com>
Thu, 28 Mar 2013 22:26:37 +0000 (15:26 -0700)
We were returning '1' regardless of what do_command() returned in case
of error.  This would make building tools relying on command error codes
short of useless, and forced them to rely instead on error messages.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Reviewed-by: Dan Mick <dan.mick@inktank.com>
(cherry picked from commit e91405d540ce11b9996e4977212553bd33afb3ed)

src/tools/ceph.cc

index d17c2426c94df2bd7e080c99123c1d68ca87edcb..d1d50794c5ee1fd74387fbd67d1809c380045c57 100644 (file)
@@ -337,8 +337,9 @@ int main(int argc, const char **argv)
          }
 
          bufferlist obl;
-         if (do_command(ctx, cmd, indata, obl) < 0) {
-           ret = 1;
+         ret = do_command(ctx, cmd, indata, obl);
+         if (ret < 0) {
+           ret = -ret;
            break;
          }
          outbl.claim(obl);