qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 11/45] scsi-disk: Factor out scsi_disk_emulat


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v2 11/45] scsi-disk: Factor out scsi_disk_emulate_start_stop()
Date: Fri, 02 Sep 2011 16:55:07 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux)

Kevin Wolf <address@hidden> writes:

> Am 03.08.2011 15:07, schrieb Markus Armbruster:
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>>  hw/scsi-disk.c |   17 +++++++++++++----
>>  1 files changed, 13 insertions(+), 4 deletions(-)
>> 
>> diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
>> index fa198f9..d549cb7 100644
>> --- a/hw/scsi-disk.c
>> +++ b/hw/scsi-disk.c
>> @@ -820,6 +820,18 @@ static int scsi_disk_emulate_read_toc(SCSIRequest *req, 
>> uint8_t *outbuf)
>>      return toclen;
>>  }
>>  
>> +static void scsi_disk_emulate_start_stop(SCSIDiskReq *r)
>> +{
>> +    SCSIRequest *req = &r->req;
>> +    SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, req->dev);
>> +    bool start = req->cmd.buf[4] & 1;
>> +    bool loej = req->cmd.buf[4] & 2;
>> +
>> +    if (s->qdev.type == TYPE_ROM && loej) {
>> +        bdrv_eject(s->bs, !start);
>> +    }
>> +}
>> +
>>  static int scsi_disk_emulate_command(SCSIDiskReq *r, uint8_t *outbuf)
>>  {
>>      SCSIRequest *req = &r->req;
>> @@ -873,10 +885,7 @@ static int scsi_disk_emulate_command(SCSIDiskReq *r, 
>> uint8_t *outbuf)
>>              goto illegal_request;
>>          break;
>>      case START_STOP:
>> -        if (s->qdev.type == TYPE_ROM && (req->cmd.buf[4] & 2)) {
>> -            /* load/eject medium */
>
> So here we actually had the comment before. Can we retain it?

We never had it in atapi.c, actually.

The fact that my scsi_disk_emulate_command() is very similar to
atapi.c's cmd_start_stop_unit() is no accident.  Whatever comment I'll
add to atapi.c, I'll add here, too.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]