Skip to content

Commit 7e5102d

Browse files
Zheng Qixingaxboe
authored andcommitted
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 <[email protected]> Reviewed-by: Yu Kuai <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
1 parent c8775ae commit 7e5102d

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
@@ -9828,9 +9828,9 @@ EXPORT_SYMBOL(md_finish_reshape);
98289828

98299829
/* Bad block management */
98309830

9831-
/* Returns 1 on success, 0 on failure */
9832-
int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
9833-
int is_new)
9831+
/* Returns true on success, false on failure */
9832+
bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
9833+
int is_new)
98349834
{
98359835
struct mddev *mddev = rdev->mddev;
98369836

@@ -9842,15 +9842,15 @@ int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
98429842
* avoid it.
98439843
*/
98449844
if (test_bit(Faulty, &rdev->flags))
9845-
return 1;
9845+
return true;
98469846

98479847
if (is_new)
98489848
s += rdev->new_data_offset;
98499849
else
98509850
s += rdev->data_offset;
98519851

98529852
if (!badblocks_set(&rdev->badblocks, s, sectors, 0))
9853-
return 0;
9853+
return false;
98549854

98559855
/* Make sure they get written out promptly */
98569856
if (test_bit(ExternalBbl, &rdev->flags))
@@ -9859,24 +9859,23 @@ int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
98599859
set_mask_bits(&mddev->sb_flags, 0,
98609860
BIT(MD_SB_CHANGE_CLEAN) | BIT(MD_SB_CHANGE_PENDING));
98619861
md_wakeup_thread(rdev->mddev->thread);
9862-
return 1;
9862+
return true;
98639863
}
98649864
EXPORT_SYMBOL_GPL(rdev_set_badblocks);
98659865

9866-
int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
9867-
int is_new)
9866+
void rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
9867+
int is_new)
98689868
{
98699869
if (is_new)
98709870
s += rdev->new_data_offset;
98719871
else
98729872
s += rdev->data_offset;
98739873

98749874
if (!badblocks_clear(&rdev->badblocks, s, sectors))
9875-
return 0;
9875+
return;
98769876

98779877
if (test_bit(ExternalBbl, &rdev->flags))
98789878
sysfs_notify_dirent_safe(rdev->sysfs_badblocks);
9879-
return 1;
98809879
}
98819880
EXPORT_SYMBOL_GPL(rdev_clear_badblocks);
98829881

drivers/md/md.h

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

292-
extern int rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
293-
int is_new);
294-
extern int rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
295-
int is_new);
292+
extern bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
293+
int is_new);
294+
extern void rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
295+
int is_new);
296296
struct md_cluster_info;
297297

298298
/**

drivers/md/raid1.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2486,7 +2486,7 @@ static void fix_read_error(struct r1conf *conf, struct r1bio *r1_bio)
24862486
}
24872487
}
24882488

2489-
static int narrow_write_error(struct r1bio *r1_bio, int i)
2489+
static bool narrow_write_error(struct r1bio *r1_bio, int i)
24902490
{
24912491
struct mddev *mddev = r1_bio->mddev;
24922492
struct r1conf *conf = mddev->private;
@@ -2507,10 +2507,10 @@ static int narrow_write_error(struct r1bio *r1_bio, int i)
25072507
sector_t sector;
25082508
int sectors;
25092509
int sect_to_write = r1_bio->sectors;
2510-
int ok = 1;
2510+
bool ok = true;
25112511

25122512
if (rdev->badblocks.shift < 0)
2513-
return 0;
2513+
return false;
25142514

25152515
block_sectors = roundup(1 << rdev->badblocks.shift,
25162516
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
@@ -2786,7 +2786,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10
27862786
}
27872787
}
27882788

2789-
static int narrow_write_error(struct r10bio *r10_bio, int i)
2789+
static bool narrow_write_error(struct r10bio *r10_bio, int i)
27902790
{
27912791
struct bio *bio = r10_bio->master_bio;
27922792
struct mddev *mddev = r10_bio->mddev;
@@ -2807,10 +2807,10 @@ static int narrow_write_error(struct r10bio *r10_bio, int i)
28072807
sector_t sector;
28082808
int sectors;
28092809
int sect_to_write = r10_bio->sectors;
2810-
int ok = 1;
2810+
bool ok = true;
28112811

28122812
if (rdev->badblocks.shift < 0)
2813-
return 0;
2813+
return false;
28142814

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

0 commit comments

Comments
 (0)