[dm-devel] [PATCH] dm: rename max_io_len to io_boundary
Mikulas Patocka
mpatocka at redhat.com
Fri Mar 22 13:21:02 UTC 2019
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