lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1745987268.git.ritesh.list@gmail.com>
Date: Wed, 30 Apr 2025 10:50:40 +0530
From: "Ritesh Harjani (IBM)" <ritesh.list@...il.com>
To: Theodore Ts'o <tytso@....edu>,
	Jan Kara <jack@...e.cz>
Cc: John Garry <john.g.garry@...cle.com>,
	djwong@...nel.org,
	Ojaswin Mujoo <ojaswin@...ux.ibm.com>,
	linux-ext4@...r.kernel.org,
	"Ritesh Harjani (IBM)" <ritesh.list@...il.com>
Subject: [RFC v2 0/2] ext4: Add multi-fsblock atomic write support using bigalloc

This is still an early preview (RFC v2) of multi-fsblock atomic write. Since the
core design of the feature looks ready, wanted to post this for some early
feedback. We will break this into more smaller and meaningful patches in later
revision. However to simplify the review of the core design changes, this
version is limited to just two patches. Individual patches might have more
details in the commit msg.

Note: This overall needs more careful review (other than the core design) which
I will be doing in parallel. However it would be helpful if one can provide any
feedback on the core design changes. Specially around ext4_iomap_alloc()
changes, ->end_io() changes and a new get block flag
EXT4_GET_BLOCKS_QUERY_LEAF_BLOCKS.

v1 -> v2:
==========
1. Handled review comments from Ojaswin to optimize the ext4_map_block() calls
   in ext4_iomap_alloc().
2. Fixed the journal credits calculation for both:
	- during block allocation in ext4_iomap_alloc()
	- during dio completion in ->end_io callback.
   Earlier we were starting multiple txns in ->end_io callback for unwritten to
   written conversion. But since in case of atomic writes, we want a single jbd2
   txn, hence made the necessary changes there.

TODOs:
======
1. although this survived quick tests and some custom fio tests for atomic
   write, but I still think we need to add more tests for the corner cases.
   Will work on adding such corner test cases to xfstests.
2. Many fsx related tests in quick group were failing with bigalloc. But those
   were failing even without these patches. Need further investigation.
3. Finish more thorough testing of the series.
4. Refactoring + Cleanups and a more careful review of the overall patch series
   before sending v3.


Ritesh Harjani (IBM) (2):
  ext4: Add multi-fsblock atomic write support with bigalloc
  ext4: Add support for EXT4_GET_BLOCKS_QUERY_LEAF_BLOCKS

 fs/ext4/ext4.h    |   9 ++
 fs/ext4/extents.c |  69 ++++++++++++++
 fs/ext4/file.c    |   7 +-
 fs/ext4/inode.c   | 231 ++++++++++++++++++++++++++++++++++++++++++----
 fs/ext4/super.c   |   8 +-
 5 files changed, 302 insertions(+), 22 deletions(-)

--
2.49.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ