mon/PaxosService: drop unused helpers

Signed-off-by: Sage Weil <sage@inktank.com>
mon: make PaxosService::get_value() int return type 64-bit

Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
mon: fix mkfs monmap cleanup

exists_key(a,b) was looking for "monmap/mkfs/monmap".

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PaxosService: remove mkfs helpers

Keep it simple.  These are one-liners.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PaxosService: simplify full helpers, drop single-use helper

We are the only caller for get_version(prefix, name), so move it inline
and drop it.  Also rename full_version_name to full_prefix_name, which I
find slightly less confusing.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/OSDMOnitor: use provided get_version_full()

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PaxosService: drop unused {get,set,put}_version(prefix, a, bl)

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PaxosService: some whitespace

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PaxosService: drop unused last_accepted_name

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PaxosService: s/get_version()/get_last_committed()/

Avoid aliasing simple accessors; use a single name instead.  Also, function
name overloading will throw a wrench in the class inheritance later.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PGMap: make int type explicit

We get away with this because int is 32-bits on x86_64 and i386 both, but
we should be explicit anyway!

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PGMonitor: drop some dead code

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PaxosService: move upgrade_format() machinery into PaxosService

We originally did this in AuthMonitor, but it is perfect for PGMonitor too,
so make it generic.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/AuthMonitor: start at format 1 (latest) for new clusters

Signed-off-by: Sage Weil <sage@inktank.com>
mon/PGMonitor: store PGMap directly in leveldb

Instead of encoding incrementals and periodically dumping the whole encoded
PGMap in leveldb, instead store everything in a range of keys, and update
between versions using transactions.  The per-version values are now
breadcrumbs indicating which keys were dirtied so they can be refreshed
via update_from_paxos().

Bump the internal monitor protocol version.

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