Message ID | 20220810182012.755167-1-bvanassche@acm.org (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Song Liu |
Headers | show |
Series | [v2] md/raid10: Fix the data type of an r10_sync_page_io() argument | expand |
On Wed, Aug 10, 2022 at 11:20 AM Bart Van Assche <bvanassche@acm.org> wrote: > > Fix the following sparse warning: > > drivers/md/raid10.c:2647:60: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted blk_opf_t [usertype] opf @@ got int rw @@ > > This patch does not change any functionality since REQ_OP_READ = READ = 0 > and since REQ_OP_WRITE = WRITE = 1. > > Cc: Rong A Chen <rong.a.chen@intel.com> > Cc: Jens Axboe <axboe@kernel.dk> > Cc: Paul Menzel <pmenzel@molgen.mpg.de> > Fixes: 4ce4c73f662b ("md/core: Combine two sync_page_io() arguments") > Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Bart Van Assche <bvanassche@acm.org> Applied to md-fixes. Thanks! Song > --- > > Changes compared to v1: made the patch subject more specific. > > drivers/md/raid10.c | 13 ++++++------- > 1 file changed, 6 insertions(+), 7 deletions(-) > > diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c > index 9117fcdee1be..64d6e4cd8a3a 100644 > --- a/drivers/md/raid10.c > +++ b/drivers/md/raid10.c > @@ -2639,18 +2639,18 @@ static void check_decay_read_errors(struct mddev *mddev, struct md_rdev *rdev) > } > > static int r10_sync_page_io(struct md_rdev *rdev, sector_t sector, > - int sectors, struct page *page, int rw) > + int sectors, struct page *page, enum req_op op) > { > sector_t first_bad; > int bad_sectors; > > if (is_badblock(rdev, sector, sectors, &first_bad, &bad_sectors) > - && (rw == READ || test_bit(WriteErrorSeen, &rdev->flags))) > + && (op == REQ_OP_READ || test_bit(WriteErrorSeen, &rdev->flags))) > return -1; > - if (sync_page_io(rdev, sector, sectors << 9, page, rw, false)) > + if (sync_page_io(rdev, sector, sectors << 9, page, op, false)) > /* success */ > return 1; > - if (rw == WRITE) { > + if (op == REQ_OP_WRITE) { > set_bit(WriteErrorSeen, &rdev->flags); > if (!test_and_set_bit(WantReplacement, &rdev->flags)) > set_bit(MD_RECOVERY_NEEDED, > @@ -2780,7 +2780,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10 > if (r10_sync_page_io(rdev, > r10_bio->devs[sl].addr + > sect, > - s, conf->tmppage, WRITE) > + s, conf->tmppage, REQ_OP_WRITE) > == 0) { > /* Well, this device is dead */ > pr_notice("md/raid10:%s: read correction write failed (%d sectors at %llu on %pg)\n", > @@ -2814,8 +2814,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10 > switch (r10_sync_page_io(rdev, > r10_bio->devs[sl].addr + > sect, > - s, conf->tmppage, > - READ)) { > + s, conf->tmppage, REQ_OP_READ)) { > case 0: > /* Well, this device is dead */ > pr_notice("md/raid10:%s: unable to read back corrected sectors (%d sectors at %llu on %pg)\n",
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 9117fcdee1be..64d6e4cd8a3a 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -2639,18 +2639,18 @@ static void check_decay_read_errors(struct mddev *mddev, struct md_rdev *rdev) } static int r10_sync_page_io(struct md_rdev *rdev, sector_t sector, - int sectors, struct page *page, int rw) + int sectors, struct page *page, enum req_op op) { sector_t first_bad; int bad_sectors; if (is_badblock(rdev, sector, sectors, &first_bad, &bad_sectors) - && (rw == READ || test_bit(WriteErrorSeen, &rdev->flags))) + && (op == REQ_OP_READ || test_bit(WriteErrorSeen, &rdev->flags))) return -1; - if (sync_page_io(rdev, sector, sectors << 9, page, rw, false)) + if (sync_page_io(rdev, sector, sectors << 9, page, op, false)) /* success */ return 1; - if (rw == WRITE) { + if (op == REQ_OP_WRITE) { set_bit(WriteErrorSeen, &rdev->flags); if (!test_and_set_bit(WantReplacement, &rdev->flags)) set_bit(MD_RECOVERY_NEEDED, @@ -2780,7 +2780,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10 if (r10_sync_page_io(rdev, r10_bio->devs[sl].addr + sect, - s, conf->tmppage, WRITE) + s, conf->tmppage, REQ_OP_WRITE) == 0) { /* Well, this device is dead */ pr_notice("md/raid10:%s: read correction write failed (%d sectors at %llu on %pg)\n", @@ -2814,8 +2814,7 @@ static void fix_read_error(struct r10conf *conf, struct mddev *mddev, struct r10 switch (r10_sync_page_io(rdev, r10_bio->devs[sl].addr + sect, - s, conf->tmppage, - READ)) { + s, conf->tmppage, REQ_OP_READ)) { case 0: /* Well, this device is dead */ pr_notice("md/raid10:%s: unable to read back corrected sectors (%d sectors at %llu on %pg)\n",
Fix the following sparse warning: drivers/md/raid10.c:2647:60: sparse: sparse: incorrect type in argument 5 (different base types) @@ expected restricted blk_opf_t [usertype] opf @@ got int rw @@ This patch does not change any functionality since REQ_OP_READ = READ = 0 and since REQ_OP_WRITE = WRITE = 1. Cc: Rong A Chen <rong.a.chen@intel.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Paul Menzel <pmenzel@molgen.mpg.de> Fixes: 4ce4c73f662b ("md/core: Combine two sync_page_io() arguments") Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Bart Van Assche <bvanassche@acm.org> --- Changes compared to v1: made the patch subject more specific. drivers/md/raid10.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)