* - an object container providing separate namespaces for objects
* - pools can have different placement & replication strategies
*
* Placement group (PG):
* - Groups of objects within a pool that share the same OSDs.
*
* CRUSH:
* - Data placement algorithm for RADOS objects, mapping OIDs to PGs.
*/
/* ASSUMPTIONS/QUESTIONS
* - Initially we enforce one global pool for each mobject store instance for simplicity.
*
* - Does ch-placement offer an algorithm similar to crush (e.g., PG concept)?
*
* - We will not implement any replication.
*
* - RADOS seems to expose object versions, but I only see them in the 'object operation' portion of their API, which is big and awkward (i.e., would love to not implement that).
*
* - Do we need any of the following from RADOS:
* - async I/O operations?
* - cursor stuff?
* - snapshots?
* - extended attributes?
*
* - RADOS API includes a watch/notify API that sounds like something we could build on top of a generic SSG pub-sub service, if we wanted.
*
*/
/* opaque type for a handle for interacting with a mobject store cluster */