md-bitmap: cleanup read_sb_page
authorChristoph Hellwig <hch@lst.de>
Thu, 15 Jun 2023 06:48:36 +0000 (08:48 +0200)
committerSong Liu <song@kernel.org>
Thu, 27 Jul 2023 07:13:29 +0000 (00:13 -0700)
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
drivers/md/md-bitmap.c

index db5725b..c6dd1fa 100644 (file)
@@ -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 */
+
+/* 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)
+               struct page *page, unsigned long index, int size)
 {
-       /* choose a good rdev and read the page from there */
 
+       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))
-                       continue;
+               u32 iosize = roundup(size, bdev_logical_block_size(rdev->bdev));
 
-               target = offset + index * (PAGE_SIZE/512);
+               if (!test_bit(In_sync, &rdev->flags) ||
+                   test_bit(Faulty, &rdev->flags) ||
+                   test_bit(Bitmap_sync, &rdev->flags))
+                       continue;
 
-               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;
                }