It seems that there is a bug in mdadm: when generating the UUID for a
volume, the random() function is called, but the random sequence is never
initialized.
I fixed the problem adding the following patch to mdadm.c, but please bear
in mind that I'm totally unaware of mdadm code and quite naive in C
programming:
$ diff -u mdadm.c.orig mdadm.c
--- mdadm.c.orig 2004-11-02 06:11:06.000000000 +0100
+++ mdadm.c 2005-02-02 14:27:55.000000000 +0100
@@ -86,6 +86,15 @@
ident.super_minor= UnSet;
ident.devices=0;
+ int my_fd;
+ unsigned int my_seed;
+ if ((my_fd = open("/dev/random", O_RDONLY)) != -1) {
+ if (read(my_fd, &my_seed, sizeof(my_seed)) == sizeof(my_seed))
{
+ srandom(my_seed);
+ }
+ close(my_fd);
+ }
+
while ((option_index = -1) ,
(opt=getopt_long(argc, argv,
short_options, long_options,
--
Niccolo Rigacci
http://www.texnet.it/
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]