xen-blkfront: save uncompleted reqs in blkfront_resume()
authorBob Liu <bob.liu@oracle.com>
Mon, 27 Jun 2016 08:33:24 +0000 (16:33 +0800)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 29 Jun 2016 16:32:39 +0000 (12:32 -0400)
commit7b427a59538a98161321aa46c13f4ea81b43f4eb
tree166b25cd6823d3913ac1d1d0f2d6201b8b57755e
parent2a6f71ad99cabe436e70c3f5fcf58072cb3bc07f
xen-blkfront: save uncompleted reqs in blkfront_resume()

Uncompleted reqs used to be 'saved and resubmitted' in blkfront_recover() during
migration, but that's too late after multi-queue was introduced.

After a migrate to another host (which may not have multiqueue support), the
number of rings (block hardware queues) may be changed and the ring and shadow
structure will also be reallocated.

The blkfront_recover() then can't 'save and resubmit' the real
uncompleted reqs because shadow structure have been reallocated.

This patch fixes this issue by moving the 'save' logic out of
blkfront_recover() to earlier place in blkfront_resume().

The 'resubmit' is not changed and still in blkfront_recover().

Signed-off-by: Bob Liu <bob.liu@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: stable@vger.kernel.org
drivers/block/xen-blkfront.c