[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 17/32] scsi-disk: support toggling the write cache
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 17/32] scsi-disk: support toggling the write cache |
Date: |
Fri, 27 Jul 2012 17:02:44 +0200 |
Finally, this uses the "plumbing" in the previous patch to
add support for toggling the WCE bit of the caching mode page.
Signed-off-by: Paolo Bonzini <address@hidden>
---
hw/scsi-disk.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index ad6c00d..fd5cd70 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -1050,10 +1050,8 @@ static int mode_sense_page(SCSIDiskState *s, int page,
uint8_t **p_outbuf,
case MODE_PAGE_CACHING:
length = 0x12;
- if (page_control == 1) { /* Changeable Values */
- break;
- }
- if (bdrv_enable_write_cache(s->qdev.conf.bs)) {
+ if (page_control == 1 || /* Changeable Values */
+ bdrv_enable_write_cache(s->qdev.conf.bs)) {
p[0] = 4; /* WCE */
}
break;
@@ -1325,6 +1323,14 @@ static int scsi_disk_check_mode_select(SCSIDiskState *s,
int page,
static void scsi_disk_apply_mode_select(SCSIDiskState *s, int page, uint8_t *p)
{
+ switch (page) {
+ case MODE_PAGE_CACHING:
+ bdrv_set_enable_write_cache(s->qdev.conf.bs, (p[0] & 4) != 0);
+ break;
+
+ default:
+ break;
+ }
}
static int mode_select_pages(SCSIDiskReq *r, uint8_t *p, int len, bool change)
--
1.7.10.4
- [Qemu-devel] [PATCH 05/32] lsi: avoid redundant tests of s->current != NULL, (continued)
- [Qemu-devel] [PATCH 05/32] lsi: avoid redundant tests of s->current != NULL, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 06/32] scsi-block: remove properties that are not relevant for passthrough, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 04/32] lsi: introduce lsi_request_free, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 09/32] scsi-disk: make discard asynchronous, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 07/32] cutils: add strpadcpy(), Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 10/32] scsi-disk: move all non-DMA commands to scsi_disk_emulate_command, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 11/32] scsi-disk: split scsi-disk reqops, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 13/32] scsi-disk: support emulated TO_DEV requests, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 08/32] scsi-disk: let the user customize vendor and product name, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 14/32] scsi-disk: adjust offsets in MODE SENSE by 2, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 17/32] scsi-disk: support toggling the write cache,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 23/32] scsi: introduce hotplug() and hot_unplug() interfaces for SCSI bus, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 24/32] scsi: establish precedence levels for unit attention, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 25/32] scsi-disk: report resized disk via sense codes, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 30/32] virtio-scsi: report parameter change events, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 29/32] virtio-scsi: do not report dropped events after reset, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 31/32] virtio-scsi: add ioeventfd support, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 32/32] virtio-scsi: enable MSI-X support, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 15/32] scsi-disk: fix changeable values for MODE_PAGE_R_W_ERROR, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 18/32] scsi-disk: rd/wr/vr-protect !=0 is an error, Paolo Bonzini, 2012/07/27
- [Qemu-devel] [PATCH 21/32] scsi-disk: removable hard disks support load/eject, Paolo Bonzini, 2012/07/27