On 18/08/15 07:29, Julien Grall wrote: > Hi, > > Firstly, this patch is not ready at all and mostly here for > collecting comment about the way to do it. It's not clean so no need > to complain about the coding style. > > The qdisk backend in QEMU is not supporting indirect grant, this is > means that a request can only support 11 * 4KB = 44KB. > > When using 64KB page, a Linux block request (struct *request) may > contain up to 64KB of data. This is because the block segment size > must at least be the size of a Linux page.
You should ensure you configure the request queue with the limits that are currently supported. In particular: /* Each segment in a request is up to an aligned page in size. */ blk_queue_segment_boundary(rq, PAGE_SIZE - 1); blk_queue_max_segment_size(rq, PAGE_SIZE); Is obviously wrong with PAGE_SIZE > 44 KiB. Get the block later to split requests and don't do it in blkfront. David _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel