On 10/31/19 1:30 PM, Jens Axboe wrote: > On 10/31/19 1:26 PM, Jens Axboe wrote: >> We ran into an issue in production where reading an NVMe drive log >> randomly fails. The request is a big one, 1056K, and the application >> (nvme-cli) nicely aligns the buffer. This means the kernel will attempt >> to map the pages in for zero-copy DMA, but we ultimately fail adding >> enough pages to the request to satisfy the size requirement as we ran >> out of segments supported by the hardware. >> >> If we fail a user map that attempts to map pages in directly, retry with >> copy == true set. >> >> Signed-off-by: Jens Axboe <axboe@xxxxxxxxx> > > I did actually add comments to this, but apparently sent out the version > without comments... Current one below, only difference is the addition > of the comment explaining why we retry. Disregard this - I had a patch to make bio_copy_user_iov() handle strings of bios that this would also need, it's not enough by itself. -- Jens Axboe