diff options
author | Shehjar Tikoo <shehjart@gluster.com> | 2009-07-20 01:25:12 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2009-07-20 14:29:30 -0700 |
commit | 03d6dae5a4003bcaf86eb887f63444c0565ad32c (patch) | |
tree | 4e3096aa674b58a8c97ad35a1bb0a07e13e38000 /libglusterfs/src | |
parent | a12f332cff050db3aa3905436158cbd339fa6963 (diff) |
libglusterfsclient: Fake a fsid for every VMP
This is needed to work around the replicate behaviour of
possibly returning device number for the same file from
different subvolumes.
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 148 (replicate: Returns st_dev from different subvols resulting in ESTALE thru unfs3booster)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=148
Diffstat (limited to 'libglusterfs/src')
-rw-r--r-- | libglusterfs/src/hashfn.c | 11 | ||||
-rw-r--r-- | libglusterfs/src/hashfn.h | 2 |
2 files changed, 13 insertions, 0 deletions
diff --git a/libglusterfs/src/hashfn.c b/libglusterfs/src/hashfn.c index 9ef8955a8..d53ecb56a 100644 --- a/libglusterfs/src/hashfn.c +++ b/libglusterfs/src/hashfn.c @@ -33,6 +33,17 @@ #define DM_FULLROUNDS 10 /* 32 is overkill, 16 is strong crypto */ #define DM_PARTROUNDS 6 /* 6 gets complete mixing */ + +uint32_t +ReallySimpleHash (char *path, int len) +{ + uint32_t hash = 0; + for (;len > 0; len--) + hash ^= (char)path[len]; + + return hash; +} + /* This is apparently the "fastest hash function for strings". Written by Paul Hsieh <http://www.azillionmonkeys.com/qed/hash.html> diff --git a/libglusterfs/src/hashfn.h b/libglusterfs/src/hashfn.h index 92481126d..b8adcc6cc 100644 --- a/libglusterfs/src/hashfn.h +++ b/libglusterfs/src/hashfn.h @@ -32,4 +32,6 @@ uint32_t SuperFastHash (const char * data, int32_t len); uint32_t gf_dm_hashfn (const char *msg, int len); +uint32_t +ReallySimpleHash (char *path, int len); #endif /* __HASHFN_H__ */ |