All of lore.kernel.org
 help / color / mirror / Atom feed
* zram I/O path cleanups and fixups v3
@ 2023-04-11 17:14 Christoph Hellwig
  2023-04-11 17:14 ` [PATCH 01/17] zram: always compile read_from_bdev_sync Christoph Hellwig
                   ` (16 more replies)
  0 siblings, 17 replies; 25+ messages in thread
From: Christoph Hellwig @ 2023-04-11 17:14 UTC (permalink / raw)
  To: Minchan Kim, Sergey Senozhatsky; +Cc: Andrew Morton, Jens Axboe, linux-block

Hi all,

this series cleans up the zram I/O path, and fixes the handling of
synchronous I/O to the underlying device in the writeback_store
function or for > 4K PAGE_SIZE systems.

The fixes are at the end, as I could not fully reason about them being
safe before untangling the callchain.

This survives xfstests on two zram devices on x86, but I don't actually
have a large PAGE_SIZE system to test that path on.

Changes since v2:
 - add a patch to always compile the synchronous reads path
 - fix a compile error in said path

Changes since v1:
 - fix failed read vs write accounting
 - minor commit log and comment improvements
 - cosmetic change to use a break instead of a return in the main switch
   in zram_submit_bio

Diffstat:
 zram_drv.c |  384 +++++++++++++++++++++----------------------------------------
 zram_drv.h |    1 
 2 files changed, 138 insertions(+), 247 deletions(-)

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

end of thread, other threads:[~2025-07-16 11:23 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-11 17:14 zram I/O path cleanups and fixups v3 Christoph Hellwig
2023-04-11 17:14 ` [PATCH 01/17] zram: always compile read_from_bdev_sync Christoph Hellwig
2023-04-12 12:27   ` Sergey Senozhatsky
2023-04-11 17:14 ` [PATCH 02/17] zram: remove valid_io_request Christoph Hellwig
2023-04-11 17:14 ` [PATCH 03/17] zram: make zram_bio_discard more self-contained Christoph Hellwig
2023-04-11 17:14 ` [PATCH 04/17] zram: simplify bvec iteration in __zram_make_request Christoph Hellwig
2023-04-11 17:14 ` [PATCH 05/17] zram: move discard handling to zram_submit_bio Christoph Hellwig
2023-04-11 17:14 ` [PATCH 06/17] zram: return early on error in zram_bvec_rw Christoph Hellwig
2023-04-12 12:29   ` Sergey Senozhatsky
2023-04-11 17:14 ` [PATCH 07/17] zram: refactor highlevel read and write handling Christoph Hellwig
2023-04-12 12:30   ` Sergey Senozhatsky
2023-04-11 17:14 ` [PATCH 08/17] zram: don't use highmem for the bounce buffer in zram_bvec_{read,write} Christoph Hellwig
2023-04-11 17:14 ` [PATCH 09/17] zram: rename __zram_bvec_read to zram_read_page Christoph Hellwig
2023-04-11 17:14 ` [PATCH 10/17] zram: directly call zram_read_page in writeback_store Christoph Hellwig
2023-04-11 17:14 ` [PATCH 11/17] zram: refactor zram_bdev_read Christoph Hellwig
2023-04-11 17:14 ` [PATCH 12/17] zram: don't pass a bvec to __zram_bvec_write Christoph Hellwig
2023-04-11 17:14 ` [PATCH 13/17] zram: refactor zram_bdev_write Christoph Hellwig
2023-04-12 12:31   ` Sergey Senozhatsky
2023-04-11 17:14 ` [PATCH 14/17] zram: pass a page to read_from_bdev Christoph Hellwig
2023-04-11 17:14 ` [PATCH 15/17] zram: don't return errors from read_from_bdev_async Christoph Hellwig
2023-04-11 17:14 ` [PATCH 16/17] zram: fix synchronous reads Christoph Hellwig
2025-07-16  8:38   ` Sergey Senozhatsky
2025-07-16  9:44     ` Sergey Senozhatsky
2025-07-16 11:23       ` Christoph Hellwig
2023-04-11 17:14 ` [PATCH 17/17] zram: return errors from read_from_bdev_sync Christoph Hellwig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.