Message ID | 20150430094417.GA18671@lst.de |
---|---|
State | New |
Headers | show |
On Thu, 30 Apr 2015, Christoph Hellwig wrote: > The SCSI emulation in the Linux NVMe driver really wants to know > if a device has a volatile write cache. Given that qemu has moved > away from a model where we report the backing store WCE bit to > one where the WCE bit is supposed to be part of the migratable > guest-visible state we always return 1 here. Thanks, this fix was long overdue and already incorporated in my tree. I really need to get my act together for a legit pull request with all the other 1.0, 1.1 and 1.2 features. Acked-by: Keith Busch <keith.busch@intel.com> > Signed-off-by: Christoph Hellwig <hch@lst.de> > > diff --git a/hw/block/nvme.c b/hw/block/nvme.c > index 1e07166..50d76f1 100644 > --- a/hw/block/nvme.c > +++ b/hw/block/nvme.c > @@ -479,6 +479,9 @@ static uint16_t nvme_get_feature(NvmeCtrl *n, NvmeCmd *cmd, NvmeRequest *req) > req->cqe.result = > cpu_to_le32((n->num_queues - 1) | ((n->num_queues - 1) << 16)); > break; > + case NVME_VOLATILE_WRITE_CACHE: > + req->cqe.result = cpu_to_le32(1); > + break; > default: > return NVME_INVALID_FIELD | NVME_DNR; > } >
[ Cc: qemu-block ] Am 30.04.2015 um 16:03 hat Keith Busch geschrieben: > On Thu, 30 Apr 2015, Christoph Hellwig wrote: > >The SCSI emulation in the Linux NVMe driver really wants to know > >if a device has a volatile write cache. Given that qemu has moved > >away from a model where we report the backing store WCE bit to > >one where the WCE bit is supposed to be part of the migratable > >guest-visible state we always return 1 here. > > Thanks, this fix was long overdue and already incorporated in my tree. I > really need to get my act together for a legit pull request with all the > other 1.0, 1.1 and 1.2 features. > > Acked-by: Keith Busch <keith.busch@intel.com> Thanks, applied to the block branch. Kevin
diff --git a/hw/block/nvme.c b/hw/block/nvme.c index 1e07166..50d76f1 100644 --- a/hw/block/nvme.c +++ b/hw/block/nvme.c @@ -479,6 +479,9 @@ static uint16_t nvme_get_feature(NvmeCtrl *n, NvmeCmd *cmd, NvmeRequest *req) req->cqe.result = cpu_to_le32((n->num_queues - 1) | ((n->num_queues - 1) << 16)); break; + case NVME_VOLATILE_WRITE_CACHE: + req->cqe.result = cpu_to_le32(1); + break; default: return NVME_INVALID_FIELD | NVME_DNR; }
The SCSI emulation in the Linux NVMe driver really wants to know if a device has a volatile write cache. Given that qemu has moved away from a model where we report the backing store WCE bit to one where the WCE bit is supposed to be part of the migratable guest-visible state we always return 1 here. Signed-off-by: Christoph Hellwig <hch@lst.de>