On Mon, 2020-07-06 at 08:12 +0200, Klaus Jensen wrote:
> From: Klaus Jensen
>
> If the write cache is disabled with a Set Features command, flush it if
> currently enabled.
>
> Signed-off-by: Klaus Jensen
> Reviewed-by: Dmitry Fomichev
> ---
> hw/block/nvme.c | 4
> 1 file changed, 4 insertions(+)
>
> diff --git a/hw/block/nvme.c b/hw/block/nvme.c
> index 80c7285bc1cf..8fce2ebf69e7 100644
> --- a/hw/block/nvme.c
> +++ b/hw/block/nvme.c
> @@ -1166,6 +1166,10 @@ static uint16_t nvme_set_feature(NvmeCtrl *n, NvmeCmd
> *cmd, NvmeRequest *req)
>
> break;
> case NVME_VOLATILE_WRITE_CACHE:
> +if (!(dw11 & 0x1) && blk_enable_write_cache(n->conf.blk)) {
> +blk_flush(n->conf.blk);
> +}
> +
> blk_set_enable_write_cache(n->conf.blk, dw11 & 1);
> break;
> case NVME_NUMBER_OF_QUEUES:
Reviewed-by: Maxim Levitsky
Best regards,
Maxim Levitsky