Commit 655da9eb authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Fix another dm and bio problem

From: Mark Haverkamp <markh@osdl.org>

This fixes a problem similar to the patch I submitted on 11/20

http://marc.theaimsgroup.com/?l=linux-kernel&m=106936439707962&w=2

In this case, though, the result is an:

"Incorrect number of segments after building list" message.

The macro __BVEC_START assumes a bi_idx of zero when the dm code can
submit a bio with a non-zero bi_idx.
The code has been tested on an 8 way / 8gb OSDL STP machine with a 197G
lvm volume running dbt2 test.
parent 06004ee5
......@@ -162,7 +162,7 @@ struct bio {
*/
#define __BVEC_END(bio) bio_iovec_idx((bio), (bio)->bi_vcnt - 1)
#define __BVEC_START(bio) bio_iovec_idx((bio), 0)
#define __BVEC_START(bio) bio_iovec_idx((bio), (bio)->bi_idx)
#define BIOVEC_PHYS_MERGEABLE(vec1, vec2) \
((bvec_to_phys((vec1)) + (vec1)->bv_len) == bvec_to_phys((vec2)))
#define BIOVEC_VIRT_MERGEABLE(vec1, vec2) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment