Re: regression: data corruption with ext4 on LUKS on nvme with torvalds master

From: Theodore Ts'o
Date: Thu May 13 2021 - 10:16:08 EST


On Thu, May 13, 2021 at 06:42:22PM +0900, Changheun Lee wrote:
>
> Problem might be casued by exhausting of memory. And memory exhausting
> would be caused by setting of small bio_max_size. Actually it was not
> reproduced in my VM environment at first. But, I reproduced same problem
> when bio_max_size is set with 8KB forced. Too many bio allocation would
> be occurred by setting of 8KB bio_max_size.

Hmm... I'm not sure how to align your diagnosis with the symptoms in
the bug report. If we were limited by memory, that should slow down
the I/O, but we should still be making forward progress, no? And a
forced reboot should not result in data corruption, unless maybe there
was a missing check for a failed memory allocation, causing data to be
written to the wrong location, a missing error check leading to the
block or file system layer not noticing that a write had failed
(although again, memory exhaustion should not lead to failed writes;
it might slow us down, sure, but if writes are being failed, something
is Badly Going Wrong --- things like writes to the swap device or
writes by the page cleaner must succeed, or else Things Would Go Bad
In A Hurry).

- Ted