From: Christoph Hellwig
Date: Fri Dec 30 2016 - 10:11:04 EST

On Fri, Dec 30, 2016 at 10:01:39AM -0500, Dave Jones wrote:
> I threw this debug printk into the pagespan code to see what exactly
> it was complaining about..
> ptr:ffff88042614cff8 end:ffff88042614d003 n:c
> so it was copying 12 bytes that spanned two pages.
> >From my reading of the config option help text, this thing is
> complaining that wasn't allocated with __GFP_COMP maybe ?

If this is on a devie using blk-mq the block core will use high
order allocations (as high as possible) to allocate the requests
for each queue, so struct request could very well span multiple
pages. But I don't see what __GFP_COMP would have to do with
user copy annoations. As all requests for a queue are freed
togeth again there is no point in setting __GFP_COMP for the
request allocations.