Message ID | 20191128122958.178290-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | zram: fix error return codes not being returned in writeback_store | expand |
On Thu, Nov 28, 2019 at 12:29:58PM +0000, Colin King wrote: > From: Colin Ian King <colin.king@canonical.com> > > Currently when an error code -EIO or -ENOSPC in the for-loop of > writeback_store the error code is being overwritten by a ret = len > assignment at the end of the function and the error codes are being > lost. Fix this by assigning ret = len at the start of the function > and remove the assignment from the end, hence allowing ret to be > preserved when error codes are assigned to it. > > Addresses-Coverity: ("Unused value") > Fixes: a939888ec38b ("zram: support idle/huge page writeback") > Signed-off-by: Colin Ian King <colin.king@canonical.com> Acked-by: Minchan Kim <minchan@kernel.org> Thanks!
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index 4285e75e52c3..1bf4a908a0bd 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c @@ -626,7 +626,7 @@ static ssize_t writeback_store(struct device *dev, struct bio bio; struct bio_vec bio_vec; struct page *page; - ssize_t ret; + ssize_t ret = len; int mode; unsigned long blk_idx = 0; @@ -762,7 +762,6 @@ static ssize_t writeback_store(struct device *dev, if (blk_idx) free_block_bdev(zram, blk_idx); - ret = len; __free_page(page); release_init_lock: up_read(&zram->init_lock);