mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 08:15:07 -04:00
md: widen badblock sectors param from int to sector_t
The badblocks core API -- badblocks_set(), badblocks_clear() and badblocks_check() -- and the is_badblock() helper all take the range length as sector_t. The md wrappers rdev_set_badblocks(), rdev_clear_badblocks() and rdev_has_badblock(), however, declared the same length as int, narrowing sector_t to int and back again in the middle of an otherwise 64-bit clean path. Change the sectors parameter to sector_t in these three wrappers so it matches the core API and is_badblock(). No functional change: current callers pass per-I/O or per-resync-chunk lengths well within int range. This just removes a gratuitous truncation point and keeps the type consistent end to end. Signed-off-by: Hiroshi Nishida <nishidafmly@gmail.com> Link: https://patch.msgid.link/20260710132329.7273-3-nishidafmly@gmail.com Signed-off-by: Yu Kuai <yukuai@fygo.io>
This commit is contained in:
@@ -10563,7 +10563,7 @@ EXPORT_SYMBOL(md_finish_reshape);
|
||||
/* Bad block management */
|
||||
|
||||
/* Returns true on success, false on failure */
|
||||
bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
|
||||
bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, sector_t sectors,
|
||||
int is_new)
|
||||
{
|
||||
struct mddev *mddev = rdev->mddev;
|
||||
@@ -10603,7 +10603,7 @@ bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(rdev_set_badblocks);
|
||||
|
||||
void rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
|
||||
void rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, sector_t sectors,
|
||||
int is_new)
|
||||
{
|
||||
if (is_new)
|
||||
|
||||
@@ -311,7 +311,7 @@ static inline int is_badblock(struct md_rdev *rdev, sector_t s, sector_t sectors
|
||||
}
|
||||
|
||||
static inline int rdev_has_badblock(struct md_rdev *rdev, sector_t s,
|
||||
int sectors)
|
||||
sector_t sectors)
|
||||
{
|
||||
sector_t first_bad;
|
||||
sector_t bad_sectors;
|
||||
@@ -319,9 +319,9 @@ static inline int rdev_has_badblock(struct md_rdev *rdev, sector_t s,
|
||||
return is_badblock(rdev, s, sectors, &first_bad, &bad_sectors);
|
||||
}
|
||||
|
||||
extern bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
|
||||
extern bool rdev_set_badblocks(struct md_rdev *rdev, sector_t s, sector_t sectors,
|
||||
int is_new);
|
||||
extern void rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, int sectors,
|
||||
extern void rdev_clear_badblocks(struct md_rdev *rdev, sector_t s, sector_t sectors,
|
||||
int is_new);
|
||||
struct md_cluster_info;
|
||||
struct md_cluster_operations;
|
||||
|
||||
Reference in New Issue
Block a user