zram: change parameter from vaild_io_request()
authorkaram.lee <karam.lee@lge.com>
Sat, 13 Dec 2014 00:56:50 +0000 (16:56 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 13 Dec 2014 20:42:50 +0000 (12:42 -0800)
This patch changes parameter of valid_io_request for common usage.  The
purpose of valid_io_request() is to determine if bio request is valid or
not.

This patch use I/O start address and size instead of a BIO parameter for
common usage.

Signed-off-by: karam.lee <karam.lee@lge.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Acked-by: Jerome Marchand <jmarchan@redhat.com>
Cc: Matthew Wilcox <matthew.r.wilcox@intel.com>
Cc: Nitin Gupta <ngupta@vflare.org>
Cc: <seungho1.park@lge.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/block/zram/zram_drv.c

index ac5be75..98af4aa 100644 (file)
@@ -287,19 +287,18 @@ static inline int is_partial_io(struct bio_vec *bvec)
 /*
  * Check if request is within bounds and aligned on zram logical blocks.
  */
-static inline int valid_io_request(struct zram *zram, struct bio *bio)
+static inline int valid_io_request(struct zram *zram,
+               sector_t start, unsigned int size)
 {
-       u64 start, end, bound;
+       u64 end, bound;
 
        /* unaligned request */
-       if (unlikely(bio->bi_iter.bi_sector &
-                    (ZRAM_SECTOR_PER_LOGICAL_BLOCK - 1)))
+       if (unlikely(start & (ZRAM_SECTOR_PER_LOGICAL_BLOCK - 1)))
                return 0;
-       if (unlikely(bio->bi_iter.bi_size & (ZRAM_LOGICAL_BLOCK_SIZE - 1)))
+       if (unlikely(size & (ZRAM_LOGICAL_BLOCK_SIZE - 1)))
                return 0;
 
-       start = bio->bi_iter.bi_sector;
-       end = start + (bio->bi_iter.bi_size >> SECTOR_SHIFT);
+       end = start + (size >> SECTOR_SHIFT);
        bound = zram->disksize >> SECTOR_SHIFT;
        /* out of range range */
        if (unlikely(start >= bound || end > bound || start > end))
@@ -915,7 +914,8 @@ static void zram_make_request(struct request_queue *queue, struct bio *bio)
        if (unlikely(!init_done(zram)))
                goto error;
 
-       if (!valid_io_request(zram, bio)) {
+       if (!valid_io_request(zram, bio->bi_iter.bi_sector,
+                                       bio->bi_iter.bi_size)) {
                atomic64_inc(&zram->stats.invalid_io);
                goto error;
        }