md: compare bd_disk instead of bd_contains

To check for partitions of the same disk bd_contains works as well, but
bd_disk is way more obvious.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Song Liu <song@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
Christoph Hellwig 2020-09-03 07:40:58 +02:00 committed by Jens Axboe
parent fa01b1e973
commit 61a27e1f52

View File

@ -2322,8 +2322,7 @@ static int match_mddev_units(struct mddev *mddev1, struct mddev *mddev2)
test_bit(Journal, &rdev2->flags) || test_bit(Journal, &rdev2->flags) ||
rdev2->raid_disk == -1) rdev2->raid_disk == -1)
continue; continue;
if (rdev->bdev->bd_contains == if (rdev->bdev->bd_disk == rdev2->bdev->bd_disk) {
rdev2->bdev->bd_contains) {
rcu_read_unlock(); rcu_read_unlock();
return 1; return 1;
} }
@ -5944,8 +5943,8 @@ int md_run(struct mddev *mddev)
rdev_for_each(rdev, mddev) rdev_for_each(rdev, mddev)
rdev_for_each(rdev2, mddev) { rdev_for_each(rdev2, mddev) {
if (rdev < rdev2 && if (rdev < rdev2 &&
rdev->bdev->bd_contains == rdev->bdev->bd_disk ==
rdev2->bdev->bd_contains) { rdev2->bdev->bd_disk) {
pr_warn("%s: WARNING: %s appears to be on the same physical disk as %s.\n", pr_warn("%s: WARNING: %s appears to be on the same physical disk as %s.\n",
mdname(mddev), mdname(mddev),
bdevname(rdev->bdev,b), bdevname(rdev->bdev,b),