diff options
-rw-r--r-- | drivers/md/md.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 06ecea751a39..8b66e04c2ea6 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -1777,12 +1777,6 @@ int md_integrity_register(mddev_t *mddev) | |||
1777 | continue; | 1777 | continue; |
1778 | if (rdev->raid_disk < 0) | 1778 | if (rdev->raid_disk < 0) |
1779 | continue; | 1779 | continue; |
1780 | /* | ||
1781 | * If at least one rdev is not integrity capable, we can not | ||
1782 | * enable data integrity for the md device. | ||
1783 | */ | ||
1784 | if (!bdev_get_integrity(rdev->bdev)) | ||
1785 | return -EINVAL; | ||
1786 | if (!reference) { | 1780 | if (!reference) { |
1787 | /* Use the first rdev as the reference */ | 1781 | /* Use the first rdev as the reference */ |
1788 | reference = rdev; | 1782 | reference = rdev; |
@@ -1793,6 +1787,8 @@ int md_integrity_register(mddev_t *mddev) | |||
1793 | rdev->bdev->bd_disk) < 0) | 1787 | rdev->bdev->bd_disk) < 0) |
1794 | return -EINVAL; | 1788 | return -EINVAL; |
1795 | } | 1789 | } |
1790 | if (!reference || !bdev_get_integrity(reference->bdev)) | ||
1791 | return 0; | ||
1796 | /* | 1792 | /* |
1797 | * All component devices are integrity capable and have matching | 1793 | * All component devices are integrity capable and have matching |
1798 | * profiles, register the common profile for the md device. | 1794 | * profiles, register the common profile for the md device. |