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?