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. Diffstat: zram_drv.c | 375 ++++++++++++++++++++++--------------------------------------- zram_drv.h | 1 2 files changed, 136 insertions(+), 240 deletions(-)