qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/2] atapi: Drives can be locked without media present
@ 2011-04-09 10:24 Amit Shah
  2011-04-09 10:24 ` [Qemu-devel] [PATCH 2/2] atapi: Report correct errors on guest eject request Amit Shah
  2011-04-11 14:54 ` [Qemu-devel] Re: [PATCH 1/2] atapi: Drives can be locked without media present Kevin Wolf
  0 siblings, 2 replies; 3+ messages in thread
From: Amit Shah @ 2011-04-09 10:24 UTC (permalink / raw)
  To: qemu list
  Cc: Kevin Wolf, Juan Quintela, Stefan Hajnoczi, Markus Armbruster,
	Amit Shah, Paolo Bonzini

Drivers are free to lock drives without any media present.  Such a
condition should not result in an error condition.

See Table 341 in MMC-5 spec for details.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 hw/ide/core.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/hw/ide/core.c b/hw/ide/core.c
index 7a407fc..8958ff2 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1390,13 +1390,8 @@ static void ide_atapi_cmd(IDEState *s)
         ide_atapi_cmd_reply(s, 18, max_len);
         break;
     case GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL:
-        if (bdrv_is_inserted(s->bs)) {
-            bdrv_set_locked(s->bs, packet[4] & 1);
-            ide_atapi_cmd_ok(s);
-        } else {
-            ide_atapi_cmd_error(s, SENSE_NOT_READY,
-                                ASC_MEDIUM_NOT_PRESENT);
-        }
+        bdrv_set_locked(s->bs, packet[4] & 1);
+        ide_atapi_cmd_ok(s);
         break;
     case GPCMD_READ_10:
     case GPCMD_READ_12:
-- 
1.7.4.2

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Qemu-devel] [PATCH 2/2] atapi: Report correct errors on guest eject request
  2011-04-09 10:24 [Qemu-devel] [PATCH 1/2] atapi: Drives can be locked without media present Amit Shah
@ 2011-04-09 10:24 ` Amit Shah
  2011-04-11 14:54 ` [Qemu-devel] Re: [PATCH 1/2] atapi: Drives can be locked without media present Kevin Wolf
  1 sibling, 0 replies; 3+ messages in thread
From: Amit Shah @ 2011-04-09 10:24 UTC (permalink / raw)
  To: qemu list
  Cc: Kevin Wolf, Juan Quintela, Stefan Hajnoczi, Markus Armbruster,
	Amit Shah, Paolo Bonzini

Table 629 of the MMC-5 spec mentions two different error conditions when
a CDROM eject is requested: a) while a disc is inserted and b) while a
disc is not inserted.

Ensure we return the appropriate error for the present condition of the
drive and disc status.

Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
 hw/ide/core.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/hw/ide/core.c b/hw/ide/core.c
index 8958ff2..b8b78bb 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -1464,7 +1464,7 @@ static void ide_atapi_cmd(IDEState *s)
         break;
     case GPCMD_START_STOP_UNIT:
         {
-            int start, eject, err = 0;
+            int start, eject, sense, err = 0;
             start = packet[4] & 1;
             eject = (packet[4] >> 1) & 1;
 
@@ -1477,7 +1477,11 @@ static void ide_atapi_cmd(IDEState *s)
                 ide_atapi_cmd_ok(s);
                 break;
             case -EBUSY:
-                ide_atapi_cmd_error(s, SENSE_NOT_READY,
+                sense = SENSE_NOT_READY;
+                if (bdrv_is_inserted(s->bs)) {
+                    sense = SENSE_ILLEGAL_REQUEST;
+                }
+                ide_atapi_cmd_error(s, sense,
                                     ASC_MEDIA_REMOVAL_PREVENTED);
                 break;
             default:
-- 
1.7.4.2

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Qemu-devel] Re: [PATCH 1/2] atapi: Drives can be locked without media present
  2011-04-09 10:24 [Qemu-devel] [PATCH 1/2] atapi: Drives can be locked without media present Amit Shah
  2011-04-09 10:24 ` [Qemu-devel] [PATCH 2/2] atapi: Report correct errors on guest eject request Amit Shah
@ 2011-04-11 14:54 ` Kevin Wolf
  1 sibling, 0 replies; 3+ messages in thread
From: Kevin Wolf @ 2011-04-11 14:54 UTC (permalink / raw)
  To: Amit Shah
  Cc: Juan Quintela, Stefan Hajnoczi, Markus Armbruster, qemu list,
	Paolo Bonzini

Am 09.04.2011 12:24, schrieb Amit Shah:
> Drivers are free to lock drives without any media present.  Such a
> condition should not result in an error condition.
> 
> See Table 341 in MMC-5 spec for details.
> 
> Signed-off-by: Amit Shah <amit.shah@redhat.com>

Thanks, applied both to the block branch.

Kevin

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-04-11 14:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-09 10:24 [Qemu-devel] [PATCH 1/2] atapi: Drives can be locked without media present Amit Shah
2011-04-09 10:24 ` [Qemu-devel] [PATCH 2/2] atapi: Report correct errors on guest eject request Amit Shah
2011-04-11 14:54 ` [Qemu-devel] Re: [PATCH 1/2] atapi: Drives can be locked without media present Kevin Wolf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).