linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Joanne Koong <joannelkoong@gmail.com>
To: "David Hildenbrand (Red Hat)" <david@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	miklos@szeredi.hu, linux-mm@kvack.org,
	 athul.krishna.kr@protonmail.com, j.neuschaefer@gmx.net,
	carnil@debian.org,  linux-fsdevel@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH v2 1/1] fs/writeback: skip AS_NO_DATA_INTEGRITY mappings in wait_sb_inodes()
Date: Mon, 5 Jan 2026 11:55:45 -0800	[thread overview]
Message-ID: <CAJnrk1YhqsoNGFocqbDhbU00c1ZZCqGrDVDf1ZCFqubPLQH4qQ@mail.gmail.com> (raw)
In-Reply-To: <9f9343f6-c714-4d2f-985b-e832c6960360@kernel.org>

On Sun, Jan 4, 2026 at 10:54 AM David Hildenbrand (Red Hat)
<david@kernel.org> wrote:
>
> On 1/3/26 19:03, Andrew Morton wrote:
> > On Sun, 14 Dec 2025 19:00:43 -0800 Joanne Koong <joannelkoong@gmail.com> wrote:
> >
> >> Skip waiting on writeback for inodes that belong to mappings that do not
> >> have data integrity guarantees (denoted by the AS_NO_DATA_INTEGRITY
> >> mapping flag).
> >>
> >> This restores fuse back to prior behavior where syncs are no-ops. This
> >> is needed because otherwise, if a system is running a faulty fuse
> >> server that does not reply to issued write requests, this will cause
> >> wait_sb_inodes() to wait forever.
> >>
> >> Fixes: 0c58a97f919c ("fuse: remove tmp folio for writebacks and internal rb tree")
> >> Reported-by: Athul Krishna <athul.krishna.kr@protonmail.com>
> >> Reported-by: J. Neuschäfer <j.neuschaefer@gmx.net>
> >> Cc: stable@vger.kernel.org
> >> Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
> >>
> >> ..
> >>
> >> --- a/fs/fs-writeback.c
> >> +++ b/fs/fs-writeback.c
> >> @@ -2751,7 +2751,8 @@ static void wait_sb_inodes(struct super_block *sb)
> >>               * do not have the mapping lock. Skip it here, wb completion
> >>               * will remove it.
> >>               */
> >> -            if (!mapping_tagged(mapping, PAGECACHE_TAG_WRITEBACK))
> >> +            if (!mapping_tagged(mapping, PAGECACHE_TAG_WRITEBACK) ||
> >> +                mapping_no_data_integrity(mapping))
> >>                      continue;
> >
> > It's not obvious why a no-data-integrity mapping would want to skip
> > writeback - what do these things have to do with each other?
> >
> > So can we please have a v2 which has a comment here explaining this to the
> > reader?
>
> Sorry for not replying earlier, I missed a couple of mails sent to my
> @redhat address due to @gmail being force-unsubscribed from linux-mm ...
>
> Probably sufficient to add at the beginning of the commit:
>
> "Above the while() loop in wait_sb_inodes(), we document that we must
> wait for all pages under writeback for data integrity. Consequently, if
> a mapping, like fuse, traditionally does not have data integrity
> semantics, there is no need to wait at all; we can simply skip these inodes.
>
> So skip ..."

Sounds good, I'll send out v3 with these changes. Thanks for the
feedback, Andrew and David.

>
> --
> Cheers
>
> David


  reply	other threads:[~2026-01-05 19:55 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-15  3:00 [PATCH v2 0/1] " Joanne Koong
2025-12-15  3:00 ` [PATCH v2 1/1] " Joanne Koong
2025-12-15 17:09   ` Bernd Schubert
2025-12-16  7:07     ` Joanne Koong
2025-12-16 18:13   ` J. Neuschäfer
2026-01-02 17:42   ` Joanne Koong
2026-01-03 18:03   ` Andrew Morton
2026-01-04 18:54     ` David Hildenbrand (Red Hat)
2026-01-05 19:55       ` Joanne Koong [this message]
2026-01-06  9:33   ` Jan Kara
2026-01-06 10:05     ` David Hildenbrand (Red Hat)
2026-01-06 13:13       ` Miklos Szeredi
2026-01-06 13:55         ` Jan Kara
2026-01-06 14:33         ` David Hildenbrand (Red Hat)
2026-01-06 15:21           ` Miklos Szeredi
2026-01-06 15:41             ` David Hildenbrand (Red Hat)
2026-01-06 16:05               ` Miklos Szeredi
2026-01-06 17:54                 ` David Hildenbrand (Red Hat)
2026-01-06 23:30     ` Joanne Koong
2026-01-07 10:12       ` Jan Kara
2026-01-07 23:20         ` Joanne Koong

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=CAJnrk1YhqsoNGFocqbDhbU00c1ZZCqGrDVDf1ZCFqubPLQH4qQ@mail.gmail.com \
    --to=joannelkoong@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=athul.krishna.kr@protonmail.com \
    --cc=carnil@debian.org \
    --cc=david@kernel.org \
    --cc=j.neuschaefer@gmx.net \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=miklos@szeredi.hu \
    --cc=stable@vger.kernel.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