[dm-devel] [PATCH] Fixes for clone_bio and __clone_and_map functions in dm.c
Alasdair G Kergon
agk at redhat.com
Tue Mar 21 14:35:15 UTC 2006
> I am a little confused about why is this not a problem. Isn't
> clone->bi_vcnt
> supposed to hold the number of bio vectors in the clone? Why does it hold
> idx+bv_count instead? Please clarify.
idx is non-zero; bv_count variable is the number starting from idx.
clone->bi_vcnt is the total number.
unsigned int bi_vcnt; /* how many bio_vec's */
unsigned int bi_idx; /* current index into bio_vec array */
clone_bio(bio, ci->sector, ci->idx, bio->bi_vcnt - ci->idx, ci->sector_count);
leads to clone->bi_vcnt = ci->idx + bio->bi_vcnt - ci->idx = bio->bi_vcnt
Like I said, obfuscated.
Alasdair
--
agk at redhat.com
More information about the dm-devel
mailing list