On 4/17/19 3:53 PM, Maxim Levitsky wrote:
> Phase bits are only set by the hardware to indicate new completions
> and not by the device driver.
>
> Signed-off-by: Maxim Levitsky <mlevi...@redhat.com>
> ---
> block/nvme.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/block/nvme.c b/block/nvme.c
> index 0684bbd077..2d208000df 100644
> --- a/block/nvme.c
> +++ b/block/nvme.c
> @@ -340,8 +340,6 @@ static bool nvme_process_completion(BDRVNVMeState *s,
> NVMeQueuePair *q)
> qemu_mutex_lock(&q->lock);
> c->cid = cpu_to_le16(0);
> q->inflight--;
> - /* Flip Phase Tag bit. */
> - c->status = cpu_to_le16(le16_to_cpu(c->status) ^ 0x1);
> progress = true;
> }
> if (progress) {
>
Since you've not got much traction on this and you've pinged a v2, can
you point me to a spec or a reproducer that illustrates the problem?
(Or wait for more NVME knowledgeable people to give you a review...!)