]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - super-intel.c
imsm: fix mpb_size calculation in write_super_imsm
[thirdparty/mdadm.git] / super-intel.c
index 80427e4a7c25d29e8e0e2e5771b9ddfa31f04451..19c964f8843c5257e51e1ac2a701c57326c6a9d0 100644 (file)
@@ -1854,13 +1854,12 @@ static int write_super_imsm(struct intel_super *super, int doclose)
        generation++;
        mpb->generation_num = __cpu_to_le32(generation);
 
+       mpb_size += sizeof(struct imsm_disk) * mpb->num_disks;
        for (d = super->disks; d; d = d->next) {
                if (d->index == -1)
                        spares++;
-               else {
+               else
                        mpb->disk[d->index] = d->disk;
-                       mpb_size += sizeof(struct imsm_disk);
-               }
        }
 
        for (i = 0; i < mpb->num_raid_devs; i++) {