Re: [PATCH 7/8] block: drbd: avoid to use BIO_MAX_SIZE

Lars Ellenberg
2016-03-29T08:09:37Z

On Tue, Mar 29, 2016 at 12:31:24AM -0700, Christoph Hellwig wrote:
> On Tue, Mar 22, 2016 at 02:12:28PM +0800, Ming Lei wrote:
> > drbd is the only user of BIO_MAX_SIZE, so use BIO_MAX_PAGES
> > instead.
>
> That whole code block looks completely bogus to me, although your patch
> doesn't make it any worse.
>
> I/O size for a network protocol shouldn't dependend on the number of
> vectors in a kernel internal structure.

That's correct. But we needed some limit there.
Initially, up until I changed it like six years ago iirc,
the receiving side would receive into a single bio.
So limiting us to what a single bio could usually handle
seemed like a good idea at the time.

Today, we should be able to handle 128 MiB easily,
maybe more. But that would require a protocol bump
to stay backwards compatible.

The part about "architecture not supported",
if our limit (1 MiB) is bigger than the "system" limit:
Never met that in real life. Probably not even possible.
Just a paranoia on my side: what if.
If that would have happened somewhere,
on some strange architecture or configuration,
I wanted to know about that.
Best way: don't even compile.

> Well, getting rid of BIO_MAX_SIZE is worth it, so:
>
> Reviewed-by: Christoph Hellwig <hch@lst.de>

Thanks,

Lars Ellenberg