]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - super-ddf.c
imsm: return correct uuid for volume in detail
[thirdparty/mdadm.git] / super-ddf.c
index d02a19a21010aae12cd4d76f5b1708e221e6664a..780206341406995cfa1b1f08c03d3f7835017901 100644 (file)
@@ -1730,7 +1730,8 @@ err:
        return 1;
 }
 
-static void detail_super_ddf(struct supertype *st, char *homehost)
+static void detail_super_ddf(struct supertype *st, char *homehost,
+                            char *subarray)
 {
        struct ddf_super *sb = st->sb;
        int cnt = be16_to_cpu(sb->virt->populated_vdes);
@@ -1787,7 +1788,7 @@ static void uuid_of_ddf_subarray(const struct ddf_super *ddf,
        memcpy(uuid, sha, 4*4);
 }
 
-static void brief_detail_super_ddf(struct supertype *st)
+static void brief_detail_super_ddf(struct supertype *st, char *subarray)
 {
        struct mdinfo info;
        char nbuf[64];
@@ -1900,7 +1901,7 @@ static struct vd_config *find_vdcr(struct ddf_super *ddf, unsigned int inst,
                return conf;
        }
 bad:
-       pr_err("Could't find disk %d in array %u\n", n, inst);
+       pr_err("Couldn't find disk %d in array %u\n", n, inst);
        return NULL;
 }
 
@@ -2881,8 +2882,9 @@ static int add_to_super_ddf(struct supertype *st,
        dd->disk.magic = DDF_PHYS_DATA_MAGIC;
        now = time(0);
        tm = localtime(&now);
-       sprintf(dd->disk.guid, "%8s%04d%02d%02d",
-               T10, tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday);
+       sprintf(dd->disk.guid, "%8s%04d%02d%02d", T10,
+               (__u16)tm->tm_year+1900,
+               (__u8)tm->tm_mon+1, (__u8)tm->tm_mday);
        tptr = (__u32 *)(dd->disk.guid + 16);
        *tptr++ = random32();
        *tptr = random32();