Fixes from debugging relval failures:
Add more validation to the readv chunks.
Avoid calling ML from a multithreaded context.
Avoid reordering locks.
Retry if the server sends an invalid response.