On Mon, Jan 25, 2021 at 5:57 AM Jack Wang <jack.wang.usish@xxxxxxxxx> wrote: > > Song Liu <song@xxxxxxxxxx> 于2020年12月16日周三 上午5:29写道: > > > > On Tue, Dec 15, 2020 at 5:26 PM Guoqing Jiang > > <guoqing.jiang@xxxxxxxxxxxxxxx> wrote: > > > > > > Currently, raid5 calculates dev_sectors from chunk_sectors without > > > proper cast, which is problematic. > > > > > > Signed-off-by: Guoqing Jiang <guoqing.jiang@xxxxxxxxxxxxxxx> > > > --- > > > I think the recently report about raid5 issue could be related with > > > the setting of dev_sectors. > > > > > > Could someone test it with a large raid5 array? Thanks. > > > > Yes, this was the exact problem. I will apply this to md-next. (probably > > after the merge window). > > > > Thanks, > > Song > > > > > > > > drivers/md/raid5.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c > > > index 3934347..ca0b29a 100644 > > > --- a/drivers/md/raid5.c > > > +++ b/drivers/md/raid5.c > > > @@ -7662,7 +7662,7 @@ static int raid5_run(struct mddev *mddev) > > > } > > > > > > /* device size must be a multiple of chunk size */ > > > - mddev->dev_sectors &= ~(mddev->chunk_sectors - 1); > > > + mddev->dev_sectors &= ~((sector_t)mddev->chunk_sectors - 1); > > > mddev->resync_max_sectors = mddev->dev_sectors; > > > > > > if (mddev->degraded > dirty_parity_disks && > > > -- > > > 2.7.4 > > > > ping, I cant find it in latest mainline, is it forgotten? Applied to md-next. Thanks. Song