summaryrefslogtreecommitdiffstats
path: root/fs/ceph/osdmap.c
diff options
context:
space:
mode:
authorSage Weil2009-11-08 05:18:22 +0100
committerSage Weil2009-11-08 05:18:22 +0100
commitfb690390e305ea51e1883b105c7d3c52d7100ba5 (patch)
treec099a71133225b1d22bba976e93dc6ab92a08986 /fs/ceph/osdmap.c
parentceph: make object hash a pg_pool property (diff)
downloadkernel-qcow2-linux-fb690390e305ea51e1883b105c7d3c52d7100ba5.tar.gz
kernel-qcow2-linux-fb690390e305ea51e1883b105c7d3c52d7100ba5.tar.xz
kernel-qcow2-linux-fb690390e305ea51e1883b105c7d3c52d7100ba5.zip
ceph: make CRUSH hash function a bucket property
Make the integer hash function a property of the bucket it is used on. This allows us to gracefully add support for new hash functions without starting from scatch. Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/osdmap.c')
-rw-r--r--fs/ceph/osdmap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ceph/osdmap.c b/fs/ceph/osdmap.c
index 68478270ad70..8c994c714781 100644
--- a/fs/ceph/osdmap.c
+++ b/fs/ceph/osdmap.c
@@ -210,7 +210,8 @@ static struct crush_map *crush_decode(void *pbyval, void *end)
ceph_decode_need(p, end, 4*sizeof(u32), bad);
b->id = ceph_decode_32(p);
b->type = ceph_decode_16(p);
- b->alg = ceph_decode_16(p);
+ b->alg = ceph_decode_8(p);
+ b->hash = ceph_decode_8(p);
b->weight = ceph_decode_32(p);
b->size = ceph_decode_32(p);