From 055b766b1c3dee54425dcd46974892cb3f13dbf7 Mon Sep 17 00:00:00 2001 From: Jes Sorensen Date: Mon, 15 Aug 2016 15:48:56 -0400 Subject: [PATCH] super0: Use random_uuid() in init_super0() This shaves another 80 bytes off the mdadm binary. Signed-off-by: Jes Sorensen --- super0.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/super0.c b/super0.c index 467a373..333860c 100644 --- a/super0.c +++ b/super0.c @@ -752,16 +752,12 @@ static int init_super0(struct supertype *st, mdu_array_info_t *info, sb->set_uuid2 = uuid[2]; sb->set_uuid3 = uuid[3]; } else { - int rfd = open("/dev/urandom", O_RDONLY); - if (rfd < 0 || read(rfd, &sb->set_uuid0, 4) != 4) - sb->set_uuid0 = random(); - if (rfd < 0 || read(rfd, &sb->set_uuid1, 12) != 12) { - sb->set_uuid1 = random(); - sb->set_uuid2 = random(); - sb->set_uuid3 = random(); - } - if (rfd >= 0) - close(rfd); + __u32 r[4]; + random_uuid((__u8 *)r); + sb->set_uuid0 = r[0]; + sb->set_uuid1 = r[1]; + sb->set_uuid2 = r[2]; + sb->set_uuid3 = r[3]; } if (homehost && !uuid) { char buf[20];