librados: move dirty/undirty test to new ceph_test_rados_api_tier target

Signed-off-by: Sage Weil <sage@inktank.com>
osd/ReplicatedPG: use vectorized osd_op outdata for pg ops

This lets us put PGLS in a compound operation.  Nothing does that yet, but
this would allow it.

Signed-off-by: Sage Weil <sage@inktank.com>
librados: document aio_flush()

Signed-off-by: Sage Weil <sage@inktank.com>
mon/OSDMonitor: set hit_set fields

Signed-off-by: Sage Weil <sage@inktank.com>
librados: add rados_*_command2() wrappers that take a single string

These are easier to use.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/MonClient: constify inbl command args

Signed-off-by: Sage Weil <sage@inktank.com>
osdc/Objecter: constify inbl command args

Signed-off-by: Sage Weil <sage@inktank.com>
librados: constify inbl command args

Signed-off-by: Sage Weil <sage@inktank.com>
librados: add mon_command to C++ API

Signed-off-by: Sage Weil <sage@inktank.com>
osd: capture hashing of objects to hash positions/pgs in pg_pool_t

The hashing is dependent on pool properties; capture (more of) it in a
method instead of having it in OSDMap.

Signed-off-by: Sage Weil <sage@inktank.com>
osdc/Objecter: expose methods for getting object hash position and pg

Signed-off-by: Sage Weil <sage@inktank.com>
librados: expose methods for calculating object hash position

Signed-off-by: Sage Weil <sage@inktank.com>
librados: add wait_for_latest_map()

There are times when we need to make sure the client has the latest osdmap,
for example after sending a mon command modifying pool properties.

Signed-off-by: Sage Weil <sage@inktank.com>
osd: add hit_set_* parameters to pg_pool_t

Add pool properties to control what type of HitSet we want to use, along with
some (mostly generic) parameters.

Signed-off-by: Sage Weil <sage@inktank.com>
osd/ReplicatedPG: add basic HitSet tracking

Signed-off-by: Sage Weil <sage@inktank.com>
librados, osd: list and get HitSets via librados

Signed-off-by: Sage Weil <sage@inktank.com>