struct obd_ioctl_data data;
IOCINIT(data);
- if (argc != 1)
+ if (argc < 2 || argc > 3)
return CMD_HELP;
- rc = ioctl(fd, OBD_IOC_RECOVD_NEWCONN, &data);
+ data.ioc_inllen1 = strlen(argv[1]) + 1;
+ data.ioc_inlbuf1 = argv[1];
+
+ if (argc == 3) {
+ data.ioc_inllen2 = strlen(argv[2]) + 1;
+ data.ioc_inlbuf2 = argv[2];
+ }
+
+ if (obd_ioctl_pack(&data, &buf, max)) {
+ fprintf(stderr, "error: %s: invalid ioctl\n", cmdname(argv[0]));
+ return -2;
+ }
+
+ rc = ioctl(fd, OBD_IOC_RECOVD_NEWCONN, buf);
if (rc < 0)
fprintf(stderr, "error: %s: %s\n", cmdname(argv[0]),
strerror(rc = errno));
{"destroy", jt_obd_destroy, 0, "destroy <id>"},
{"getattr", jt_obd_getattr, 0, "getattr <id>"},
{"setattr", jt_obd_setattr, 0, "setattr <id> <mode>"},
- {"newconn", jt_obd_newconn, 0, "newconn [newuuid]"},
+ {"newconn", jt_obd_newconn, 0, "newconn <olduuid> [newuuid]"},
{"test_getattr", jt_obd_test_getattr, 0, "test_getattr <count> [verbose [objid]]"},
{"test_brw", jt_obd_test_brw, 0, "test_brw <count> [write [verbose [pages [objid]]]]"},
{"test_ldlm", jt_obd_test_ldlm, 0, "test lock manager (no args)"},