Commit 313b825f authored by Xianting Tian's avatar Xianting Tian Committed by Song Liu
Browse files

md: only calculate blocksize once and use i_blocksize()



We alreday has the interface i_blocksize(), which can be used
to get blocksize, so use it.
Only calculate blocksize once and use it within read_page().

Signed-off-by: default avatarXianting Tian <tian.xianting@h3c.com>
Signed-off-by: default avatarSong Liu <songliubraving@fb.com>
parent 0905053b
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -357,11 +357,12 @@ static int read_page(struct file *file, unsigned long index,
	struct inode *inode = file_inode(file);
	struct buffer_head *bh;
	sector_t block, blk_cur;
	unsigned long blocksize = i_blocksize(inode);

	pr_debug("read bitmap file (%dB @ %llu)\n", (int)PAGE_SIZE,
		 (unsigned long long)index << PAGE_SHIFT);

	bh = alloc_page_buffers(page, 1<<inode->i_blkbits, false);
	bh = alloc_page_buffers(page, blocksize, false);
	if (!bh) {
		ret = -ENOMEM;
		goto out;
@@ -383,10 +384,10 @@ static int read_page(struct file *file, unsigned long index,

			bh->b_blocknr = block;
			bh->b_bdev = inode->i_sb->s_bdev;
			if (count < (1<<inode->i_blkbits))
			if (count < blocksize)
				count = 0;
			else
				count -= (1<<inode->i_blkbits);
				count -= blocksize;

			bh->b_end_io = end_bitmap_write;
			bh->b_private = bitmap;