[dm-devel] [PATCH] dm: rename max_io_len to io_boundary

John Dorminy jdorminy at redhat.com
Fri Mar 22 15:48:24 UTC 2019


Thank you! I had not encountered that useful function, it does exactly
what I want. You're the best!

On Fri, Mar 22, 2019 at 9:21 AM Mikulas Patocka <mpatocka at redhat.com> wrote:
>
>
>
> On Thu, 21 Mar 2019, John Dorminy wrote:
>
> > I'm thankful for this change making it explicit that this parameter is
> > not a max IO length but something else. I've been confused by the name
> > more than once when trying to figure out why IOs weren't coming in as
> > large as I expected. I wish there were a way for targets to say "I can
> > accept IO of up to $len" without saying "I want my IO split if it
> > crosses a multiple of $len, no matter what size it is", and I'm
> > thankful for this step making it easier if I ever act on that wish...
>
> If you want to limit the size of incoming bios, you can use
> dm_accept_partial_bio.
>
> dm_accept_partial_bio accepts a bio and a length. It will reduce the bio
> to the specified length and send the rest of data in another bio.
>
> See this piece of code in the function crypt_map:
>         /*
>          * Check if bio is too large, split as needed.
>          */
>         if (unlikely(bio->bi_iter.bi_size > (BIO_MAX_PAGES << PAGE_SHIFT)) &&
>             (bio_data_dir(bio) == WRITE || cc->on_disk_tag_size))
>                 dm_accept_partial_bio(bio, ((BIO_MAX_PAGES << PAGE_SHIFT) >> SECTOR_SHIFT));
>
>
> Mikulas




More information about the dm-devel mailing list