Linux Btrfs filesystem development
 help / color / mirror / Atom feed
* [PATCH v2 0/2] btrfs: minor fixes and cleanups on direct IO path
@ 2026-06-08  3:02 Qu Wenruo
  2026-06-08  3:02 ` [PATCH v2 1/2] btrfs: remove btrfs_dio_data::submitted Qu Wenruo
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Qu Wenruo @ 2026-06-08  3:02 UTC (permalink / raw)
  To: linux-btrfs

[CHANGELOG]
v2:
- Drop the first 2 patches
  The problem with APPEND NOWAIT direct writes needs more consideration.
  If short writes happened for APPEND NOWAIT write, there are more
  factors to consider.

  Firstly we should return -EGAIN so that the caller can retry in a
  blocking way.

  Secondly we should fully revert what has been written so that isize is
  not increased.


  For the OE conflicts I have not yet hit with upstream, so it should be
  something wrong in my previous direct locking changes.

There are several small problems inside the direct IO code:

- Duplicated btrfs_dio_data::submitted
  The iomap_end() callback has @written parameter which provides the
  same value.

  Fixed in the third patch.

- Badly structured btrfs_dio_iomap_end()
  Refactored in the last patch.

Qu Wenruo (2):
  btrfs: remove btrfs_dio_data::submitted
  btrfs: refactor btrfs_dio_iomap_end()

 fs/btrfs/direct-io.c | 131 ++++++++++++++++++++++---------------------
 1 file changed, 66 insertions(+), 65 deletions(-)

-- 
2.54.0


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-06-08 11:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-08  3:02 [PATCH v2 0/2] btrfs: minor fixes and cleanups on direct IO path Qu Wenruo
2026-06-08  3:02 ` [PATCH v2 1/2] btrfs: remove btrfs_dio_data::submitted Qu Wenruo
2026-06-08  3:02 ` [PATCH v2 2/2] btrfs: refactor btrfs_dio_iomap_end() Qu Wenruo
2026-06-08 11:25 ` [PATCH v2 0/2] btrfs: minor fixes and cleanups on direct IO path Filipe Manana

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox