Re: [PATCH 1/2] nvme: target: fix nvmet_file_init_bvec()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 25, 2019 at 07:03:23PM -0700, Sagi Grimberg wrote:
> 
> > > The scatterlist in the nvme target is always allocated by the nvmet
> > > code itself an thus never contains multi-page sg list entries.
> > 
> > I am wondering if it is true.
> > 
> > Not look at other target code yet, however seems it isn't true for loop,
> > see the following code in nvme_loop_queue_rq():
> > 
> > 	iod->req.sg = iod->sg_table.sgl;
> > 	iod->req.sg_cnt = blk_rq_map_sg(req->q, req, iod->sg_table.sgl);
> > 	iod->req.transfer_len = blk_rq_payload_bytes(req);
> > 
> > And it has been triggered by nvme/011 in Yi's test.
> 
> Yes, loop is an exception in this case.

Thanks for the clarification!

Another candidate fix is to set nvmet-loop's queue segment boundary mask
as PAGE_SIZE - 1.

Also there is the same issue for block device backed target.

If no one objects, I'd like to take the approach of adjusting segment
boundary mask.

Thanks,
Ming



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux