From: Matthew Wilcox <willy@infradead.org>
To: Jan Kara <jack@suse.cz>
Cc: Jan Kara <jack@suse.com>, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 1/7] udf: Convert udf_symlink_filler() to use a folio
Date: Thu, 18 Apr 2024 13:27:35 +0100 [thread overview]
Message-ID: <ZiERt6j_zTDrFC_3@casper.infradead.org> (raw)
In-Reply-To: <20240418103734.kdr5u3556wyt3zgw@quack3>
On Thu, Apr 18, 2024 at 12:37:34PM +0200, Jan Kara wrote:
> On Wed 17-04-24 16:04:07, Matthew Wilcox (Oracle) wrote:
> > Remove the conversion to struct page and use folio APIs throughout.
> >
> > Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
>
> Looks good. I've just noticed this removes the SetPageError(). Grepping for
> a while we seem to set/clear that in quite some places in the filesystems
> but nobody is reading it these days (to be fair jfs has one test and btrfs
> also one)? And similarly with folio_test_error... I have a recollection
> this was actually used in the past but maybe you've removed it as part of
> folio overhaul? Anyway, either something should start using the error bit
> or we can drop the dead code and free up a page flags bit. Yay.
Right, the VFS never checks PageError nor folio_test_error. It's purely
a filesystem-internal-use flag at this point. I think buffer.c used
to test it, but only locally, so I turned it into a local bool. So all
the places in filesystems which set/clear it can be removed ... except
for the filesystems which check it.
I'd love to reclaim that flag, I just need to figure out how to remove
the few remaining places that check it. The btrfs usage is awful because
PageError was _supposed_ to be used for read errors, but they're using
it for writeback errors. And they're using that flag on the bdev's page
cache, not even their own page cache. It's also buggy for machines with
PAGE_SIZE > 4kB; it's just that writeback errors are rare, so they get
away with it. I had a go at fixing it once, but failed.
JFS is more straightforward; I think I can use a bit in struct metapage
as a replacement read error flag. I should probably have another go at
fixing these two and then I can reclaim PG_error.
next prev parent reply other threads:[~2024-04-18 12:27 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-17 15:04 [PATCH 0/7] Convert UDF to folios Matthew Wilcox (Oracle)
2024-04-17 15:04 ` [PATCH 1/7] udf: Convert udf_symlink_filler() to use a folio Matthew Wilcox (Oracle)
2024-04-18 10:37 ` Jan Kara
2024-04-18 12:27 ` Matthew Wilcox [this message]
2024-04-17 15:04 ` [PATCH 2/7] udf: Convert udf_write_begin() " Matthew Wilcox (Oracle)
2024-04-17 15:04 ` [PATCH 3/7] udf: Convert udf_expand_file_adinicb() " Matthew Wilcox (Oracle)
2024-04-18 10:44 ` Jan Kara
2024-04-17 15:04 ` [PATCH 4/7] udf: Convert udf_adinicb_readpage() to udf_adinicb_read_folio() Matthew Wilcox (Oracle)
2024-04-18 10:50 ` Jan Kara
2024-04-18 12:29 ` Matthew Wilcox
2024-04-19 8:50 ` Jan Kara
2024-04-17 15:04 ` [PATCH 5/7] udf: Convert udf_symlink_getattr() to use a folio Matthew Wilcox (Oracle)
2024-04-17 15:04 ` [PATCH 6/7] udf: Convert udf_page_mkwrite() " Matthew Wilcox (Oracle)
2024-04-17 15:04 ` [PATCH 7/7] udf: Use a folio in udf_write_end() Matthew Wilcox (Oracle)
2024-04-18 10:53 ` [PATCH 0/7] Convert UDF to folios Jan Kara
2024-04-23 13:44 ` Jan Kara
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=ZiERt6j_zTDrFC_3@casper.infradead.org \
--to=willy@infradead.org \
--cc=jack@suse.com \
--cc=jack@suse.cz \
--cc=linux-fsdevel@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;
as well as URLs for NNTP newsgroup(s).