Comment 2 for bug 1796542

Revision history for this message
Vasil Kolev (krokodilerian) wrote : Re: Silent corruption in Linux kernel 4.15

Thank you for looking at this bug report.

We have some additional information.

qemu/kvm with cache=none (common) and aio=threads (default) is required to trigger the bug. aio=native (another common option) does not trigger it in our testing.

We applied the following patches on top of Ubuntu-4.15.0-36.39.

commit 0aa69fd32a5f766e997ca8ab4723c5a1146efa8b - block: add a lower-level bio_add_page interface
commit b403ea2404889e1227812fa9657667a1deb9c694 - block: bio_iov_iter_get_pages: fix size of last iovec
commit 9362dd1109f87a9d0a798fbc890cb339c171ed35 - blkdev: __blkdev_direct_IO_simple: fix leak in error case
commit 17d51b10d7773e4618bcac64648f30f12d4078fb - block: bio_iov_iter_get_pages: pin more pages for multi-segment IOs

The first one introduces a helper function, and the next three are the upstream patchset that fixes the issue.