osd/PG: debug cached_removed_snaps changes

See #7915.

Signed-off-by: Sage Weil <sage@inktank.com>
config: allow unsafe setting of config values

Allow callers to set config values even when there is no observer.

Signed-off-by: Sage Weil <sage@inktank.com>
os/FileStore: support osd_leveldb_* options via config_t::set_val()

Instead of feeding these values directly into the LevelDBStore, copy them
into the leveldb_* config options and let the implementation get them from
there.  This hides it more cleanly behind the interface.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/MonitorDBStore: support mon_leveldb_* options via config_t::set_val()

Copy config options instead of poking behind LevelDBStore intrface.

Signed-off-by: Sage Weil <sage@inktank.com>
os/KeyValueDB: generic create(), test_init()

Let us create an implemenetation by name.  Include a test_init() method
that will instantiate an instance and verify it could start up.

Signed-off-by: Sage Weil <sage@inktank.com>
os/KeyValueDB: make compaction interface generic

Signed-off-by: Sage Weil <sage@inktank.com>
mon/MonitorDBStore: use generic KeyValueDB::create()

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

Signed-off-by: xinxin shu <xinxin.shu@intel.com>

Conflicts:

	configure.ac
	src/erasure-code/jerasure/gf-complete
	src/erasure-code/jerasure/jerasure
	src/os/FileStore.cc
wip