Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Zheng Qixing and committed by
Jens Axboe
7e5102dd c8775aef

+19 -20
+9 -10
drivers/md/md.c
··· 9828 9828 9829 9829 /* Bad block management */ 9830 9830 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) 9834 9834 { 9835 9835 struct mddev *mddev = rdev->mddev; 9836 9836 ··· 9842 9842 * avoid it. 9843 9843 */ 9844 9844 if (test_bit(Faulty, &rdev->flags)) 9845 - return 1; 9845 + return true; 9846 9846 9847 9847 if (is_new) 9848 9848 s += rdev->new_data_offset; ··· 9850 9850 s += rdev->data_offset; 9851 9851 9852 9852 if (!badblocks_set(&rdev->badblocks, s, sectors, 0)) 9853 - return 0; 9853 + return false; 9854 9854 9855 9855 /* Make sure they get written out promptly */ 9856 9856 if (test_bit(ExternalBbl, &rdev->flags)) ··· 9859 9859 set_mask_bits(&mddev->sb_flags, 0, 9860 9860 BIT(MD_SB_CHANGE_CLEAN) | BIT(MD_SB_CHANGE_PENDING)); 9861 9861 md_wakeup_thread(rdev->mddev->thread); 9862 - return 1; 9862 + return true; 9863 9863 } 9864 9864 EXPORT_SYMBOL_GPL(rdev_set_badblocks); 9865 9865 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) 9868 9868 { 9869 9869 if (is_new) 9870 9870 s += rdev->new_data_offset; ··· 9872 9872 s += rdev->data_offset; 9873 9873 9874 9874 if (!badblocks_clear(&rdev->badblocks, s, sectors)) 9875 - return 0; 9875 + return; 9876 9876 9877 9877 if (test_bit(ExternalBbl, &rdev->flags)) 9878 9878 sysfs_notify_dirent_safe(rdev->sysfs_badblocks); 9879 - return 1; 9880 9879 } 9881 9880 EXPORT_SYMBOL_GPL(rdev_clear_badblocks); 9882 9881
+4 -4
drivers/md/md.h
··· 289 289 return is_badblock(rdev, s, sectors, &first_bad, &bad_sectors); 290 290 } 291 291 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); 296 296 struct md_cluster_info; 297 297 298 298 /**
+3 -3
drivers/md/raid1.c
··· 2486 2486 } 2487 2487 } 2488 2488 2489 - static int narrow_write_error(struct r1bio *r1_bio, int i) 2489 + static bool narrow_write_error(struct r1bio *r1_bio, int i) 2490 2490 { 2491 2491 struct mddev *mddev = r1_bio->mddev; 2492 2492 struct r1conf *conf = mddev->private; ··· 2507 2507 sector_t sector; 2508 2508 int sectors; 2509 2509 int sect_to_write = r1_bio->sectors; 2510 - int ok = 1; 2510 + bool ok = true; 2511 2511 2512 2512 if (rdev->badblocks.shift < 0) 2513 - return 0; 2513 + return false; 2514 2514 2515 2515 block_sectors = roundup(1 << rdev->badblocks.shift, 2516 2516 bdev_logical_block_size(rdev->bdev) >> 9);
+3 -3
drivers/md/raid10.c
··· 2786 2786 } 2787 2787 } 2788 2788 2789 - static int narrow_write_error(struct r10bio *r10_bio, int i) 2789 + static bool narrow_write_error(struct r10bio *r10_bio, int i) 2790 2790 { 2791 2791 struct bio *bio = r10_bio->master_bio; 2792 2792 struct mddev *mddev = r10_bio->mddev; ··· 2807 2807 sector_t sector; 2808 2808 int sectors; 2809 2809 int sect_to_write = r10_bio->sectors; 2810 - int ok = 1; 2810 + bool ok = true; 2811 2811 2812 2812 if (rdev->badblocks.shift < 0) 2813 - return 0; 2813 + return false; 2814 2814 2815 2815 block_sectors = roundup(1 << rdev->badblocks.shift, 2816 2816 bdev_logical_block_size(rdev->bdev) >> 9);