cmdname(argv[0]), argv[2]);
return CMD_HELP;
}
+ if (!(mode & S_IFMT))
+ mode |= S_IFREG;
}
if (argc > 3) {
for (i = 1, next_count = verbose; i <= count; i++) {
data.ioc_obdo1.o_mode = mode;
- data.ioc_obdo1.o_valid = OBD_MD_FLMODE;
+ data.ioc_obdo1.o_id = i;
+ data.ioc_obdo1.o_valid = OBD_MD_FLTYPE | OBD_MD_FLMODE |
+ OBD_MD_FLID;
rc = ioctl(fd, OBD_IOC_CREATE, &data);
SHMEM_BUMP();
cmdname(argv[0]), argv[2]);
return CMD_HELP;
}
- data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLMODE;
+ data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
rc = ioctl(fd, OBD_IOC_SETATTR, &data);
if (rc < 0)
}
if (argc >= 4) {
- if (argv[3][0] == 't')
- objid = strtoull(argv[3] + 1, &end, 0) + thread - 1;
- else
+ if (argv[3][0] == 't') {
+ objid = strtoull(argv[3] + 1, &end, 0);
+ if (thread)
+ objid += thread - 1;
+ } else
objid = strtoull(argv[3], &end, 0);
if (*end) {
fprintf(stderr, "error: %s: invalid objid '%s'\n",
for (i = 1, next_count = verbose; i <= count; i++) {
data.ioc_obdo1.o_id = objid;
+ data.ioc_obdo1.o_mode = S_IFREG;
data.ioc_obdo1.o_valid = 0xffffffff;
rc = ioctl(fd, OBD_IOC_GETATTR, &data);
SHMEM_BUMP();
/* make each thread write to a different offset */
if (argv[1][0] == 't') {
- thr_offset = thread - 1;
count = strtoull(argv[1] + 1, &end, 0);
+ if (thread)
+ thr_offset = thread - 1;
} else
count = strtoull(argv[1], &end, 0);
}
}
if (argc >= 6) {
- if (argv[5][0] == 't')
- objid = strtoull(argv[5] + 1, &end, 0) + thread - 1;
- else
+ if (argv[5][0] == 't') {
+ objid = strtoull(argv[5] + 1, &end, 0);
+ if (thread)
+ objid += thread - 1;
+ } else
objid = strtoull(argv[5], &end, 0);
if (*end) {
fprintf(stderr, "error: %s: bad objid '%s'\n",
IOCINIT(data);
data.ioc_obdo1.o_id = objid;
data.ioc_obdo1.o_mode = S_IFREG;
- data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLMODE;
+ data.ioc_obdo1.o_valid = OBD_MD_FLID | OBD_MD_FLTYPE | OBD_MD_FLMODE;
data.ioc_count = len;
data.ioc_offset = thr_offset * len * count;
cmdname(argv[0]), i, strerror(rc = errno),
write ? "write" : "read");
break;
- } else if (be_verbose
- (verbose, &next_time, i, &next_count, count))
+ } else if (be_verbose(verbose, &next_time,i, &next_count,count))
printf("%s: %s number %dx%d\n", cmdname(argv[0]),
write ? "write" : "read", i, pages);
desc.ld_tgt_count);
return -EINVAL;
}
- if (desc.ld_default_stripe_count == 0) {
- fprintf(stderr, "error: %s: stripe count is zero\n",
- cmdname(argv[0]));
- return -EINVAL;
- }
+ if (desc.ld_default_stripe_count == 0)
+ desc.ld_default_stripe_count = desc.ld_tgt_count;
+
desc.ld_default_stripe_size = strtoul(argv[3], &end, 0);
if (*end) {
fprintf(stderr, "error: %s: bad default stripe size '%s'\n",