We already track it in BlockDriverState.  Just like tray open/close
state, we should track it in the device models instead, because it's
device state.

Signed-off-by: Markus Armbruster <arm...@redhat.com>
---
 hw/scsi-disk.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index ff52d87..a220426 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -75,6 +75,7 @@ struct SCSIDiskState
     char *serial;
     SCSISense sense;
     bool tray_open;
+    bool tray_locked;
     SCSIDriveKind drive_kind;
 };
 
@@ -893,6 +894,7 @@ static int scsi_disk_emulate_command(SCSIDiskReq *r, 
uint8_t *outbuf)
         scsi_disk_emulate_start_stop(r);
        break;
     case ALLOW_MEDIUM_REMOVAL:
+        s->tray_locked = req->cmd.buf[4] & 1;
         bdrv_set_locked(s->bs, req->cmd.buf[4] & 1);
        break;
     case READ_CAPACITY:
-- 
1.7.2.3


Reply via email to