]> git.baikalelectronics.ru Git - kernel.git/commit
libceph: add support for HASHPSPOOL pool flag
authorSage Weil <sage@inktank.com>
Tue, 26 Feb 2013 18:39:09 +0000 (10:39 -0800)
committerSage Weil <sage@inktank.com>
Tue, 26 Feb 2013 23:03:06 +0000 (15:03 -0800)
commita658e32c3ed839d9ee6ef72260977cfd806c1aef
tree8f105c71b91854c68db4281f255723356e709ccd
parent8cb22e94dcdfed743d7b4ae409eb1554d7736892
libceph: add support for HASHPSPOOL pool flag

The legacy behavior adds the pgid seed and pool together as the input for
CRUSH.  That is problematic because each pool's PGs end up mapping to the
same OSDs: 1.5 == 2.4 == 3.3 == ...

Instead, if the HASHPSPOOL flag is set, we has the ps and pool together and
feed that into CRUSH.  This ensures that two adjacent pools will map to
an independent pseudorandom set of OSDs.

Advertise our support for this via a protocol feature flag.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Alex Elder <elder@inktank.com>
include/linux/ceph/ceph_features.h
include/linux/ceph/osdmap.h
net/ceph/osdmap.c