Thread (42 messages) 42 messages, 7 authors, 2023-06-16

Re: [PATCH 07/11] md-bitmap: cleanup read_sb_page

From: Himanshu Madhani <hidden>
Date: 2023-06-15 18:32:30
Also in: linux-block, linux-fsdevel

quoted hunk ↗ jump to hunk
On Jun 14, 2023, at 11:48 PM, Christoph Hellwig [off-list ref] wrote:

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>
---
drivers/md/md-bitmap.c | 23 +++++++++++------------
1 file changed, 11 insertions(+), 12 deletions(-)
diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c
index 1f71683b417981..f4bff2dfe2fd8f 100644
--- a/drivers/md/md-bitmap.c
+++ b/drivers/md/md-bitmap.c
@@ -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;
}
-- 
2.39.2
Reviewed-by: Himanshu Madhani <redacted>

-- 
Himanshu Madhani Oracle Linux Engineering
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help