common/strtol.cc: strict_strtosi() converts str with SI units to uint64_t

Accepts values with a suffix (B, K, M, G, T, P, E) and returns the
appropriate byte value.

E.g., 10B = 10, while 10K = 10240.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 67dc5751ba9a4e527ff12ea65000d1ba45d956f6)
test/strtol.cc: Test 'strict_strtosi()'

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 40587d4792fd55db72d33870aae8b6a806c9baaf)
common/config.cc: allow integer values to be parsed as SI units

We are allowing this for all and any integer values; that is, OPT_INT,
OPT_LONGLONG, OPT_U32 and OPT_U64.

It's on the user to use appropriate units.  For instance, the user should
not use 'E(xabyte)' when setting a signed int, and use his best judgment
when setting options that, for instance, ought to receive seconds.

Fixes: 8265
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 5500437e064cd6b4b45d63ee9396193df87f4d44)
mon: name instead of id in "has tiers" message

Instead of "Pool foo has tiers 1 2" print
"Pool foo has tiers bar baz".

Signed-off-by: John Spray <jspray@redhat.com>
(cherry picked from commit 97772c2f53f726bd71710d0d3e34159d2679390a)
mon: OSDMonitor: add 'osd pool get-quota' command

Enables us to obtain current quotas for a given pool.

Fixes: #8523

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
(cherry picked from commit 714a9bb5a058b2553f3be3e4cfb7e7f30150e75a)
qa/workunits/cephtool/test.sh: fix get erasure_code_profile test

Manual backport of 4d6899c7560e990650959b442980a7249f0ba4c1

Signed-off-by: Sage Weil <sage@redhat.com>
  Fix EINVAL err when use "ceph tell osd.* bench"

  Signed-off-by: huangjun <hjwsm1989@gmail.com>
(cherry picked from commit 7dc93a9651f602d9c46311524fc6b54c2f1ac595)