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@xxxxxxxxxx> 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 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel