]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/block_dev.c
block: make bdev_ops->rw_page() take a REQ_OP instead of bool
[linux.git] / fs / block_dev.c
index 05e12aea24043dac01826bcc833be0e9e8c2e13b..496fb51a1e1a1058e5c4d0c5d14501da039c47cd 100644 (file)
@@ -205,7 +205,8 @@ __blkdev_direct_IO_simple(struct kiocb *iocb, struct iov_iter *iter,
        if (nr_pages <= DIO_INLINE_BIO_VECS)
                vecs = inline_vecs;
        else {
-               vecs = kmalloc(nr_pages * sizeof(struct bio_vec), GFP_KERNEL);
+               vecs = kmalloc_array(nr_pages, sizeof(struct bio_vec),
+                                    GFP_KERNEL);
                if (!vecs)
                        return -ENOMEM;
        }
@@ -664,7 +665,8 @@ int bdev_read_page(struct block_device *bdev, sector_t sector,
        result = blk_queue_enter(bdev->bd_queue, 0);
        if (result)
                return result;
-       result = ops->rw_page(bdev, sector + get_start_sect(bdev), page, false);
+       result = ops->rw_page(bdev, sector + get_start_sect(bdev), page,
+                             REQ_OP_READ);
        blk_queue_exit(bdev->bd_queue);
        return result;
 }
@@ -702,7 +704,8 @@ int bdev_write_page(struct block_device *bdev, sector_t sector,
                return result;
 
        set_page_writeback(page);
-       result = ops->rw_page(bdev, sector + get_start_sect(bdev), page, true);
+       result = ops->rw_page(bdev, sector + get_start_sect(bdev), page,
+                             REQ_OP_WRITE);
        if (result) {
                end_page_writeback(page);
        } else {