BACKPORT: zram: write incompressible pages to backing device
authorMinchan Kim <minchan@kernel.org>
Wed, 6 Sep 2017 23:20:03 +0000 (16:20 -0700)
committerMichael Benedict <michaelbt@live.com>
Fri, 30 Aug 2019 07:42:39 +0000 (17:42 +1000)
commit64e1cfa0a2442b7f7251d36c79f6714df4cafee9
tree297cd626adf04465af5494c4a995c86aa3f6f378
parent268534d1b2cdc1350e4ededc45cbb99b87913854
BACKPORT: zram: write incompressible pages to backing device

This patch enables write IO to transfer data to backing device.  For
that, it implements write_to_bdev function which creates new bio and
chaining with parent bio to make the parent bio asynchrnous.

For rw_page which don't have parent bio, it submit owned bio and handle
IO completion by zram_page_end_io.

Also, this patch defines new flag ZRAM_WB to mark written page for later
read IO.

[xieyisheng1@huawei.com: fix typo in comment]
Link: http://lkml.kernel.org/r/1502707447-6944-2-git-send-email-xieyisheng1@huawei.com
Link: http://lkml.kernel.org/r/1498459987-24562-8-git-send-email-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan@kernel.org>
Signed-off-by: Yisheng Xie <xieyisheng1@huawei.com>
Cc: Juneho Choi <juno.choi@lge.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit db8ffbd4e7634cc537c8d32e73e7ce0f06248645)
Signed-off-by: Peter Kalauskas <peskal@google.com>
Bug: 112488418
Change-Id: Ie675efd6c3ec04a151443f1cd0bf798d4847710f
drivers/block/zram/zram_drv.c
drivers/block/zram/zram_drv.h