From: Qu Wenruo <wqu@suse.com>
To: linux-btrfs@vger.kernel.org,
Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: [PATCH RFC 0/2] btrfs: defrag: further preparation for multi-page sector size
Date: Wed, 24 Jan 2024 14:33:22 +1030 [thread overview]
Message-ID: <b521e943-ae86-4a6c-a470-072268b254a0@suse.com> (raw)
In-Reply-To: <cover.1706068026.git.wqu@suse.com>
[-- Attachment #1.1.1: Type: text/plain, Size: 1403 bytes --]
Adding MM list to this cover letter.
On 2024/1/24 14:29, Qu Wenruo wrote:
> With the folio interface, it's much easier to support multi-page sector
> size (aka, sector/block size > PAGE_SIZE, which is rare between major
> upstream filesystems).
>
> The basic idea is, if we firstly convert to full folio interface, and
> allow an address space to only allocate folio which is exactly
> block/sector size, the support for multi-page would be mostly done.
>
> But before that support, there are still quite some conversion left for
> btrfs.
>
> Furthermore, with both subpage and multipage sector size, we need to
> handle folio different:
>
> - For subpage
> The folio would always be page sized.
>
> - For multipage (and regular sectorsize == PAGE_SIZE)
> The folio would be sector sized.
>
> Furthermore, the filemap interface would make various shifts more
> complex.
> As filemap_*() interfaces use index which is PAGE_SHIFT based,
> meanwhile with potential larger folio, the folio shift can be larger
> than PAGE_SHIFT.
As I really want some feedback on this part.
I'm pretty sure we would have some filesystems go utilizing larger
folios to implement their multi-page block size support.
Thus in that case, can we have an interface change to make all folio
versions of filemap_*() to accept a file offset instead of page index?
Thanks,
Qu
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 7027 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 495 bytes --]
next parent reply other threads:[~2024-01-24 4:03 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <cover.1706068026.git.wqu@suse.com>
2024-01-24 4:03 ` Qu Wenruo [this message]
2024-01-24 4:48 ` Matthew Wilcox
2024-01-24 5:27 ` Qu Wenruo
2024-01-24 5:43 ` Matthew Wilcox
2024-01-24 5:50 ` 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=b521e943-ae86-4a6c-a470-072268b254a0@suse.com \
--to=wqu@suse.com \
--cc=linux-btrfs@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