[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 23/45] scsi-disk: Fix START_STOP to fail when
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v2 23/45] scsi-disk: Fix START_STOP to fail when it can't eject |
Date: |
Thu, 04 Aug 2011 08:48:37 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) |
Hannes Reinecke <address@hidden> writes:
> On 08/03/2011 03:08 PM, Markus Armbruster wrote:
>> Don't fail when tray is already open.
>>
>> Signed-off-by: Markus Armbruster<address@hidden>
>> ---
>> hw/scsi-bus.c | 10 ++++++++++
>> hw/scsi-disk.c | 15 +++++++++++----
>> hw/scsi.h | 4 ++++
>> 3 files changed, 25 insertions(+), 4 deletions(-)
>>
>> diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c
>> index 0b0344c..1c5fe7f 100644
>> --- a/hw/scsi-bus.c
>> +++ b/hw/scsi-bus.c
>> @@ -441,6 +441,11 @@ const struct SCSISense sense_code_NO_MEDIUM = {
>> .key = NOT_READY, .asc = 0x3a, .ascq = 0x00
>> };
>>
>> +/* LUN not ready, medium removal prevented */
>> +const struct SCSISense sense_code_MEDIUM_REMOVAL_PREVENTED_NR = {
>> + .key = NOT_READY, .asc = 0x53, .ascq = 0x00
>> +};
>> +
> I would prefer to have the naming reversed,
> eg NOT_READY_REMOVAL_PREVENTED
I don't care, so I'll do it your way :)
More of the same below, plus typos, all noted, thanks!
By the way, I hate having to define a struct SCSISense in another file
(and make up a name for it!) just to report sense. And I hate the silly
macro trickery to mask the long names even more.
To make sense of
scsi_command_complete(r, CHECK_CONDITION, SENSE_CODE(NO_MEDIUM));
I have to look up SENSE_CODE() in scsi.h:
#define SENSE_CODE(x) sense_code_ ## x
which leads me to scsi-bus.c:
/* LUN not ready, Medium not present */
const struct SCSISense sense_code_NO_MEDIUM = {
.key = NOT_READY, .asc = 0x3a, .ascq = 0x00
};
Compare to IDE:
ide_atapi_cmd_error(s, SENSE_NOT_READY, ASC_MEDIUM_NOT_PRESENT);
[...]
- [Qemu-devel] [PATCH v2 43/45] nbd: Clean up use of block_int.h, (continued)
- [Qemu-devel] [PATCH v2 43/45] nbd: Clean up use of block_int.h, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 31/45] block: Clean up bdrv_flush_all(), Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 17/45] block: Leave enforcing tray lock to device models, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 18/45] block: Drop medium lock tracking, ask device models instead, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 35/45] block: Clean up remaining users of "removable", Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 37/45] block: Show whether the guest ejected the medium in info block, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 23/45] scsi-disk: Fix START_STOP to fail when it can't eject, Markus Armbruster, 2011/08/03
- [Qemu-devel] [PATCH v2 40/45] block: Declare qemu_blockalign() in block.h, not block_int.h, Markus Armbruster, 2011/08/03
- Re: [Qemu-devel] [PATCH v2 00/45] Block layer cleanup & fixes, Avi Kivity, 2011/08/04