PGLog: clear missing on backfill reset

When backfill is reset, the missing set should be cleared
since all objects are >last_backfill.

Fixes: #5320
Signed-off-by: Samuel Just <sam.just@inktank.com>
FileStore: add rmkeyrange

Handling it in DBObjectMap really only has efficiency
advantages if the object is a clone.

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: remove ondisklog usages from PG

ondisklog is now only relevant for the divergent priors mapping.

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: pass only divergent_priors, not ondisklog

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: remove other ondisklog references

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: remove OndiskLog

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd_types: move code for pg_log_entry_t::get_key_name into eversion_t

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: track dirty_to and dirty_from for log

This allows the log to only write out/clear the keys
which have actually changed.

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: move instances of log dirtying in PG into PGLog

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: replace dirty_log with mark_dirty_*

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG,PGLog: remove dirty_log arguments

Signed-off-by: Samuel Just <sam.just@inktank.com>
test/osd/TestPGLog: fix pglog unittests for dirty_log and ondisklog

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: add debug check on written keys, verify on write

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog,PG: use normal log dirtying and writing for append and trim

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: only iterate over dirty portions of the log

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: rename dirty() to is_dirty()

Signed-off-by: Samuel Just <sam.just@inktank.com>
PGLog: check for dirty_to != eversion_t() and dirty_from != eversion_t::max()

Signed-off-by: Samuel Just <sam.just@inktank.com>
test/osd/TestPGLog: %s/dirty()/is_dirty()

Signed-off-by: Samuel Just <sam.just@inktank.com>
Merge remote-tracking branch 'upstream/wip-log-rewrite-sam'

Fixes: #5232
Reviewed-by: Sage Weil <sage@inktank.com>