Skip to content

Commit b743bd9

Browse files
author
Ming Lei
committed
md: improve return types of badblocks handling functions
JIRA: https://issues.redhat.com/browse/RHEL-106845 commit 7e5102d Author: Zheng Qixing <zhengqixing@huawei.com> Date: Thu Feb 27 15:55:06 2025 +0800 md: improve return types of badblocks handling functions rdev_set_badblocks() only indicates success/failure, so convert its return type from int to boolean for better semantic clarity. rdev_clear_badblocks() return value is never used by any caller, convert it to void. This removes unnecessary value returns. Also update narrow_write_error() in both raid1 and raid10 to use boolean return type to match rdev_set_badblocks(). Signed-off-by: Zheng Qixing <zhengqixing@huawei.com> Reviewed-by: Yu Kuai <yukuai3@huawei.com> Link: https://lore.kernel.org/r/20250227075507.151331-12-zhengqixing@huaweicloud.com Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Ming Lei <ming.lei@redhat.com>
1 parent 8339589 commit b743bd9

File tree

4 files changed

+19
-20
lines changed

4 files changed

+19
-20
lines changed

drivers/md/md.c

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9909,9 +9909,9 @@ EXPORT_SYMBOL(md_finish_reshape);
99099909

99109910
/* Bad block management */
99119911

9912-
/* Returns 1 on success, 0 on failure */
9913-
int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
9914-
int is_new)
9912+
/* Returns true on success, false on failure */
9913+
bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
9914+
int is_new)
99159915
{
99169916
struct mddev *mddev = rdev->mddev;
99179917

@@ -9923,15 +9923,15 @@ int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
99239923
* avoid it.
99249924
*/
99259925
if (test_bit(Faulty, &rdev->flags))
9926-
return 1;
9926+
return true;
99279927

99289928
if (is_new)
99299929
s += rdev->new_data_offset;
99309930
else
99319931
s += rdev->data_offset;
99329932

99339933
if (!badblocks_set(&rdev->badblocks, s, sectors, 0))
9934-
return 0;
9934+
return false;
99359935

99369936
/* Make sure they get written out promptly */
99379937
if (test_bit(ExternalBbl, &rdev->flags))
@@ -9940,24 +9940,23 @@ int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
99409940
set_mask_bits(&mddev->sb_flags, 0,
99419941
BIT(MD_SB_CHANGE_CLEAN) | BIT(MD_SB_CHANGE_PENDING));
99429942
md_wakeup_thread(rdev->mddev->thread);
9943-
return 1;
9943+
return true;
99449944
}
99459945
EXPORT_SYMBOL_GPL(rdev_set_badblocks);
99469946

9947-
int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
9948-
int is_new)
9947+
void rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
9948+
int is_new)
99499949
{
99509950
if (is_new)
99519951
s += rdev->new_data_offset;
99529952
else
99539953
s += rdev->data_offset;
99549954

99559955
if (!badblocks_clear(&rdev->badblocks, s, sectors))
9956-
return 0;
9956+
return;
99579957

99589958
if (test_bit(ExternalBbl, &rdev->flags))
99599959
sysfs_notify_dirent_safe(rdev->sysfs_badblocks);
9960-
return 1;
99619960
}
99629961
EXPORT_SYMBOL_GPL(rdev_clear_badblocks);
99639962

drivers/md/md.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -315,10 +315,10 @@ static inline int rdev_has_badblock(struct md_rdev *rdev, sector_t s,
315315
return is_badblock(rdev, s, sectors, &first_bad, &bad_sectors);
316316
}
317317

318-
extern int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
319-
int is_new);
320-
extern int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
321-
int is_new);
318+
extern bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
319+
int is_new);
320+
extern void rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
321+
int is_new);
322322
struct md_cluster_info;
323323
struct md_cluster_operations;
324324

drivers/md/raid1.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2490,7 +2490,7 @@ static void fix_read_error(struct r1conf *conf, struct r1bio *r1_bio)
24902490
}
24912491
}
24922492

2493-
static int narrow_write_error(struct r1bio *r1_bio, int i)
2493+
static bool narrow_write_error(struct r1bio *r1_bio, int i)
24942494
{
24952495
struct mddev *mddev = r1_bio->mddev;
24962496
struct r1conf *conf = mddev->private;
@@ -2511,10 +2511,10 @@ static int narrow_write_error(struct r1bio *r1_bio, int i)
25112511
sector_t sector;
25122512
int sectors;
25132513
int sect_to_write = r1_bio->sectors;
2514-
int ok = 1;
2514+
bool ok = true;
25152515

25162516
if (rdev->badblocks.shift < 0)
2517-
return 0;
2517+
return false;
25182518

25192519
block_sectors = roundup(1 << rdev->badblocks.shift,
25202520
bdev_logical_block_size(rdev->bdev) >> 9);

drivers/md/raid10.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2779,7 +2779,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10
27792779
}
27802780
}
27812781

2782-
static int narrow_write_error(struct r10bio *r10_bio, int i)
2782+
static bool narrow_write_error(struct r10bio *r10_bio, int i)
27832783
{
27842784
struct bio *bio = r10_bio->master_bio;
27852785
struct mddev *mddev = r10_bio->mddev;
@@ -2800,10 +2800,10 @@ static int narrow_write_error(struct r10bio *r10_bio, int i)
28002800
sector_t sector;
28012801
int sectors;
28022802
int sect_to_write = r10_bio->sectors;
2803-
int ok = 1;
2803+
bool ok = true;
28042804

28052805
if (rdev->badblocks.shift < 0)
2806-
return 0;
2806+
return false;
28072807

28082808
block_sectors = roundup(1 << rdev->badblocks.shift,
28092809
bdev_logical_block_size(rdev->bdev) >> 9);

0 commit comments

Comments
 (0)