]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
move fnv_64a_buf to utils.c and remove mutliple copies
authorS.Çağlar Onur <caglar@10ur.org>
Thu, 13 Feb 2014 21:57:12 +0000 (16:57 -0500)
committerStéphane Graber <stgraber@ubuntu.com>
Thu, 13 Feb 2014 22:02:01 +0000 (17:02 -0500)
Signed-off-by: S.Çağlar Onur <caglar@10ur.org>
Acked-by: Stéphane Graber <stgraber@ubuntu.com>
src/lxc/conf.c
src/lxc/monitor.c
src/lxc/utils.c
src/lxc/utils.h

index 0de189fd28ac2c09a0bdda0b7e08ebafe7d229fd..4336258afd540e6a3a17679b96a16c4e5efaa818 100644 (file)
@@ -1119,38 +1119,6 @@ static int setup_rootfs_pivot_root(const char *rootfs, const char *pivotdir)
        return 0;
 }
 
-
-/*
- * Note: This is a verbatum copy of what is in monitor.c.  We're just
- * usint it here to generate a safe subdirectory in /dev/ for the
- * containers /dev/
- */
-
-/* Note we don't use SHA-1 here as we don't want to depend on HAVE_GNUTLS.
- * FNV has good anti collision properties and we're not worried
- * about pre-image resistance or one-way-ness, we're just trying to make
- * the name unique in the 108 bytes of space we have.
- */
-#define FNV1A_64_INIT ((uint64_t)0xcbf29ce484222325ULL)
-static uint64_t fnv_64a_buf(void *buf, size_t len, uint64_t hval)
-{
-       unsigned char *bp;
-
-       for(bp = buf; bp < (unsigned char *)buf + len; bp++)
-       {
-               /* xor the bottom with the current octet */
-               hval ^= (uint64_t)*bp;
-
-               /* gcc optimised:
-                * multiply by the 64 bit FNV magic prime mod 2^64
-                */
-               hval += (hval << 1) + (hval << 4) + (hval << 5) +
-                       (hval << 7) + (hval << 8) + (hval << 40);
-       }
-
-       return hval;
-}
-
 /*
  * Check to see if a directory has something mounted on it and,
  * if it does, return the fstype.
index 5e21dc5ac36fcd167978b832e190d4f6e578e31b..ef658f5c461ce2940199714852e669d6dcaf4d0f 100644 (file)
@@ -123,31 +123,6 @@ int lxc_monitor_close(int fd)
        return close(fd);
 }
 
-/* Note we don't use SHA-1 here as we don't want to depend on HAVE_GNUTLS.
- * FNV has good anti collision properties and we're not worried
- * about pre-image resistance or one-way-ness, we're just trying to make
- * the name unique in the 108 bytes of space we have.
- */
-#define FNV1A_64_INIT ((uint64_t)0xcbf29ce484222325ULL)
-static uint64_t fnv_64a_buf(void *buf, size_t len, uint64_t hval)
-{
-       unsigned char *bp;
-
-       for(bp = buf; bp < (unsigned char *)buf + len; bp++)
-       {
-               /* xor the bottom with the current octet */
-               hval ^= (uint64_t)*bp;
-
-               /* gcc optimised:
-                * multiply by the 64 bit FNV magic prime mod 2^64
-                */
-               hval += (hval << 1) + (hval << 4) + (hval << 5) +
-                       (hval << 7) + (hval << 8) + (hval << 40);
-       }
-
-       return hval;
-}
-
 int lxc_monitor_sock_name(const char *lxcpath, struct sockaddr_un *addr) {
        size_t len;
        int ret;
index 90401a58018a1ba4d7dc73fe2e34b322db9b0ffb..3dff104df5364416c476d3bb64cc47f604a5fcd3 100644 (file)
@@ -245,7 +245,7 @@ const char *lxc_global_config_value(const char *option_name)
                { NULL, NULL },
        };
 
-       /* placed in the thread local storage pool for non-bionic targets */    
+       /* placed in the thread local storage pool for non-bionic targets */
 #ifdef HAVE_TLS
        static __thread const char *values[sizeof(options) / sizeof(options[0])] = { 0 };
 #else
@@ -1151,3 +1151,27 @@ bool dir_exists(const char *path)
                return false;
        return S_ISDIR(sb.st_mode);
 }
+
+/* Note we don't use SHA-1 here as we don't want to depend on HAVE_GNUTLS.
+ * FNV has good anti collision properties and we're not worried
+ * about pre-image resistance or one-way-ness, we're just trying to make
+ * the name unique in the 108 bytes of space we have.
+ */
+uint64_t fnv_64a_buf(void *buf, size_t len, uint64_t hval)
+{
+       unsigned char *bp;
+
+       for(bp = buf; bp < (unsigned char *)buf + len; bp++)
+       {
+               /* xor the bottom with the current octet */
+               hval ^= (uint64_t)*bp;
+
+               /* gcc optimised:
+                * multiply by the 64 bit FNV magic prime mod 2^64
+                */
+               hval += (hval << 1) + (hval << 4) + (hval << 5) +
+                       (hval << 7) + (hval << 8) + (hval << 40);
+       }
+
+       return hval;
+}
index dec65269c17a558eadd9bc42e3557e3874aaa130..887d54c57711bde3b9d0501c70a015e29d0110c1 100644 (file)
@@ -272,4 +272,7 @@ inline static bool am_unpriv(void) {
 extern uid_t get_ns_uid(uid_t orig);
 
 extern bool dir_exists(const char *path);
+
+#define FNV1A_64_INIT ((uint64_t)0xcbf29ce484222325ULL)
+extern inline uint64_t fnv_64a_buf(void *buf, size_t len, uint64_t hval);
 #endif