On Thu, Oct 20, 2016 at 6:38 PM, Eric Blake <ebl...@redhat.com> wrote: > On 10/20/2016 07:24 PM, Ed Swierk wrote: >> Changing max_transfer in the normal write case to >> MIN_NON_ZERO(alignment, MAX_WRITE_ZEROES_BOUNCE_BUFFER) appears to fix >> the problem, but I don't pretend to understand all the subtleties >> here. > > That actually sounds like the right fix. But since the bug was probably > caused by my code, I'll formalize it into a patch and see if I can > modify the testsuite to give it coverage.
If alignment > MAX_WRITE_ZEROES_BOUNCE_BUFFER (however unlikely) we have the same problem, so maybe this would be better? max_transfer = alignment > 0 ? alignment : MAX_WRITE_ZEROES_BOUNCE_BUFFER --Ed