char *buf = rawbuf;
int max = 8192;
int thread;
+int rc = 0;
#define IOCINIT(data) \
do { \
else
verbose = (int) strtoul(arg, NULL, 0);
- printf("Verbose = %d\n",verbose);
+ if (verbose < 0)
+ printf("Print status every %d seconds\n", -verbose);
+ else if (verbose == 1)
+ printf("Print status every operation\n");
+ else if (verbose > 1)
+ printf("Print status every %d operations\n", verbose);
return verbose;
}
static int do_disconnect(char *func, int verbose)
{
struct obd_ioctl_data data;
- int rc;
if (connid == -1)
return 0;
static int jt_device(int argc, char **argv)
{
- int rc;
-
do_disconnect(argv[0], 1);
if (argc != 2) {
static int jt_connect(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
IOCINIT(data);
static int jt__device(int argc, char **argv)
{
char *arg2[3];
- int rc, ret;
+ int ret;
if (argc < 3) {
fprintf(stderr, "usage: %s devno <command [args ...]>\n",
int threads, next_thread;
int verbose;
int i, j;
- int rc;
if (argc < 5) {
fprintf(stderr,
static int jt_detach(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
IOCINIT(data);
static int jt_cleanup(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
IOCINIT(data);
static int jt_newdev(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
if (getfd(argv[0]))
return -1;
static int jt_attach(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
IOCINIT(data);
static int do_name2dev(char *func, char *name)
{
struct obd_ioctl_data data;
- int rc;
if (getfd(func))
return -1;
static int jt_name2dev(int argc, char **argv)
{
- int rc;
-
if (argc != 2) {
fprintf(stderr, "usage: %s name\n", cmdname(argv[0]));
return -1;
static int jt_setup(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
IOCINIT(data);
int count = 1, next_count;
int verbose;
int i;
- int rc;
IOCINIT(data);
if (argc < 2 || argc > 4) {
static int jt_setattr(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
IOCINIT(data);
if (argc != 2) {
static int jt_destroy(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
IOCINIT(data);
if (argc != 2) {
static int jt_getattr(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
if (argc != 2) {
fprintf(stderr, "usage: %s id\n", cmdname(argv[0]));
struct timeval start, next_time;
int i, count, next_count;
int verbose;
- int rc;
if (argc != 2 && argc != 3) {
fprintf(stderr, "usage: %s count [verbose]\n",cmdname(argv[0]));
int verbose = 1, write = 0, rw;
int i, o, p;
int len;
- int rc;
if (argc < 2 || argc > 6) {
fprintf(stderr,
data.ioc_plen1 = len;
data.ioc_pbuf1 = bulk;
if (obdos > 1) {
- data.ioc_obdo2.o_id = 2;
+ data.ioc_obdo2.o_id = 3;
data.ioc_plen2 = len;
data.ioc_pbuf2 = bulk + len;
}
* We will put in the start time (and loop count inside the loop)
* at the beginning of each page so that we will be able to validate
* (at some later time) whether the data actually made it or not.
+ *
+ * XXX we do not currently use any of this memory in OBD_IOC_BRW_*
+ * just to avoid the overhead of the copy_{to,from}_user. It
+ * can be fixed if we ever need to send real data around.
*/
for (o = 0, b = bulk; o < obdos; o++)
for (p = 0; p < pages; p++, b += PAGE_SIZE)
static int jt_test_ldlm(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
IOCINIT(data);
if (argc != 1) {
static int jt_newconn(int argc, char **argv)
{
struct obd_ioctl_data data;
- int rc;
IOCINIT(data);
if (argc != 1) {
return rc;
}
+static int jt_quit(int argc, char **argv)
+{
+ Parser_quit(argc, argv);
+
+ return rc;
+}
+
command_t cmdlist[] = {
/* Metacommands */
{"--device", jt__device, 0, "--device <devno> <command [args ...]>"},
/* User interface commands */
{"help", Parser_help, 0, "help"},
- {"exit", Parser_quit, 0, "quit"},
- {"quit", Parser_quit, 0, "quit"},
+ {"exit", jt_quit, 0, "quit"},
+ {"quit", jt_quit, 0, "quit"},
{ 0, 0, 0, NULL }
};
int main(int argc, char **argv)
{
struct sigaction sigact;
- int rc = 0;
sigact.sa_handler = signal_server;
sigfillset(&sigact.sa_mask);
rc = Parser_execarg(argc - 1, argv + 1, cmdlist);
} else {
Parser_init("obdctl > ", cmdlist);
- Parser_commands();
+ rc = Parser_commands();
}
do_disconnect(argv[0], 1);