===== fs/block_dev.c 1.112 vs edited ===== --- 1.112/fs/block_dev.c Sun Nov 17 08:09:16 2002 +++ edited/fs/block_dev.c Sun Nov 17 22:00:23 2002 @@ -520,7 +520,7 @@ if (bdev->bd_contains != bdev) BUG(); down(&bdev->bd_sem); - if (check_disk_change(bdev)) { + if (check_disk_change(bdev) && bdev->bd_invalidated) { rescan_partitions(bdev->bd_disk, bdev); res = 1; } ===== fs/partitions/check.c 1.85 vs edited ===== --- 1.85/fs/partitions/check.c Mon Nov 11 22:16:11 2002 +++ edited/fs/partitions/check.c Sun Nov 17 21:59:28 2002 @@ -453,8 +453,6 @@ struct parsed_partitions *state; int p, res; - if (!bdev->bd_invalidated) - return 0; if (bdev->bd_part_count) return -EBUSY; res = invalidate_device(dev, 1);