X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=hash.h;h=9ff67613330ecc8107aee1396799fedc9edc3b26;hb=f0a376df4733dc6f0f0cdc529f4e7df64806f3f6;hp=868ee17ca77a022a5fa2467419cbb69cffd38fed;hpb=8871a0eaa98d951727e97c615d831af9a60432ae;p=platform%2Fupstream%2Fbtrfs-progs.git diff --git a/hash.h b/hash.h index 868ee17..9ff6761 100644 --- a/hash.h +++ b/hash.h @@ -16,7 +16,23 @@ * Boston, MA 021110-1307, USA. */ -#ifndef __HASH__ -#define __HASH__ -u64 btrfs_name_hash(const char *name, int len); +#ifndef __BTRFS_HASH_H__ +#define __BTRFS_HASH_H__ + +#include "crc32c.h" + +static inline u64 btrfs_name_hash(const char *name, int len) +{ + return crc32c((u32)~1, name, len); +} + +/* + * Figure the key offset of an extended inode ref + */ +static inline u64 btrfs_extref_hash(u64 parent_objectid, const char *name, + int len) +{ + return (u64)btrfs_crc32c(parent_objectid, name, len); +} + #endif