Revision 8cfacf07 hw/scsi-disk.c
b/hw/scsi-disk.c | ||
---|---|---|
396 | 396 |
} |
397 | 397 |
case 0xb0: /* block device characteristics */ |
398 | 398 |
{ |
399 |
unsigned int min_io_size = s->qdev.conf.min_io_size >> 9; |
|
400 |
unsigned int opt_io_size = s->qdev.conf.opt_io_size >> 9; |
|
399 |
unsigned int min_io_size = |
|
400 |
s->qdev.conf.min_io_size / s->qdev.blocksize; |
|
401 |
unsigned int opt_io_size = |
|
402 |
s->qdev.conf.opt_io_size / s->qdev.blocksize; |
|
401 | 403 |
|
402 | 404 |
/* required VPD size with unmap support */ |
403 | 405 |
outbuf[3] = buflen = 0x3c; |
... | ... | |
1036 | 1038 |
} |
1037 | 1039 |
|
1038 | 1040 |
if (bdrv_get_type_hint(s->bs) == BDRV_TYPE_CDROM) { |
1039 |
s->cluster_size = 4;
|
|
1041 |
s->qdev.blocksize = 2048;
|
|
1040 | 1042 |
} else { |
1041 |
s->cluster_size = 1;
|
|
1043 |
s->qdev.blocksize = s->qdev.conf.logical_block_size;
|
|
1042 | 1044 |
} |
1043 |
s->qdev.blocksize = 512 * s->cluster_size; |
|
1045 |
s->cluster_size = s->qdev.blocksize / 512; |
|
1046 |
|
|
1044 | 1047 |
s->qdev.type = TYPE_DISK; |
1045 | 1048 |
bdrv_get_geometry(s->bs, &nb_sectors); |
1046 | 1049 |
nb_sectors /= s->cluster_size; |
Also available in: Unified diff