From 81a5b4f52f0697f3c494c7ee2723e5f833b9ec51 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 20 Dec 2011 10:30:34 +1100 Subject: Remove update_private This fields doesn't work any more as ->getinfo_super clears the info structure at an awkward time. So get rid of it and do it differently. The issue is that the metadata handler cannot tell if the uuid it has was randomly generated or explicitly requested, except on the first call. And we don't want to accept explicit requests for IMSM. So when it was auto-generated, make it look distinctive by having the same int copied in all 4 positions. If someone requests a uuid like that, I guess they get away with it. Reported-by: Adam Kwolek Signed-off-by: NeilBrown --- Assemble.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'Assemble.c') diff --git a/Assemble.c b/Assemble.c index fac2bad6..74fb6a32 100644 --- a/Assemble.c +++ b/Assemble.c @@ -706,7 +706,6 @@ int Assemble(struct supertype *st, char *mddev, bitmap_done = 0; #endif /* Ok, no bad inconsistancy, we can try updating etc */ - content->update_private = NULL; devices = malloc(num_devs * sizeof(*devices)); devmap = calloc(num_devs * content->array.raid_disks, 1); for (tmpdev = devlist; tmpdev; tmpdev=tmpdev->next) if (tmpdev->used == 1) { @@ -891,8 +890,6 @@ int Assemble(struct supertype *st, char *mddev, } devcnt++; } - free(content->update_private); - content->update_private = NULL; if (devcnt == 0) { fprintf(stderr, Name ": no devices found for %s\n", -- cgit v1.2.3