mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-09 14:40:07 +00:00
Revert "move fnv_64a_buf to utils.c and remove mutliple copies"
Fix clang breakage.
This reverts commit 7cd32872b6
.
This commit is contained in:
parent
7cd32872b6
commit
e1579aaff6
@ -1119,6 +1119,38 @@ static int setup_rootfs_pivot_root(const char *rootfs, const char *pivotdir)
|
|||||||
return 0;
|
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,
|
* Check to see if a directory has something mounted on it and,
|
||||||
* if it does, return the fstype.
|
* if it does, return the fstype.
|
||||||
|
@ -123,6 +123,31 @@ int lxc_monitor_close(int fd)
|
|||||||
return close(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) {
|
int lxc_monitor_sock_name(const char *lxcpath, struct sockaddr_un *addr) {
|
||||||
size_t len;
|
size_t len;
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -1151,27 +1151,3 @@ bool dir_exists(const char *path)
|
|||||||
return false;
|
return false;
|
||||||
return S_ISDIR(sb.st_mode);
|
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;
|
|
||||||
}
|
|
||||||
|
@ -272,7 +272,4 @@ inline static bool am_unpriv(void) {
|
|||||||
extern uid_t get_ns_uid(uid_t orig);
|
extern uid_t get_ns_uid(uid_t orig);
|
||||||
|
|
||||||
extern bool dir_exists(const char *path);
|
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
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user