md-bitmap: cleanup read_sb_page
Convert read_sb_page to the normal kernel coding style, calculate the target sector only once, and add a local iosize variable to make the call to sync_page_io more readable. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.de> Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com> Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com> Signed-off-by: Song Liu <song@kernel.org> Link: https://lore.kernel.org/r/20230615064840.629492-8-hch@lst.de
This commit is contained in:
parent
844dc6691a
commit
0c3ea5cc8f
@ -139,26 +139,25 @@ static void md_bitmap_checkfree(struct bitmap_counts *bitmap, unsigned long page
|
||||
*/
|
||||
|
||||
/* IO operations when bitmap is stored near all superblocks */
|
||||
static int read_sb_page(struct mddev *mddev, loff_t offset,
|
||||
struct page *page,
|
||||
unsigned long index, int size)
|
||||
{
|
||||
/* choose a good rdev and read the page from there */
|
||||
|
||||
/* choose a good rdev and read the page from there */
|
||||
static int read_sb_page(struct mddev *mddev, loff_t offset,
|
||||
struct page *page, unsigned long index, int size)
|
||||
{
|
||||
|
||||
sector_t sector = offset + index * (PAGE_SIZE / SECTOR_SIZE);
|
||||
struct md_rdev *rdev;
|
||||
sector_t target;
|
||||
|
||||
rdev_for_each(rdev, mddev) {
|
||||
if (! test_bit(In_sync, &rdev->flags)
|
||||
|| test_bit(Faulty, &rdev->flags)
|
||||
|| test_bit(Bitmap_sync, &rdev->flags))
|
||||
u32 iosize = roundup(size, bdev_logical_block_size(rdev->bdev));
|
||||
|
||||
if (!test_bit(In_sync, &rdev->flags) ||
|
||||
test_bit(Faulty, &rdev->flags) ||
|
||||
test_bit(Bitmap_sync, &rdev->flags))
|
||||
continue;
|
||||
|
||||
target = offset + index * (PAGE_SIZE/512);
|
||||
|
||||
if (sync_page_io(rdev, target,
|
||||
roundup(size, bdev_logical_block_size(rdev->bdev)),
|
||||
page, REQ_OP_READ, true)) {
|
||||
if (sync_page_io(rdev, sector, iosize, page, REQ_OP_READ,
|
||||
true)) {
|
||||
page->index = index;
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user