Re: [PATCH v2 00/26] Prep work for immutable bio vecs

From
NeilBrown <hidden>
Date
2012-09-11 05:23:08
Also in
dm-devel, lkml
Reply to
Kent Overstreet, 2012-09-11
On Mon, 10 Sep 2012 17:22:11 -0700 Kent Overstreet [off-list ref]
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

Attachments

Thread (76 messages) 76 messages, 5 authors, last reply 2012-09-21
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help