On Tue, Jul 20, 2021 at 11:20:45AM -0700, Luis Chamberlain wrote: > The GENHD_FL_DISK_ADDED flag is what we really want, as the > flag GENHD_FL_UP could be set on a semi-initialized device. > > Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx> Based on the commit log for the patch adding this check I think this is wrong It actually wants to detected underlying devices for which del_gendisk has been called. > --- > drivers/md/md.h | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/md/md.h b/drivers/md/md.h > index 832547cf038f..cf70e0cfa856 100644 > --- a/drivers/md/md.h > +++ b/drivers/md/md.h > @@ -764,9 +764,7 @@ struct md_rdev *md_find_rdev_rcu(struct mddev *mddev, dev_t dev); > > static inline bool is_mddev_broken(struct md_rdev *rdev, const char *md_type) > { > - int flags = rdev->bdev->bd_disk->flags; > - > - if (!(flags & GENHD_FL_UP)) { > + if (!blk_disk_added(rdev->bdev->bd_disk)) { > if (!test_and_set_bit(MD_BROKEN, &rdev->mddev->flags)) > pr_warn("md: %s: %s array has a missing/failed member\n", > mdname(rdev->mddev), md_type); > -- > 2.27.0 > ---end quoted text---