On 2/10/2013 9:27 AM, Brian C. Lane wrote:
On Wed, Oct 02, 2013 at 01:00:43AM +1000, Jonathan Liu wrote:+/* hack: use the ext2 uuid library to generate a reasonably random (hopefully + * with /dev/random) number. Unfortunately, we can only use 4 bytes of it. + * We make sure to avoid returning zero which may be interpreted as no FAT + * serial number or no MBR signature. + */ +static inline uint32_t +generate_random_uint32 (void) +{ + union { + uuid_t uuid; + uint32_t i; + } uu32; + + do { + uuid_generate (uu32.uuid); + } while (uu32.i == 0);I'd like to see a limit on this while with an error if it gets a zero more than 3 times in a row.
I will just make it return 0xffffffff if the generated UUID is 0. V4 patch submitted. Regards, Jonathan

