Linux block layer
 help / color / mirror / Atom feed
* [PATCH for-next v4 0/5] null_blk: improve write failure simulation
@ 2025-01-21  8:15 Shin'ichiro Kawasaki
  2025-01-21  8:15 ` [PATCH for-next v4 1/5] null_blk: generate null_blk configfs features string Shin'ichiro Kawasaki
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Shin'ichiro Kawasaki @ 2025-01-21  8:15 UTC (permalink / raw)
  To: linux-block, Jens Axboe
  Cc: Damien Le Moal, Bart Van Assche, Shin'ichiro Kawasaki

Currently, null_blk has 'badblocks' parameter to simulate IO failures
for broken blocks. This helps checking if userland tools can handle IO
failures. However, this badblocks feature has two differences from the
IO failures on real storage devices. Firstly, when write operations fail
for the badblocks, null_blk does not write any data, while real storage
devices sometimes do partial data write. Secondly, null_blk always make
write operations fail for the specified badblocks, while real storage
devices can recover the bad blocks so that next write operations can
succeed after failure. Hence, real storage devices are required to check
if userland tools support such partial writes or bad blocks recovery.

This series improves write failure simulation by null_blk to allow
checking userland tools without real storage devices. The first patch
is a preparation to make new feature addition simpler. The second patch
introduces the 'badblocks_once' parameter to simulate bad blocks
recovery. The third patch fixes a bug, and the fourth patch adds a
function argument to prepare for the fifth patch. The fifth patch adds
the partial IO support and introduces the 'badblocks_partial_io'
parameter.

Changes from v3:
* 4th patch: Renamed null_handle_rq() to null_handle_data_transfer()
* 5th patch: Improved comments of null_handle_badblocks()
* Added Reviewed-by tags

Changes from v2:
* 1st patch: Reflected comments on the list
* 2nd patch: Moved the 4th patch in v2 series to 2nd
             Reduced if-block nest level
* 3rd patch: Added to fix zone resource management bug
* 4th patch: Added to prepare for the next patch
* 5th patch: Rewritten to care zone resource management
             Introduced badblocks_patial_io parameter

Changes from v1:
* Added the first patch which avoids the long, multi-line features string

Shin'ichiro Kawasaki (5):
  null_blk: generate null_blk configfs features string
  null_blk: introduce badblocks_once parameter
  null_blk: fix zone resource management for badblocks
  null_blk: pass transfer size to null_handle_rq()
  null_blk: do partial IO for bad blocks

 drivers/block/null_blk/main.c     | 164 +++++++++++++++++++-----------
 drivers/block/null_blk/null_blk.h |   6 ++
 drivers/block/null_blk/zoned.c    |  20 +++-
 3 files changed, 129 insertions(+), 61 deletions(-)

-- 
2.47.0


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

end of thread, other threads:[~2025-01-24  4:26 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-21  8:15 [PATCH for-next v4 0/5] null_blk: improve write failure simulation Shin'ichiro Kawasaki
2025-01-21  8:15 ` [PATCH for-next v4 1/5] null_blk: generate null_blk configfs features string Shin'ichiro Kawasaki
2025-01-21  8:15 ` [PATCH for-next v4 2/5] null_blk: introduce badblocks_once parameter Shin'ichiro Kawasaki
2025-01-21  8:15 ` [PATCH for-next v4 3/5] null_blk: fix zone resource management for badblocks Shin'ichiro Kawasaki
2025-01-23  3:37   ` Damien Le Moal
2025-01-24  4:25     ` Shinichiro Kawasaki
2025-01-21  8:15 ` [PATCH for-next v4 4/5] null_blk: pass transfer size to null_handle_rq() Shin'ichiro Kawasaki
2025-01-21  8:15 ` [PATCH for-next v4 5/5] null_blk: do partial IO for bad blocks Shin'ichiro Kawasaki
2025-01-22  1:01 ` [PATCH for-next v4 0/5] null_blk: improve write failure simulation Chaitanya Kulkarni
2025-01-22  1:02   ` Chaitanya Kulkarni

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