PG,OSD: mark info as backfilling in _remove_pg()

Signed-off-by: Samuel Just <sam.just@inktank.com>
OSD::clear_temp should clear snap mapper entries as well

Signed-off-by: Samuel Just <sam.just@inktank.com>
OSD: removal collections will be removed inline and not queued

Signed-off-by: Samuel Just <sam.just@inktank.com>
WorkQueue: Allow WorkQueueVal to be specified with 1 type

Signed-off-by: Samuel Just <sam.just@inktank.com>
OSD: don't rename pg collections, handle PGs in RemoveWQ

Signed-off-by: Samuel Just <sam.just@inktank.com>
common/sharedptr_registry.hpp: add remove

remove() can be used to clear an entry before all of its
references are removed.

Signed-off-by: Samuel Just <sam.just@inktank.com>
OSD: add pg deletion cancelation

DeletingState now allows _create_lock_pg() to attempt to cancel
pg deletion.

PG::init() must mark the PG as backfill iff we stopped a deletion.

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd_internals/pg_removal.rst: update for pg resurrection

Signed-off-by: Samuel Just <sam.just@inktank.com>
PG: no need to wait on DeletingStateRef for flush

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd: remove_dir use collection_list_partial

Signed-off-by: Samuel Just <sam.just@inktank.com>
OSD: rename clear_temp to recursive_remove_collection()

Signed-off-by: Samuel Just <sam.just@inktank.com>
Merge branch 'wip_pg_res'

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