Merge remote branch 'kumar/merge' into merge
[pandora-kernel.git] / drivers / md / md.c
index 06ecea7..b12b377 100644 (file)
@@ -1777,12 +1777,6 @@ int md_integrity_register(mddev_t *mddev)
                        continue;
                if (rdev->raid_disk < 0)
                        continue;
-               /*
-                * If at least one rdev is not integrity capable, we can not
-                * enable data integrity for the md device.
-                */
-               if (!bdev_get_integrity(rdev->bdev))
-                       return -EINVAL;
                if (!reference) {
                        /* Use the first rdev as the reference */
                        reference = rdev;
@@ -1793,6 +1787,8 @@ int md_integrity_register(mddev_t *mddev)
                                rdev->bdev->bd_disk) < 0)
                        return -EINVAL;
        }
+       if (!reference || !bdev_get_integrity(reference->bdev))
+               return 0;
        /*
         * All component devices are integrity capable and have matching
         * profiles, register the common profile for the md device.
@@ -6270,7 +6266,7 @@ static void status_resync(struct seq_file *seq, mddev_t * mddev)
         * rt is a sector_t, so could be 32bit or 64bit.
         * So we divide before multiply in case it is 32bit and close
         * to the limit.
-        * We scale the divisor (db) by 32 to avoid loosing precision
+        * We scale the divisor (db) by 32 to avoid losing precision
         * near the end of resync when the number of remaining sectors
         * is close to 'db'.
         * We then divide rt by 32 after multiplying by db to compensate.