osd/osd_types: add num_bytes_hit_set_archive to stats

The tiering agent's life is easier/better if it knows how many bytes these
objects consume (instead of making a conservative guess).

Signed-off-by: Sage Weil <sage@redhat.com>
osd/ReplicatedPG: account for hit_set_archive bytes

Signed-off-by: Sage Weil <sage@redhat.com>
osd/ReplicatedPG: scrub and repair hit_set_archive bytes

Signed-off-by: Sage Weil <sage@redhat.com>
osd/ReplicatedPG: calculate num_user_bytes

This is the bytes stored by the user, excluding hit_sets.

Signed-off-by: Sage Weil <sage@redhat.com>
osd/ReplicatedPG: adjust avg_size calculation in agent_choose_mode

Signed-off-by: Zhiqiang Wang <wonzhq@hotmail.com>
Objecter::_recalc_linger_op: resend for any acting set change

Fixes: #9220
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
FileStore: report l_os_j_lat as commit latency

l_os_commit_lat is actually the commit cycle latency.

Fixes: #9269
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
osdc/Objecter: drop bad session nref assert

This is a bad assert.  Specifically, handle_osd_op_reply may still be
holding the session ref while it is calling the completion for a previous
request.  This is safe: it is only holding the session ref after it dropped
the global map rwlock because of the per-session completion locks.  The
request in question was already marked completed by the time our thread
took the session lock.

Fixes: #9241
Signed-off-by: Sage Weil <sage@redhat.com>
osd: set min_read_recency_for_promote to default 1 when doing upgrade

When upgrading from a build without the promotion on 2nd read feature,
should set min_read_recency_for_promote to the default value 1, instead
of 0.

Signed-off-by: Zhiqiang Wang <wonzhq@hotmail.com>
osdc/Objecter: fix leak of MStatfsReply

Signed-off-by: Sage Weil <sage@redhat.com>
[rgw][s3] Allow colon ':' in access key

When access key contains ':', e.g. `some_info:for_user',
authorization header looks like:

"AWS some_info:for_user:request_signature"

so `auth_str.find(':')` result in auth_id = "some_info",
auth_sign = "for_user:request_signature".

auth_str.rfind(':') solves this issue.

Signed-off-by: Roman Haritonov <reclosedev@gmail.com>
Merge pull request #2447 from reclosedev/s3_colon_in_access_key

[rgw][s3] Allow colon ':' in access key

Reviewed-by: Yehuda Sadeh <yehuda@redhat.com>
Merge pull request #2451 from ceph/wip-osdc-leak

osdc/Objecter: fix leak of MStatfsReply

Reviewed-by: John Spray <john.spray@redhat.com>
Merge pull request #2293 from ceph/wip-hitset-bytes

osd: improve agent calculation by factoring out hit_set bytes used properly

Reviewed-by: Samuel Just <sam.just@inktank.com>
Merge pull request #2443 from ceph/wip-9241

osdc/Objecter: drop bad session nref assert

Reviewed-by: Samuel Just <sam.just@inktank.com>
Merge pull request #2453 from athanatos/wip-9220

Objecter::_recalc_linger_op: resend for any acting set change

Reviewed-by: Sage Weil <sage@redhat.com>
Merge pull request #2454 from athanatos/wip-9269

FileStore: report l_os_j_lat as commit latency

Reviewed-by: Sage Weil <sage@redhat.com>
ReplicatedPG: record correctly subop for perfcounter.

In log_subop_stats, it omit to record the counter of subop.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
ReplicatedPG: Make perfcounter record the read-size for
 async-read.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
test: Fix ceph_test_rados_watch_notify to delete the pools it creates

Fixes: #7934

Signed-off-by: David Zafman <dzafman@redhat.com>