Lines Matching refs:qdev

99     SCSIDevice qdev;  member
145 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_init_iovec()
149 r->iov.iov_base = blk_blockalign(s->qdev.conf.blk, r->buflen); in scsi_init_iovec()
175 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_disk_emulate_save_request()
207 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_disk_emulate_load_request()
224 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_handle_rw_error()
297 action = blk_get_error_action(s->qdev.conf.blk, is_read, error); in scsi_handle_rw_error()
298 blk_error_action(s->qdev.conf.blk, action, is_read, error); in scsi_handle_rw_error()
304 block_acct_failed(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_handle_rw_error()
347 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_aio_complete()
359 block_acct_done(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_aio_complete()
410 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_dma_complete()
417 block_acct_failed(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_dma_complete()
419 block_acct_done(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_dma_complete()
448 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_read_complete()
455 block_acct_failed(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_read_complete()
457 block_acct_done(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_read_complete()
466 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_do_read()
478 dma_acct_start(s->qdev.conf.blk, &r->acct, r->req.sg, BLOCK_ACCT_READ); in scsi_do_read()
486 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, in scsi_do_read()
499 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_do_read_cb()
505 block_acct_failed(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_do_read_cb()
507 block_acct_done(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_do_read_cb()
516 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_read_data()
545 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, 0, in scsi_read_data()
547 r->req.aiocb = blk_aio_flush(s->qdev.conf.blk, scsi_do_read_cb, r); in scsi_read_data()
583 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_write_complete()
590 block_acct_failed(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_write_complete()
592 block_acct_done(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_write_complete()
600 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_write_data()
628 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, 0, in scsi_write_data()
631 r->req.aiocb = blk_aio_flush(s->qdev.conf.blk, cb, r); in scsi_write_data()
636 dma_acct_start(s->qdev.conf.blk, &r->acct, r->req.sg, BLOCK_ACCT_WRITE); in scsi_write_data()
643 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, in scsi_write_data()
660 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_disk_emulate_vpd_page()
664 outbuf[buflen++] = s->qdev.type & 0x1f; in scsi_disk_emulate_vpd_page()
679 if (s->qdev.type == TYPE_DISK) { in scsi_disk_emulate_vpd_page()
721 if (s->qdev.wwn) { in scsi_disk_emulate_vpd_page()
726 stq_be_p(&outbuf[buflen], s->qdev.wwn); in scsi_disk_emulate_vpd_page()
730 if (s->qdev.port_wwn) { in scsi_disk_emulate_vpd_page()
735 stq_be_p(&outbuf[buflen], s->qdev.port_wwn); in scsi_disk_emulate_vpd_page()
756 if (s->qdev.type == TYPE_ROM) { in scsi_disk_emulate_vpd_page()
762 s->qdev.conf.discard_granularity / s->qdev.blocksize; in scsi_disk_emulate_vpd_page()
764 s->qdev.conf.min_io_size / s->qdev.blocksize; in scsi_disk_emulate_vpd_page()
766 s->qdev.conf.opt_io_size / s->qdev.blocksize; in scsi_disk_emulate_vpd_page()
768 s->max_unmap_size / s->qdev.blocksize; in scsi_disk_emulate_vpd_page()
770 s->max_io_size / s->qdev.blocksize; in scsi_disk_emulate_vpd_page()
774 if (s->qdev.type == TYPE_DISK) { in scsi_disk_emulate_vpd_page()
775 int max_transfer_blk = blk_get_max_transfer(s->qdev.conf.blk); in scsi_disk_emulate_vpd_page()
777 max_transfer_blk / s->qdev.blocksize; in scsi_disk_emulate_vpd_page()
800 outbuf[6] = s->qdev.conf.discard_granularity ? 2 : 1; in scsi_disk_emulate_vpd_page()
815 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_disk_emulate_inquiry()
834 outbuf[0] = s->qdev.type & 0x1f; in scsi_disk_emulate_inquiry()
848 outbuf[2] = s->qdev.default_scsi_version; in scsi_disk_emulate_inquiry()
867 if (s->qdev.type != TYPE_ROM) { in media_is_dvd()
870 if (!blk_is_available(s->qdev.conf.blk)) { in media_is_dvd()
873 blk_get_geometry(s->qdev.conf.blk, &nb_sectors); in media_is_dvd()
880 if (s->qdev.type != TYPE_ROM) { in media_is_cd()
883 if (!blk_is_available(s->qdev.conf.blk)) { in media_is_cd()
886 blk_get_geometry(s->qdev.conf.blk, &nb_sectors); in media_is_cd()
895 if (s->qdev.type != TYPE_ROM) { in scsi_read_disc_information()
938 if (s->qdev.type != TYPE_ROM) { in scsi_read_dvd_structure()
947 if (!blk_is_available(s->qdev.conf.blk)) { in scsi_read_dvd_structure()
969 blk_get_geometry(s->qdev.conf.blk, &nb_sectors); in scsi_read_dvd_structure()
1024 } else if (blk_is_inserted(s->qdev.conf.blk)) { in scsi_event_status_media()
1055 if (s->qdev.type != TYPE_ROM) { in scsi_get_event_status_notification()
1080 if (s->qdev.type != TYPE_ROM) { in scsi_get_configuration()
1120 if (s->qdev.type != TYPE_ROM) { in scsi_emulate_mechanism_status()
1146 if ((mode_sense_valid[page] & (1 << s->qdev.type)) == 0) { in mode_sense_page()
1169 p[0] = (s->qdev.conf.cyls >> 16) & 0xff; in mode_sense_page()
1170 p[1] = (s->qdev.conf.cyls >> 8) & 0xff; in mode_sense_page()
1171 p[2] = s->qdev.conf.cyls & 0xff; in mode_sense_page()
1172 p[3] = s->qdev.conf.heads & 0xff; in mode_sense_page()
1174 p[4] = (s->qdev.conf.cyls >> 16) & 0xff; in mode_sense_page()
1175 p[5] = (s->qdev.conf.cyls >> 8) & 0xff; in mode_sense_page()
1176 p[6] = s->qdev.conf.cyls & 0xff; in mode_sense_page()
1178 p[7] = (s->qdev.conf.cyls >> 16) & 0xff; in mode_sense_page()
1179 p[8] = (s->qdev.conf.cyls >> 8) & 0xff; in mode_sense_page()
1180 p[9] = s->qdev.conf.cyls & 0xff; in mode_sense_page()
1202 p[2] = s->qdev.conf.heads & 0xff; in mode_sense_page()
1203 p[3] = s->qdev.conf.secs & 0xff; in mode_sense_page()
1204 p[4] = s->qdev.blocksize >> 8; in mode_sense_page()
1205 p[6] = (s->qdev.conf.cyls >> 8) & 0xff; in mode_sense_page()
1206 p[7] = s->qdev.conf.cyls & 0xff; in mode_sense_page()
1208 p[8] = (s->qdev.conf.cyls >> 8) & 0xff; in mode_sense_page()
1209 p[9] = s->qdev.conf.cyls & 0xff; in mode_sense_page()
1211 p[10] = (s->qdev.conf.cyls >> 8) & 0xff; in mode_sense_page()
1212 p[11] = s->qdev.conf.cyls & 0xff; in mode_sense_page()
1233 blk_enable_write_cache(s->qdev.conf.blk)) { in mode_sense_page()
1241 if (s->qdev.type == TYPE_ROM) { in mode_sense_page()
1248 if (s->qdev.type == TYPE_ROM) { in mode_sense_page()
1303 if (s->qdev.type == TYPE_DISK && (s->quirks & in mode_sense_page()
1331 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_disk_emulate_mode_sense()
1347 if (s->qdev.type == TYPE_DISK) { in scsi_disk_emulate_mode_sense()
1349 if (!blk_is_writable(s->qdev.conf.blk)) { in scsi_disk_emulate_mode_sense()
1388 blk_get_geometry(s->qdev.conf.blk, &nb_sectors); in scsi_disk_emulate_mode_sense()
1395 nb_sectors /= (s->qdev.blocksize / BDRV_SECTOR_SIZE); in scsi_disk_emulate_mode_sense()
1405 p[6] = s->qdev.blocksize >> 8; in scsi_disk_emulate_mode_sense()
1444 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_disk_emulate_read_toc()
1451 blk_get_geometry(s->qdev.conf.blk, &nb_sectors); in scsi_disk_emulate_read_toc()
1453 nb_sectors /= s->qdev.blocksize / BDRV_SECTOR_SIZE; in scsi_disk_emulate_read_toc()
1478 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_disk_emulate_start_stop()
1491 blk_is_inserted(s->qdev.conf.blk) in scsi_disk_emulate_start_stop()
1498 blk_eject(s->qdev.conf.blk, !start); in scsi_disk_emulate_start_stop()
1570 blk_set_enable_write_cache(s->qdev.conf.blk, (p[0] & 4) != 0); in scsi_disk_apply_mode_select()
1580 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in mode_select_pages()
1639 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_disk_emulate_mode_select()
1680 if (bs && !(bs & ~0xfe00) && bs != s->qdev.blocksize) { in scsi_disk_emulate_mode_select()
1681 s->qdev.blocksize = bs; in scsi_disk_emulate_mode_select()
1682 trace_scsi_disk_mode_select_set_blocksize(s->qdev.blocksize); in scsi_disk_emulate_mode_select()
1696 if (!blk_enable_write_cache(s->qdev.conf.blk)) { in scsi_disk_emulate_mode_select()
1699 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, 0, in scsi_disk_emulate_mode_select()
1701 r->req.aiocb = blk_aio_flush(s->qdev.conf.blk, scsi_aio_complete, r); in scsi_disk_emulate_mode_select()
1734 sector_num + nb_sectors <= s->qdev.max_lba + 1); in check_lba_range()
1748 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_unmap_complete_noio()
1755 r->sector = sector_num * (s->qdev.blocksize / BDRV_SECTOR_SIZE); in scsi_unmap_complete_noio()
1756 r->sector_count = nb_sectors * (s->qdev.blocksize / BDRV_SECTOR_SIZE); in scsi_unmap_complete_noio()
1759 block_acct_invalid(blk_get_stats(s->qdev.conf.blk), in scsi_unmap_complete_noio()
1765 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, in scsi_unmap_complete_noio()
1769 r->req.aiocb = blk_aio_pdiscard(s->qdev.conf.blk, in scsi_unmap_complete_noio()
1789 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_unmap_complete()
1798 block_acct_done(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_unmap_complete()
1805 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_disk_emulate_unmap()
1828 if (!blk_is_writable(s->qdev.conf.blk)) { in scsi_disk_emulate_unmap()
1829 block_acct_invalid(blk_get_stats(s->qdev.conf.blk), BLOCK_ACCT_UNMAP); in scsi_disk_emulate_unmap()
1845 block_acct_invalid(blk_get_stats(s->qdev.conf.blk), BLOCK_ACCT_UNMAP); in scsi_disk_emulate_unmap()
1850 block_acct_invalid(blk_get_stats(s->qdev.conf.blk), BLOCK_ACCT_UNMAP); in scsi_disk_emulate_unmap()
1866 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_write_same_complete()
1875 block_acct_done(blk_get_stats(s->qdev.conf.blk), &r->acct); in scsi_write_same_complete()
1882 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, in scsi_write_same_complete()
1887 r->req.aiocb = blk_aio_pwritev(s->qdev.conf.blk, in scsi_write_same_complete()
1905 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_disk_emulate_write_same()
1917 if (!blk_is_writable(s->qdev.conf.blk)) { in scsi_disk_emulate_write_same()
1926 if ((req->cmd.buf[1] & 0x1) || buffer_is_zero(inbuf, s->qdev.blocksize)) { in scsi_disk_emulate_write_same()
1931 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, in scsi_disk_emulate_write_same()
1932 nb_sectors * s->qdev.blocksize, in scsi_disk_emulate_write_same()
1934 r->req.aiocb = blk_aio_pwrite_zeroes(s->qdev.conf.blk, in scsi_disk_emulate_write_same()
1935 r->req.cmd.lba * s->qdev.blocksize, in scsi_disk_emulate_write_same()
1936 nb_sectors * s->qdev.blocksize, in scsi_disk_emulate_write_same()
1943 data->sector = r->req.cmd.lba * (s->qdev.blocksize / BDRV_SECTOR_SIZE); in scsi_disk_emulate_write_same()
1944 data->nb_sectors = nb_sectors * (s->qdev.blocksize / BDRV_SECTOR_SIZE); in scsi_disk_emulate_write_same()
1947 data->iov.iov_base = buf = blk_blockalign(s->qdev.conf.blk, in scsi_disk_emulate_write_same()
1952 l = MIN(s->qdev.blocksize, data->iov.iov_len - i); in scsi_disk_emulate_write_same()
1957 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, in scsi_disk_emulate_write_same()
1959 r->req.aiocb = blk_aio_pwritev(s->qdev.conf.blk, in scsi_disk_emulate_write_same()
2013 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_disk_emulate_command()
2035 if (!blk_is_available(s->qdev.conf.blk)) { in scsi_disk_emulate_command()
2056 r->iov.iov_base = blk_blockalign(s->qdev.conf.blk, r->buflen); in scsi_disk_emulate_command()
2063 assert(blk_is_available(s->qdev.conf.blk)); in scsi_disk_emulate_command()
2111 blk_lock_medium(s->qdev.conf.blk, req->cmd.buf[4] & 1); in scsi_disk_emulate_command()
2116 blk_get_geometry(s->qdev.conf.blk, &nb_sectors); in scsi_disk_emulate_command()
2124 nb_sectors /= s->qdev.blocksize / BDRV_SECTOR_SIZE; in scsi_disk_emulate_command()
2128 s->qdev.max_lba = nb_sectors; in scsi_disk_emulate_command()
2139 outbuf[6] = s->qdev.blocksize >> 8; in scsi_disk_emulate_command()
2185 blk_get_geometry(s->qdev.conf.blk, &nb_sectors); in scsi_disk_emulate_command()
2193 nb_sectors /= s->qdev.blocksize / BDRV_SECTOR_SIZE; in scsi_disk_emulate_command()
2197 s->qdev.max_lba = nb_sectors; in scsi_disk_emulate_command()
2208 outbuf[10] = s->qdev.blocksize >> 8; in scsi_disk_emulate_command()
2211 outbuf[13] = get_physical_block_exp(&s->qdev.conf); in scsi_disk_emulate_command()
2214 if (s->qdev.conf.discard_granularity) { in scsi_disk_emulate_command()
2226 block_acct_start(blk_get_stats(s->qdev.conf.blk), &r->acct, 0, in scsi_disk_emulate_command()
2228 r->req.aiocb = blk_aio_flush(s->qdev.conf.blk, scsi_aio_complete, r); in scsi_disk_emulate_command()
2232 if (r->req.cmd.lba > s->qdev.max_lba) { in scsi_disk_emulate_command()
2298 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_disk_dma_command()
2305 if (!blk_is_available(s->qdev.conf.blk)) { in scsi_disk_dma_command()
2321 if (s->qdev.scsi_version > 2 && (r->req.cmd.buf[1] & 0xe0)) { in scsi_disk_dma_command()
2327 r->sector = r->req.cmd.lba * (s->qdev.blocksize / BDRV_SECTOR_SIZE); in scsi_disk_dma_command()
2328 r->sector_count = len * (s->qdev.blocksize / BDRV_SECTOR_SIZE); in scsi_disk_dma_command()
2337 if (!blk_is_writable(s->qdev.conf.blk)) { in scsi_disk_dma_command()
2352 if (s->qdev.scsi_version > 2 && (r->req.cmd.buf[1] & 0xe0)) { in scsi_disk_dma_command()
2358 r->sector = r->req.cmd.lba * (s->qdev.blocksize / BDRV_SECTOR_SIZE); in scsi_disk_dma_command()
2359 r->sector_count = len * (s->qdev.blocksize / BDRV_SECTOR_SIZE); in scsi_disk_dma_command()
2384 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev.qdev, dev); in scsi_disk_reset()
2387 scsi_device_purge_requests(&s->qdev, SENSE_CODE(RESET)); in scsi_disk_reset()
2389 blk_get_geometry(s->qdev.conf.blk, &nb_sectors); in scsi_disk_reset()
2391 nb_sectors /= s->qdev.blocksize / BDRV_SECTOR_SIZE; in scsi_disk_reset()
2395 s->qdev.max_lba = nb_sectors; in scsi_disk_reset()
2400 s->qdev.scsi_version = s->qdev.default_scsi_version; in scsi_disk_reset()
2407 scsi_device_drained_begin(&s->qdev); in scsi_disk_drained_begin()
2414 scsi_device_drained_end(&s->qdev); in scsi_disk_drained_end()
2424 if (s->qdev.type == TYPE_DISK) { in scsi_disk_resize_cb()
2425 scsi_device_report_change(&s->qdev, SENSE_CODE(CAPACITY_CHANGED)); in scsi_disk_resize_cb()
2445 scsi_device_set_ua(&s->qdev, SENSE_CODE(UNIT_ATTENTION_NO_MEDIUM)); in scsi_cd_change_media_cb()
2488 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev); in scsi_disk_unit_attention_reported()
2491 scsi_device_set_ua(&s->qdev, SENSE_CODE(MEDIUM_CHANGED)); in scsi_disk_unit_attention_reported()
2497 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev); in scsi_realize()
2500 if (!s->qdev.conf.blk) { in scsi_realize()
2506 !blk_is_inserted(s->qdev.conf.blk)) { in scsi_realize()
2511 if (!blkconf_blocksizes(&s->qdev.conf, errp)) { in scsi_realize()
2515 if (blk_get_aio_context(s->qdev.conf.blk) != qemu_get_aio_context() && in scsi_realize()
2516 !s->qdev.hba_supports_iothread) in scsi_realize()
2528 read_only = !blk_supports_write_perm(s->qdev.conf.blk); in scsi_realize()
2538 if (s->qdev.conf.discard_granularity == -1) { in scsi_realize()
2539 s->qdev.conf.discard_granularity = in scsi_realize()
2540 MAX(s->qdev.conf.logical_block_size, DEFAULT_DISCARD_GRANULARITY); in scsi_realize()
2564 const char *str = blk_name(s->qdev.conf.blk); in scsi_realize()
2571 if (blk_is_sg(s->qdev.conf.blk)) { in scsi_realize()
2578 blk_set_dev_ops(s->qdev.conf.blk, &scsi_disk_removable_block_ops, s); in scsi_realize()
2580 blk_set_dev_ops(s->qdev.conf.blk, &scsi_disk_block_ops, s); in scsi_realize()
2583 blk_iostatus_enable(s->qdev.conf.blk); in scsi_realize()
2585 add_boot_device_lchs(&dev->qdev, NULL, in scsi_realize()
2593 del_boot_device_lchs(&dev->qdev, NULL); in scsi_unrealize()
2598 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev); in scsi_hd_realize()
2603 if (s->qdev.conf.blk) { in scsi_hd_realize()
2604 if (!blkconf_blocksizes(&s->qdev.conf, errp)) { in scsi_hd_realize()
2608 s->qdev.blocksize = s->qdev.conf.logical_block_size; in scsi_hd_realize()
2609 s->qdev.type = TYPE_DISK; in scsi_hd_realize()
2613 scsi_realize(&s->qdev, errp); in scsi_hd_realize()
2618 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev); in scsi_cd_realize()
2626 ret = blk_attach_dev(dev->conf.blk, &dev->qdev); in scsi_cd_realize()
2634 s->qdev.blocksize = blocksize; in scsi_cd_realize()
2635 s->qdev.type = TYPE_ROM; in scsi_cd_realize()
2640 scsi_realize(&s->qdev, errp); in scsi_cd_realize()
2720 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, d); in scsi_new_request()
2730 req = scsi_req_alloc(ops, &s->qdev, tag, lun, hba_private); in scsi_new_request()
2751 ret = scsi_SG_IO_FROM_DEV(s->qdev.conf.blk, cmd, sizeof(cmd), in get_device_type()
2752 buf, sizeof(buf), s->qdev.io_timeout); in get_device_type()
2756 s->qdev.type = buf[0]; in get_device_type()
2765 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev); in scsi_block_realize()
2769 if (!s->qdev.conf.blk) { in scsi_block_realize()
2781 rc = blk_ioctl(s->qdev.conf.blk, SG_GET_VERSION_NUM, &sg_version); in scsi_block_realize()
2805 if (s->qdev.type == TYPE_ROM || s->qdev.type == TYPE_WORM) { in scsi_block_realize()
2806 s->qdev.blocksize = 2048; in scsi_block_realize()
2808 s->qdev.blocksize = 512; in scsi_block_realize()
2816 scsi_realize(&s->qdev, errp); in scsi_block_realize()
2817 scsi_generic_read_device_inquiry(&s->qdev); in scsi_block_realize()
2860 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_block_do_sgio()
2869 assert(offset % s->qdev.blocksize == 0); in scsi_block_do_sgio()
2870 assert(iov->size % s->qdev.blocksize == 0); in scsi_block_do_sgio()
2887 lba = offset / s->qdev.blocksize; in scsi_block_do_sgio()
2888 nb_logical_blocks = io_header->dxfer_len / s->qdev.blocksize; in scsi_block_do_sgio()
2928 io_header->timeout = s->qdev.io_timeout * 1000; in scsi_block_do_sgio()
2935 aiocb = blk_aio_ioctl(s->qdev.conf.blk, SG_IO, io_header, scsi_block_sgio_complete, req); in scsi_block_do_sgio()
2997 if (s->qdev.type != TYPE_ROM) { in scsi_block_is_passthrough()
3013 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev); in scsi_block_dma_command()
3044 if (s->qdev.scsi_version > 2 && (req->cmd.buf[1] & 0xe0)) { in scsi_block_dma_command()
3067 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, d); in scsi_block_new_request()
3070 return scsi_req_alloc(&scsi_generic_req_ops, &s->qdev, tag, lun, in scsi_block_new_request()
3073 return scsi_req_alloc(&scsi_block_dma_reqops, &s->qdev, tag, lun, in scsi_block_new_request()
3082 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, d); in scsi_block_parse_cdb()
3085 return scsi_bus_parse_cdb(&s->qdev, cmd, buf, buf_len, hba_private); in scsi_block_parse_cdb()
3087 return scsi_req_parse_cdb(&s->qdev, cmd, buf, buf_len); in scsi_block_parse_cdb()
3105 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_dma_readv()
3106 return blk_aio_preadv(s->qdev.conf.blk, offset, iov, 0, cb, cb_opaque); in scsi_dma_readv()
3115 SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, r->req.dev); in scsi_dma_writev()
3117 return blk_aio_pwritev(s->qdev.conf.blk, offset, iov, flags, cb, cb_opaque); in scsi_dma_writev()
3179 DEFINE_PROP_DRIVE_IOTHREAD("drive", SCSIDiskState, qdev.conf.blk), \
3180 DEFINE_BLOCK_PROPERTIES_BASE(SCSIDiskState, qdev.conf), \
3181 DEFINE_BLOCK_ERROR_PROPERTIES(SCSIDiskState, qdev.conf), \
3196 DEFINE_PROP_UINT64("wwn", SCSIDiskState, qdev.wwn, 0),
3197 DEFINE_PROP_UINT64("port_wwn", SCSIDiskState, qdev.port_wwn, 0),
3204 DEFINE_PROP_INT32("scsi_version", SCSIDiskState, qdev.default_scsi_version,
3209 DEFINE_BLOCK_CHS_PROPERTIES(SCSIDiskState, qdev.conf),
3217 VMSTATE_SCSI_DEVICE(qdev, SCSIDiskState),
3251 DEFINE_PROP_UINT64("wwn", SCSIDiskState, qdev.wwn, 0),
3252 DEFINE_PROP_UINT64("port_wwn", SCSIDiskState, qdev.port_wwn, 0),
3256 DEFINE_PROP_INT32("scsi_version", SCSIDiskState, qdev.default_scsi_version,
3292 DEFINE_BLOCK_ERROR_PROPERTIES(SCSIDiskState, qdev.conf),
3293 DEFINE_PROP_DRIVE("drive", SCSIDiskState, qdev.conf.blk),
3294 DEFINE_PROP_BOOL("share-rw", SCSIDiskState, qdev.conf.share_rw, false),
3300 DEFINE_PROP_INT32("scsi_version", SCSIDiskState, qdev.default_scsi_version,
3302 DEFINE_PROP_UINT32("io_timeout", SCSIDiskState, qdev.io_timeout,