From: "Matthew Wilcox (Oracle)" <willy@infradead.org>
To: linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Subject: [PATCH 0/8] iomap writethrough for O_SYNC writes
Date: Wed, 11 Aug 2021 03:46:39 +0100 [thread overview]
Message-ID: <20210811024647.3067739-1-willy@infradead.org> (raw)
Files opened with O_SYNC (... or similar) are currently handled by writing
to the page, marking it dirty, then finding all dirty pages, clearing
their dirty bit, marking them as writeback and waiting for the writeback
to complete. This patchset bypasses two of those steps by marking the
pages as writeback from the beginning. It can also be more precise about
which bytes in the page are dirty, reducing the number of bytes written.
This whole patchset will have to be redone on top of Christoph's recent
iomap_iter patches. That's OK, but it's partly why I've added some
forward declarations instead of reorganising the file so they're not
needed.
Matthew Wilcox (Oracle) (8):
iomap: Pass struct iomap to iomap_alloc_ioend()
iomap: Remove iomap_writepage_ctx from iomap_can_add_to_ioend()
iomap: Do not pass iomap_writepage_ctx to iomap_add_to_ioend()
iomap: Accept a NULL iomap_writepage_ctx in iomap_submit_ioend()
iomap: Pass iomap_write_ctx to iomap_write_actor()
iomap: Allow a NULL writeback_control argument to iomap_alloc_ioend()
iomap: Pass a length to iomap_add_to_ioend()
iomap: Add writethrough for O_SYNC
fs/iomap/buffered-io.c | 168 +++++++++++++++++++++++++++++------------
1 file changed, 120 insertions(+), 48 deletions(-)
--
2.30.2
next reply other threads:[~2021-08-11 2:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-11 2:46 Matthew Wilcox (Oracle) [this message]
2021-08-11 2:46 ` [PATCH 1/8] iomap: Pass struct iomap to iomap_alloc_ioend() Matthew Wilcox (Oracle)
2021-08-11 2:46 ` [PATCH 2/8] iomap: Remove iomap_writepage_ctx from iomap_can_add_to_ioend() Matthew Wilcox (Oracle)
2021-08-11 2:46 ` [PATCH 3/8] iomap: Do not pass iomap_writepage_ctx to iomap_add_to_ioend() Matthew Wilcox (Oracle)
2021-08-11 2:46 ` [PATCH 4/8] iomap: Accept a NULL iomap_writepage_ctx in iomap_submit_ioend() Matthew Wilcox (Oracle)
2021-08-11 2:46 ` [PATCH 5/8] iomap: Pass iomap_write_ctx to iomap_write_actor() Matthew Wilcox (Oracle)
2021-08-11 2:46 ` [PATCH 6/8] iomap: Allow a NULL writeback_control argument to iomap_alloc_ioend() Matthew Wilcox (Oracle)
2021-08-11 2:46 ` [PATCH 7/8] iomap: Pass a length to iomap_add_to_ioend() Matthew Wilcox (Oracle)
2021-08-11 2:46 ` [PATCH 8/8] iomap: Add writethrough for O_SYNC Matthew Wilcox (Oracle)
2021-08-12 13:16 ` Christoph Hellwig
2021-08-12 13:28 ` Matthew Wilcox
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=20210811024647.3067739-1-willy@infradead.org \
--to=willy@infradead.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-xfs@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).