diff options
author | NeilBrown <neilb@suse.de> | 2009-10-01 16:58:40 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-10-01 16:58:40 +1000 |
commit | ca4f89a3b76187dcd7ca897035a8e92ab67b252d (patch) | |
tree | cfb7a91f30f6f3b51662257c47b581089705acb1 /util.c | |
parent | e38cc2d87b319572fe7ff08be5657f563b1ef9e7 (diff) | |
parent | 2b9aa337af7291d3f141322da96c9f667c99d53c (diff) | |
download | mdadm-ca4f89a3b76187dcd7ca897035a8e92ab67b252d.tar.gz mdadm-ca4f89a3b76187dcd7ca897035a8e92ab67b252d.tar.xz mdadm-ca4f89a3b76187dcd7ca897035a8e92ab67b252d.zip |
Merge branch 'master' into devel-3.1
Conflicts:
mdadm.8
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 22 |
1 files changed, 15 insertions, 7 deletions
@@ -1,7 +1,7 @@ /* * mdadm - manage Linux "md" devices aka RAID arrays. * - * Copyright (C) 2001-2006 Neil Brown <neilb@suse.de> + * Copyright (C) 2001-2009 Neil Brown <neilb@suse.de> * * * This program is free software; you can redistribute it and/or modify @@ -19,12 +19,7 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Author: Neil Brown - * Email: <neilb@cse.unsw.edu.au> - * Paper: Neil Brown - * School of Computer Science and Engineering - * The University of New South Wales - * Sydney, 2052 - * Australia + * Email: <neilb@suse.de> */ #include "mdadm.h" @@ -933,6 +928,8 @@ void wait_for(char *dev, int fd) return; usleep(200000); } + if (i == 25) + dprintf("%s: timeout waiting for %s\n", __func__, dev); } struct superswitch *superlist[] = { &super0, &super1, &super_ddf, &super_imsm, NULL }; @@ -1368,6 +1365,17 @@ int check_env(char *name) return 0; } +__u32 random32(void) +{ + __u32 rv; + int rfd = open("/dev/urandom", O_RDONLY); + if (rfd < 0 || read(rfd, &rv, 4) != 4) + rv = random(); + if (rfd >= 0) + close(rfd); + return rv; +} + #ifndef MDASSEMBLE int flush_metadata_updates(struct supertype *st) { |