]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: ceph-bluefs-tool fixes 8292/head
authorVenky Shankar <vshankar@redhat.com>
Thu, 24 Mar 2016 09:39:06 +0000 (15:09 +0530)
committerVenky Shankar <vshankar@redhat.com>
Thu, 24 Mar 2016 10:22:02 +0000 (15:52 +0530)
Couple of fixes:
- check vector size before using
- fix assert() failure after write_fd()

Fixes: #15261
Signed-off-by: Venky Shankar <vshankar@redhat.com>
src/os/bluestore/bluefs_tool.cc

index 02bcb2f614372dbf4f3f7a395dcb766e011d75ee..3738565917629e40ceb008a04100c733c5821874 100644 (file)
 
 #include "os/bluestore/BlueFS.h"
 
+void usage(char **argv)
+{
+  cout << argv[0] << " <outdir> <bdev[0..2]>" << std::endl;;
+}
+
 int main(int argc, char **argv)
 {
   vector<const char*> args;
@@ -29,6 +34,11 @@ int main(int argc, char **argv)
 
   BlueFS fs;
 
+  if (args.size() != 4) {
+    usage(argv);
+    exit(-1);
+  }
+
   cout << "args " << args << std::endl;
   string outdir = args[0];
   for (unsigned i = 1; i < args.size(); ++i) {
@@ -73,7 +83,7 @@ int main(int argc, char **argv)
          r = fs.read(h, &h->buf, pos, left, &bl, NULL);
          assert(r > 0);
          int rc = bl.write_fd(fd);
-         assert(rc == r);
+         assert(rc == 0);
          pos += r;
          left -= r;
        }