]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - sysfs.c
Don't abort starting the array if kernel does not support ppl
[thirdparty/mdadm.git] / sysfs.c
diff --git a/sysfs.c b/sysfs.c
index 68ddd5f420c6e51318f7def7ccd8ea5a7026291d..bf5c8c5db282d1d9a9f027d3524bea45597e8742 100644 (file)
--- a/sysfs.c
+++ b/sysfs.c
@@ -709,8 +709,8 @@ int sysfs_set_array(struct mdinfo *info, int vers)
                if (sysfs_set_str(info, NULL, "consistency_policy",
                                  map_num(consistency_policies,
                                          info->consistency_policy))) {
-                       pr_err("This kernel does not support PPL\n");
-                       return 1;
+                       pr_err("This kernel does not support PPL. Falling back to consistency-policy=resync.\n");
+                       info->consistency_policy = CONSISTENCY_POLICY_RESYNC;
                }
        }
 
@@ -745,7 +745,7 @@ int sysfs_add_disk(struct mdinfo *sra, struct mdinfo *sd, int resume)
        rv = sysfs_set_num(sra, sd, "offset", sd->data_offset);
        rv |= sysfs_set_num(sra, sd, "size", (sd->component_size+1) / 2);
        if (sra->array.level != LEVEL_CONTAINER) {
-               if (sd->consistency_policy == CONSISTENCY_POLICY_PPL) {
+               if (sra->consistency_policy == CONSISTENCY_POLICY_PPL) {
                        rv |= sysfs_set_num(sra, sd, "ppl_sector", sd->ppl_sector);
                        rv |= sysfs_set_num(sra, sd, "ppl_size", sd->ppl_size);
                }