Linux Btrfs filesystem development
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: linux-fsdevel@vger.kernel.org,
	Linux Memory Management List <linux-mm@kvack.org>,
	"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>
Subject: The proper handling of failed IO error?
Date: Mon, 10 Jun 2024 06:50:11 +0930	[thread overview]
Message-ID: <960aa841-8d7c-413f-9a1b-0364ae3b9493@gmx.com> (raw)

Hi,

There is a recent (well a year ago) change in btrfs to remove the usage
of page/folio error, which gets me wondering what would happen if we got
a lot of write errors and high memory pressure?

Yes, all file systems calls mapping_set_error() so that fsync call would
return error, but I'm wondering what would happen to those folios that
failed to be written?

Those folios has their DIRTY flag cleared before submission, and and
their endio functions, the WRITEBACK flags is also cleared.

Meaning after such write failure, the page/folio has UPTODATE flag, and
no DIRTY/ERROR/WRITEBACK flags (at least for btrfs and ext4, meanwhile
iomap still set the ERROR flag).

Would any memory pressure just reclaim those pages/folios without them
really reaching the disk?

Thanks,
Qu

             reply	other threads:[~2024-06-09 21:20 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-09 21:20 Qu Wenruo [this message]
2024-06-10  3:49 ` The proper handling of failed IO error? Matthew Wilcox
2024-06-10  5:24   ` Qu Wenruo

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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=960aa841-8d7c-413f-9a1b-0364ae3b9493@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* 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