xen/blkfront: always allocate grants first from per-queue persistent grants
authorDongli Zhang <dongli.zhang@oracle.com>
Wed, 28 Jun 2017 12:57:28 +0000 (20:57 +0800)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Tue, 25 Jul 2017 15:31:09 +0000 (11:31 -0400)
commitbd912ef3e46b6edb51bb8af4b73fd2be7817e305
tree61b5281d5730da8d913a400b63182e64375bdc02
parent4b422cb99836de3d261faec20a0329385bdec43d
xen/blkfront: always allocate grants first from per-queue persistent grants

This patch partially reverts 3df0e50 ("xen/blkfront: pseudo support for
multi hardware queues/rings"). The xen-blkfront queue/ring might hang due
to grants allocation failure in the situation when gnttab_free_head is
almost empty while many persistent grants are reserved for this queue/ring.

As persistent grants management was per-queue since 73716df ("xen/blkfront:
make persistent grants pool per-queue"), we should always allocate from
persistent grants first.

Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Dongli Zhang <dongli.zhang@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
drivers/block/xen-blkfront.c