On Mon, 10 Sep 2012 17:22:11 -0700 Kent Overstreet wrote: > Random assortment of refactoring and trivial cleanups; > > Immutable bio vecs and efficient bio splitting require auditing and > removing pretty much all bi_idx uses, among other things. > > The reason is that with immutable bio vecs we can't use the bvec array > directly; if we have a partially completed bvec, that'll be indicated > with a field in struct bvec_iter (which gets embedded in struct bio) - > bi_bvec_done. > > bio_for_each_segments() will handle this transparently, so code needs to > be converted to use it or some other generic accessor. > > Also, bio splitting means that when a driver gets a bio, bi_idx and > bi_bvec_done may both be nonzero. Again, just need to use generic > accessors. > > v2: Patch series now has all the prep work to be done before abstracting > out the bio iterator, I think. Hi Kent, this looks pretty good to me. I've only really looked closely at the md bits, but they all seem to make sense (with the minor issues that I reported separately). If/when there is another posting I'll try to allocate some time to testing them and looking more closely. thanks! NeilBrown