summaryrefslogtreecommitdiffstats
path: root/super-ddf.c
diff options
context:
space:
mode:
Diffstat (limited to 'super-ddf.c')
-rw-r--r--super-ddf.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/super-ddf.c b/super-ddf.c
index 1b9944f7..1cb0a9fe 100644
--- a/super-ddf.c
+++ b/super-ddf.c
@@ -4356,6 +4356,13 @@ static void ddf_process_update(struct supertype *st,
return;
} else {
+ ent = find_vde_by_guid(ddf, vd->entries[0].guid);
+ if (ent != DDF_NOTFOUND) {
+ dprintf("%s: VD %s exists already in slot %d\n",
+ __func__, guid_str(vd->entries[0].guid),
+ ent);
+ return;
+ }
ent = find_unused_vde(ddf);
if (ent == DDF_NOTFOUND)
return;
@@ -4364,6 +4371,8 @@ static void ddf_process_update(struct supertype *st,
__cpu_to_be16(
1 + __be16_to_cpu(
ddf->virt->populated_vdes));
+ dprintf("%s: added VD %s in slot %d\n",
+ __func__, guid_str(vd->entries[0].guid), ent);
}
ddf_set_updates_pending(ddf);
break;