Couple of fixes:
- check vector size before using
- fix assert() failure after write_fd()
Fixes: #15261
Signed-off-by: Venky Shankar <vshankar@redhat.com>
#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;
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) {
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;
}