Re: [PATCH 4/5] md: use sector_t for recovery_active in status_resync()
Hiroshi Nishida <[email protected]>
| Newsgroups | gmane.linux.raid |
|---|---|
| Message-ID | <CAE1ksKRGv8SVTuSh80L5VLs_O-+jhnSvnLi7fkLRT1g-HW3sZg@mail.gmail.com> |
> [Medium] mddev->recovery_active is a standard atomic_t, not "sector-typed"; > changing the local to sector_t doesn't prevent narrowing. You're right -- mddev->recovery_active is an atomic_t and atomic_read() returns int, so there's nothing wider to narrow; the int->sector_t conversion just moves to the assignment. The change is only a type-consistency tidy (the local is used solely with the sector_t curr_mark_cnt/resync_mark_cnt), not a narrowing fix. I'll reword the commit message in v2 accordingly and drop the "sector-typed atomic"/"narrows" wording. 2026年6月24日(水) 9:03 <[email protected]>: > > Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: > - [Medium] The commit message falsely claims `mddev->recovery_active` is a 'sector-typed atomic' and that declaring a local variable as `int` 'needlessly narrows it', but the structure field remains a standard 32-bit `atomic_t`. > -- > > commit 7ec77a6b233ce4d151f7fc723e5f312b20b4ac92 > Author: Hiroshi Nishida <[email protected]> > > md: use sector_t for recovery_active in status_resync() > > This commit changes the local variable recovery_active in status_resync() > from int to sector_t. The commit message states this is to match the type > of mddev->recovery_active and avoid needlessly narrowing the value. > > > recovery_active holds a sector count read from the sector-typed atomic > > mddev->recovery_active and is then combined with the sector_t values > > curr_mark_cnt and resync_mark_cnt. Declaring it as a plain int needlessly > > narrows it and mixes signedness into sector_t arithmetic; declare it > > sector_t to match. > > [Severity: Medium] > Is this description accurate? Looking at struct mddev in drivers/md/md.h, > recovery_active is defined as a standard atomic_t: > > drivers/md/md.h:struct mddev { > ... > atomic_t recovery_active; > ... > } > > Since atomic_t is a 32-bit signed integer, and atomic_read() returns an int, > does changing this local variable to sector_t actually prevent narrowing? The > implicit cast from int to sector_t will now simply happen at assignment > rather than during the arithmetic operations. > > Could the commit message be updated to reflect that mddev->recovery_active > is a standard atomic_t, rather than a "sector-typed atomic"? > > -- > Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=4 -- Hiroshi Nishida [email protected]