diff options
Diffstat (limited to 'drivers/block/zram/zram_drv.c')
-rw-r--r-- | drivers/block/zram/zram_drv.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c index dfa4024c448a..d00831c3d731 100644 --- a/drivers/block/zram/zram_drv.c +++ b/drivers/block/zram/zram_drv.c | |||
@@ -378,7 +378,6 @@ static int zram_decompress_page(struct zram *zram, char *mem, u32 index) | |||
378 | /* Should NEVER happen. Return bio error if it does. */ | 378 | /* Should NEVER happen. Return bio error if it does. */ |
379 | if (unlikely(ret)) { | 379 | if (unlikely(ret)) { |
380 | pr_err("Decompression failed! err=%d, page=%u\n", ret, index); | 380 | pr_err("Decompression failed! err=%d, page=%u\n", ret, index); |
381 | atomic64_inc(&zram->stats.failed_reads); | ||
382 | return ret; | 381 | return ret; |
383 | } | 382 | } |
384 | 383 | ||
@@ -547,8 +546,6 @@ out: | |||
547 | zcomp_strm_release(zram->comp, zstrm); | 546 | zcomp_strm_release(zram->comp, zstrm); |
548 | if (is_partial_io(bvec)) | 547 | if (is_partial_io(bvec)) |
549 | kfree(uncmem); | 548 | kfree(uncmem); |
550 | if (ret) | ||
551 | atomic64_inc(&zram->stats.failed_writes); | ||
552 | return ret; | 549 | return ret; |
553 | } | 550 | } |
554 | 551 | ||
@@ -566,6 +563,13 @@ static int zram_bvec_rw(struct zram *zram, struct bio_vec *bvec, u32 index, | |||
566 | ret = zram_bvec_write(zram, bvec, index, offset); | 563 | ret = zram_bvec_write(zram, bvec, index, offset); |
567 | } | 564 | } |
568 | 565 | ||
566 | if (unlikely(ret)) { | ||
567 | if (rw == READ) | ||
568 | atomic64_inc(&zram->stats.failed_reads); | ||
569 | else | ||
570 | atomic64_inc(&zram->stats.failed_writes); | ||
571 | } | ||
572 | |||
569 | return ret; | 573 | return ret; |
570 | } | 574 | } |
571 | 575 | ||