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

- From: NeilBrown \<hidden\>
- Date: 2012-09-11 05:23:08 
- List: linux-bcache
- Page: https://ratatoskr.run/linux-bcache/2012/09/3921030
- Thread: https://ratatoskr.run/linux-bcache/2012/09/3920950/t.md

```text
On Mon, 10 Sep 2012 17:22:11 -0700 Kent Overstreet [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

- [signature.asc](https://ratatoskr.run/linux-bcache/2012/09/3921030/attachment/0) (application/pgp-signature, 828 bytes)
