storvsc: don't assume SG list is contiguous
Scatterlists are contiguous if they're limited to a page; but for large
I/Os, it's possible that the scatterlists span pages, in which case the
pages will not be physically contiguous - they will be chained together.
The MS patch (link below) fixes the wrong assumption in do_bounce_buffer()
that scatterlists are always contiguous, so it's a good fix to port, in
general.
Orabug:
26492697
MS patch:
https://github.com/LIS/lis-next/commit/
a13bbc4ab81e459f635237a938f89737300ecfa1
Signed-off-by: Aruna Ramakrishna <aruna.ramakrishna@oracle.com>
Reviewed-by: Joe Slember <joe.slember@oracle.com>
Acked-by: Martin K. Petersen <martin.petersen@oracle.com>