Use a subsection, so that migration to older version still works,
provided the tray is closed and unlocked.
Signed-off-by: Markus Armbruster<address@hidden>
---
hw/ide/core.c | 32 ++++++++++++++++++++++++++++++++
1 files changed, 32 insertions(+), 0 deletions(-)
diff --git a/hw/ide/core.c b/hw/ide/core.c
index b1a73ee..30cb7de 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -2058,6 +2058,22 @@ static bool ide_drive_pio_state_needed(void *opaque)
|| (s->bus->error_status& BM_STATUS_PIO_RETRY);
}
+static int ide_tray_state_post_load(void *opaque, int version_id)
+{
+ IDEState *s = opaque;
+
+ bdrv_eject(s->bs, s->tray_open);
+ bdrv_lock_medium(s->bs, s->tray_locked);
+ return 0;
+}
+
+static bool ide_tray_state_needed(void *opaque)
+{
+ IDEState *s = opaque;
+
+ return s->tray_open || s->tray_locked;