[PATCH 9/9] nvme: submit internal commands through the block layer

Keith Busch keith.busch at intel.com
Fri May 22 11:01:14 PDT 2015


On Fri, 22 May 2015, Keith Busch wrote:
> On Fri, 22 May 2015, Christoph Hellwig wrote:
>> -		req->errors = nvme_error_status(status);
>> +		if (req->cmd_type == REQ_TYPE_DRV_PRIV) {
>> +			req->sense_len = le32_to_cpup(&cqe->result);
>> +			req->errors = status;
>> +		} else {
>> +			req->errors = nvme_error_status(status);
>> +		}
>
> The "sense_len" is now the command result, but it's getting set only in
> the error case, so the initial set features for number of queues gets
> the wrong result; the driver creates only one IO queue when I wanted a
> lot more.

... and blk_execute_rq overwrites rq->sense_len to 0 before returning
if we don't set sense data, so we can never get command results anymore.



More information about the Linux-nvme mailing list