osd: debug user_versions a bit

Signed-off-by: Sage Weil <sage@inktank.com>
osd/PG: only raise PG's last_user_version if entry is >

We may have pg entries that do not increase the user_version at all (i.e.,
they may be 0).  Do not update the last_user_version in that case as we
need it to remain an upper bound.

Signed-off-by: Sage Weil <sage@inktank.com>
osd/ReplicatedPG: do not log user_version on deletion events

Or snap trim events where we are adjusting the head's snapdir attr.

Signed-off-by: Sage Weil <sage@inktank.com>
osd/ReplicatedPG: log previous user_version on clone

Nothing relies on this, but it makes sense to me.

Signed-off-by: Sage Weil <sage@inktank.com>
osd/ReplicatedPG: do not log a user_version on the snapdir object

Signed-off-by: Sage Weil <sage@inktank.com>
osd/ReplicatedPG: do not set ctx->user_at_version unless ctx->user_modify

Leave ctx->user_at_version set to the previous oi.user_version unless/until
we find that ctx->user_modify is true.

Signed-off-by: Sage Weil <sage@inktank.com>
osd/ReplicatedPG: set user_version in waiting_for_commit replies

Signed-off-by: Sage Weil <sage@inktank.com>
Merge remote-tracking branch 'gh/wip-6179'

Reviewed-by: Greg Farnum <greg@inktank.com>