summaryrefslogtreecommitdiffstats
path: root/drivers/block/xen-blkback
diff options
context:
space:
mode:
authorRoger Pau Monne <roger.pau@citrix.com>2012-12-07 19:00:31 +0100
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2012-12-17 21:56:03 -0500
commitd62f691858252333ff1ddb920e6774d9020734aa (patch)
treed3f54da525e07849c3825d19d6d10e96ffaf1cdf /drivers/block/xen-blkback
parentebb351cf78ee6bf3262e6b4b6906f456c05e6d5e (diff)
downloadop-kernel-dev-d62f691858252333ff1ddb920e6774d9020734aa.zip
op-kernel-dev-d62f691858252333ff1ddb920e6774d9020734aa.tar.gz
xen-blkfront: handle bvecs with partial data
Currently blkfront fails to handle cases in blkif_completion like the following: 1st loop in rq_for_each_segment * bv_offset: 3584 * bv_len: 512 * offset += bv_len * i: 0 2nd loop: * bv_offset: 0 * bv_len: 512 * i: 0 In the second loop i should be 1, since we assume we only wanted to read a part of the previous page. This patches fixes this cases where only a part of the shared page is read, and blkif_completion assumes that if the bv_offset of a bvec is less than the previous bv_offset plus the bv_size we have to switch to the next shared page. Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com> Cc: linux-kernel@vger.kernel.org Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'drivers/block/xen-blkback')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud