[libvirt] [PATCH] hash: minor touchups

Eric Blake eblake at redhat.com
Thu Jan 26 22:27:03 UTC 2012


On RHEL5, I got:
util/virrandom.c:66: warning: nested extern declaration of '_gl_verify_function66' [-Wnested-externs]

The fix is to hoist the verify earlier.  Also some other hodge-podge
fixes I noticed while reviewing Dan's recent series.

* .gitignore: Ignore new test.
* src/util/cgroup.c: Bump copyright year.
* src/util/virhash.c: Fix typo in description.
* src/util/virrandom.c (virRandomBits): Mark doc comment, and
hoist assert to silence older gcc.
---

Pushing under the build-breaker rule.

We didn't notice it earlier because newer gcc introduced
_Static_assert (per C11), so that verify() doesn't have to
rely on extern declarations in that case.

 .gitignore           |    1 +
 src/util/cgroup.c    |    2 +-
 src/util/virhash.c   |    2 +-
 src/util/virrandom.c |   10 +++++-----
 4 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/.gitignore b/.gitignore
index 61a9a38..2533fce 100644
--- a/.gitignore
+++ b/.gitignore
@@ -78,6 +78,7 @@
 /tests/openvzutilstest
 /tests/qemuxmlnstest
 /tests/shunloadtest
+/tests/virhashtest
 /update.log
 Makefile
 Makefile.in
diff --git a/src/util/cgroup.c b/src/util/cgroup.c
index 3f092ab..15b870d 100644
--- a/src/util/cgroup.c
+++ b/src/util/cgroup.c
@@ -1,7 +1,7 @@
 /*
  * cgroup.c: Tools for managing cgroups
  *
- * Copyright (C) 2010-2011 Red Hat, Inc.
+ * Copyright (C) 2010-2012 Red Hat, Inc.
  * Copyright IBM Corp. 2008
  *
  * See COPYING.LIB for the License of this software
diff --git a/src/util/virhash.c b/src/util/virhash.c
index efaa286..6dec684 100644
--- a/src/util/virhash.c
+++ b/src/util/virhash.c
@@ -1,5 +1,5 @@
 /*
- * virhash.c: chained hash tables for domain and domain/connection deallocatiosn
+ * virhash.c: chained hash tables
  *
  * Reference: Your favorite introductory book on algorithms
  *
diff --git a/src/util/virrandom.c b/src/util/virrandom.c
index 0af94d5..ec0cf03 100644
--- a/src/util/virrandom.c
+++ b/src/util/virrandom.c
@@ -46,7 +46,11 @@ int virRandomInitialize(uint32_t seed)
     return 0;
 }

-/*
+/* The algorithm of virRandomBits requires that RAND_MAX == 2^n-1 for
+ * some n; gnulib's random_r meets this property. */
+verify(((RAND_MAX + 1U) & RAND_MAX) == 0);
+
+/**
  * virRandomBits:
  * @nbits: Number of bits of randommess required
  *
@@ -61,10 +65,6 @@ uint64_t virRandomBits(int nbits)
     uint64_t ret = 0;
     int32_t bits;

-    /* This algorithm requires that RAND_MAX == 2^n-1 for some n;
-       gnulib's random_r meets this property. */
-    verify(((RAND_MAX + 1U) & RAND_MAX) == 0);
-
     virMutexLock(&randomLock);

     while (nbits > bits_per_iter) {
-- 
1.7.7.6




More information about the libvir-list mailing list