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. |
