]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
block_dev: get rid of blksize bits calculation
authorJens Axboe <axboe@fb.com>
Tue, 22 Nov 2016 15:12:39 +0000 (08:12 -0700)
committerJens Axboe <axboe@fb.com>
Tue, 22 Nov 2016 15:56:25 +0000 (08:56 -0700)
We store the bits in the bdev sector size locally, but we don't use
the calculation anymore. All we do with it is shift it back up to
the bdev sector size. So let's just use that directly and kill the
variable and bits calculation.

Signed-off-by: Jens Axboe <axboe@fb.com>
fs/block_dev.c

index e49fb797e44763706a5817ff471cad0ef4bcbba9..b0c790a19db9a38db06eb00398b4bca5242c13f8 100644 (file)
@@ -202,7 +202,6 @@ __blkdev_direct_IO_simple(struct kiocb *iocb, struct iov_iter *iter,
 {
        struct file *file = iocb->ki_filp;
        struct block_device *bdev = I_BDEV(bdev_file_inode(file));
-       unsigned blkbits = blksize_bits(bdev_logical_block_size(bdev));
        struct bio_vec inline_vecs[DIO_INLINE_BIO_VECS], *vecs, *bvec;
        loff_t pos = iocb->ki_pos;
        bool should_dirty = false;
@@ -211,7 +210,8 @@ __blkdev_direct_IO_simple(struct kiocb *iocb, struct iov_iter *iter,
        blk_qc_t qc;
        int i;
 
-       if ((pos | iov_iter_alignment(iter)) & ((1 << blkbits) - 1))
+       if ((pos | iov_iter_alignment(iter)) &
+           (bdev_logical_block_size(bdev) - 1))
                return -EINVAL;
 
        if (nr_pages <= DIO_INLINE_BIO_VECS)
@@ -331,7 +331,6 @@ __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter, int nr_pages)
        struct file *file = iocb->ki_filp;
        struct inode *inode = bdev_file_inode(file);
        struct block_device *bdev = I_BDEV(inode);
-       unsigned blkbits = blksize_bits(bdev_logical_block_size(bdev));
        struct blkdev_dio *dio;
        struct bio *bio;
        bool is_read = (iov_iter_rw(iter) == READ);
@@ -339,7 +338,8 @@ __blkdev_direct_IO(struct kiocb *iocb, struct iov_iter *iter, int nr_pages)
        blk_qc_t qc = BLK_QC_T_NONE;
        int ret;
 
-       if ((pos | iov_iter_alignment(iter)) & ((1 << blkbits) - 1))
+       if ((pos | iov_iter_alignment(iter)) &
+           (bdev_logical_block_size(bdev) - 1))
                return -EINVAL;
 
        bio = bio_alloc_bioset(GFP_KERNEL, nr_pages, blkdev_dio_pool);