linux/drivers/block
Minchan Kim 2766f18216 zram: fix broken page writeback
commit 0d8359620d ("zram: support page writeback") introduced two
problems.  It overwrites writeback_store's return value as kstrtol's
return value, which makes return value zero so user could see zero as
return value of write syscall even though it wrote data successfully.

It also breaks index value in the loop in that it doesn't increase the
index any longer.  It means it can write only first starting block index
so user couldn't write all idle pages in the zram so lose memory saving
chance.

This patch fixes those issues.

Link: https://lkml.kernel.org/r/20210312173949.2197662-2-minchan@kernel.org
Fixes: 0d8359620d9b("zram: support page writeback")
Signed-off-by: Minchan Kim <minchan@kernel.org>
Reported-by: Amos Bianchi <amosbianchi@google.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Cc: John Dias <joaodias@google.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2021-03-13 11:27:31 -08:00
..
aoe block: Replace lkml.org links with lore 2021-02-10 20:07:21 -07:00
drbd for-5.12/drivers-2021-02-17 2021-02-21 11:06:54 -08:00
mtip32xx mtip32xx: prefer pcie_capability_read_word() 2021-01-26 13:09:39 -07:00
null_blk for-5.12/block-2021-02-17 2021-02-21 11:02:48 -08:00
paride block: remove unnecessary argument from blk_execute_rq 2021-01-24 21:52:39 -07:00
rnbd block/rnbd-clt: avoid module unload race with close confirmation 2021-01-08 08:19:18 -07:00
rsxx rsxx: Return -EFAULT if copy_to_user() fails 2021-03-03 06:48:44 -07:00
xen-blkback block: Add bio_max_segs 2021-02-26 15:49:51 -07:00
zram zram: fix broken page writeback 2021-03-13 11:27:31 -08:00
amiflop.c amiflop: use separate gendisks for Amiga vs MS-DOS mode 2020-11-16 08:14:30 -07:00
ataflop.c ataflop: use a separate gendisk for each media format 2020-11-16 08:14:31 -07:00
brd.c block: store a block_device pointer in struct bio 2021-01-24 18:17:20 -07:00
cryptoloop.c
floppy.c floppy: reintroduce O_NDELAY fix 2021-02-04 13:00:24 +03:00
Kconfig - added n64 block driver 2021-02-25 12:18:21 -08:00
loop.c block-5.12-2021-02-27 2021-02-28 11:23:38 -08:00
loop.h loop: scale loop device by introducing per device lock 2021-01-26 13:08:54 -07:00
Makefile - added n64 block driver 2021-02-25 12:18:21 -08:00
n64cart.c n64: store dev instance into disk private data 2021-02-21 23:37:52 +01:00
nbd.c nbd: handle device refs for DESTROY_ON_DISCONNECT properly 2021-02-22 13:17:23 -07:00
pktcdvd.c block: remove unnecessary argument from blk_execute_rq 2021-01-24 21:52:39 -07:00
ps3disk.c powerpc/ps3: make system bus's remove and shutdown callbacks return void 2020-12-04 01:01:22 +11:00
ps3vram.c block: store a block_device pointer in struct bio 2021-01-24 18:17:20 -07:00
rbd_types.h libceph, rbd: replace zero-length array with flexible-array 2020-06-01 13:22:53 +02:00
rbd.c rbd: remove the ->set_read_only method 2021-01-24 18:15:57 -07:00
sunvdc.c
swim3.c swim3: use bdev_check_media_changed 2020-09-10 09:32:31 -06:00
swim_asm.S
swim.c swim: don't call blk_register_region 2020-11-16 08:14:30 -07:00
sx8.c block: remove unnecessary argument from blk_execute_rq_nowait 2021-01-24 21:52:39 -07:00
umem.c block: store a block_device pointer in struct bio 2021-01-24 18:17:20 -07:00
umem.h
virtio_blk.c virtio: features, fixes 2021-02-25 12:21:08 -08:00
xen-blkfront.c xen: branch for v5.11-rc6 2021-01-28 10:08:08 -08:00
xsysace.c xsysace: use platform_get_resource() and platform_get_irq_optional() 2020-10-29 08:22:33 -06:00
z2ram.c z2ram: use separate gendisk for the different modes 2020-11-16 08:14:31 -07:00