archive mirror
 help / color / mirror / Atom feed
From: Mikulas Patocka <>
To: Milan Broz <>,
	Bart Van Assche <>,
	"Theodore Ts'o" <>,
	Changheun Lee <>
Subject: Re: regression: data corruption with ext4 on LUKS on nvme with torvalds master
Date: Fri, 14 May 2021 05:50:40 -0400 (EDT)	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

On 5/13/21 7:15 AM, Theodore Ts'o wrote:
> 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

If you use data=writeback, data writes and journal writes are not 
synchronized. So, it may be possible that a journal write made it through, 
a data write didn't - the end result would be a file containing random 
contents that was on the disk.

Changheun - do you use data=writeback? Did the corruption happen only in 
newly created files? Or did it corrupt existing files?

> 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).


  parent reply	other threads:[~2021-05-14  9:51 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <>
2021-05-13  9:42 ` regression: data corruption with ext4 on LUKS on nvme with torvalds master Changheun Lee
2021-05-13 14:15   ` Theodore Ts'o
2021-05-13 15:59     ` Bart Van Assche
     [not found]       ` <>
2021-05-13 19:22         ` Mikulas Patocka
2021-05-13 21:18           ` Bart Van Assche
2021-05-14  9:43             ` Mikulas Patocka
2021-05-14  9:50           ` Mikulas Patocka [this message]
     [not found]             ` <>
2021-05-14 10:26               ` Changheun Lee
2021-07-09 20:45                 ` Samuel Mendoza-Jonas
     [not found] <1620493841.bxdq8r5haw.none.ref@localhost>
2021-05-08 17:54 ` Alex Xu (Hello71)
2021-05-09  2:29   ` Alex Xu (Hello71)
2021-05-09  3:51     ` Jens Axboe
2021-05-09 14:47       ` Alex Xu (Hello71)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).