ceph: use strong hash function for mapping objects to pgs
authorSage Weil <sage@newdream.net>
Sat, 7 Nov 2009 00:44:05 +0000 (16:44 -0800)
committerSage Weil <sage@newdream.net>
Sat, 7 Nov 2009 00:44:05 +0000 (16:44 -0800)
commitcfbbcd24a6bfd794295ee7ad76dfbff40ad6b934
tree26a9640291ae3af1a9f1dd56cd8b3a2e3016b3ff
parentc6cf726316abd613cfb7c325d950f3629f964ec6
ceph: use strong hash function for mapping objects to pgs

We were using the (weak) dcache hash function, but it was leaving lower
bits consecutive for consecutive (inode) objects.  We really want to make
the object to pg mapping random and uniform, so use a proper hash function
here.

This is Robert Jenkin's public domain hash function (with some minor
cleanup):
http://burtleburtle.net/bob/hash/evahash.html

This is a protocol revision.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/ceph_fs.c
fs/ceph/ceph_fs.h