Lines Matching refs:io_opts
460 struct camdd_dev *camdd_probe_file(int fd, struct camdd_io_opts *io_opts,
463 struct camdd_io_opts *io_opts,
493 int camdd_rw(struct camdd_io_opts *io_opts, camdd_argmask arglist,
496 struct camdd_io_opts *io_opts);
1021 camdd_probe_file(int fd, struct camdd_io_opts *io_opts, int retry_count, in camdd_probe_file() argument
1026 uint64_t blocksize = io_opts->blocksize; in camdd_probe_file()
1034 strlcpy(file_dev->filename, io_opts->dev_name, in camdd_probe_file()
1036 strlcpy(dev->device_name, io_opts->dev_name, sizeof(dev->device_name)); in camdd_probe_file()
1042 if ((io_opts->queue_depth != 0) in camdd_probe_file()
1043 && (io_opts->queue_depth != 1)) { in camdd_probe_file()
1045 "command supported", (uintmax_t)io_opts->queue_depth, in camdd_probe_file()
1046 io_opts->dev_name); in camdd_probe_file()
1213 if ((io_opts->offset != 0) in camdd_probe_file()
1216 io_opts->offset, io_opts->dev_name, io_opts->dev_name); in camdd_probe_file()
1220 else if ((io_opts->offset != 0) in camdd_probe_file()
1221 && ((io_opts->offset % dev->sector_size) != 0)) { in camdd_probe_file()
1223 "sector size %u", io_opts->offset, in camdd_probe_file()
1224 io_opts->dev_name, dev->sector_size); in camdd_probe_file()
1227 dev->start_offset_bytes = io_opts->offset; in camdd_probe_file()
1451 camdd_probe_pass(struct cam_device *cam_dev, struct camdd_io_opts *io_opts, in camdd_probe_pass() argument
1599 if (io_opts->blocksize != 0) { in camdd_probe_pass()
1600 if ((io_opts->blocksize % dev->sector_size) != 0) { in camdd_probe_pass()
1602 "sector size %u", (uintmax_t)io_opts->blocksize, in camdd_probe_pass()
1606 dev->blocksize = io_opts->blocksize; in camdd_probe_pass()
1609 if (io_opts->queue_depth != 0) in camdd_probe_pass()
1610 dev->target_queue_depth = io_opts->queue_depth; in camdd_probe_pass()
1612 if (io_opts->offset != 0) { in camdd_probe_pass()
1613 if (io_opts->offset > (dev->max_sector * dev->sector_size)) { in camdd_probe_pass()
1615 io_opts->offset, dev->device_name); in camdd_probe_pass()
1619 else if ((io_opts->offset % dev->sector_size) != 0) { in camdd_probe_pass()
1621 "sector size %u", io_opts->offset, in camdd_probe_pass()
1625 dev->start_offset_bytes = io_opts->offset; in camdd_probe_pass()
1629 dev->min_cmd_size = io_opts->min_cmd_size; in camdd_probe_pass()
3197 camdd_rw(struct camdd_io_opts *io_opts, camdd_argmask arglist, int num_io_opts, argument
3217 switch (io_opts[i].dev_type) {
3219 if (isdigit(io_opts[i].dev_name[0])) {
3224 rv = parse_btl(io_opts[i].dev_name, &bus,
3242 if (cam_get_device(io_opts[i].dev_name, name,
3259 /*io_opts*/ &io_opts[i],
3277 if (io_opts[i].dev_name[0] == '-') {
3278 if (io_opts[i].write_dev != 0)
3283 if (io_opts[i].write_dev != 0) {
3284 fd = open(io_opts[i].dev_name,
3287 fd = open(io_opts[i].dev_name,
3293 io_opts[i].dev_name);
3298 devs[i] = camdd_probe_file(fd, &io_opts[i],
3309 io_opts[i].dev_type, io_opts[i].dev_name);
3315 devs[i]->write_dev = io_opts[i].write_dev;
3317 devs[i]->start_offset_bytes = io_opts[i].offset;
3426 camdd_parse_io_opts(char *args, int is_write, struct camdd_io_opts *io_opts) argument
3432 io_opts->write_dev = is_write;
3465 io_opts->dev_type = CAMDD_DEV_FILE;
3466 io_opts->dev_name = strdup(value);
3467 if (io_opts->dev_name == NULL) {
3473 io_opts->dev_type = CAMDD_DEV_PASS;
3474 io_opts->dev_name = strdup(value);
3475 if (io_opts->dev_name == NULL) {
3482 retval = expand_number(value, &io_opts->blocksize);
3492 io_opts->queue_depth = strtoull(value, &endptr, 0);
3501 io_opts->min_cmd_size = strtol(value, &endptr, 0);
3503 || ((io_opts->min_cmd_size > 16)
3504 || (io_opts->min_cmd_size < 0))) {
3510 retval = expand_number(value, &io_opts->offset);
3520 io_opts->debug = strtoull(value, &endptr, 0);