ceph-objectstore-tool: "$OBJ get-omaphdr" and "$OBJ list-omap" scan all pgs instead of using specific pg
Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
ceph-disk: more precise error message when a disk is specified
Reviewed-by: Loic Dachary <ldachary@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
reply" due to out of Tx buffers, this can be reproduced by marking some
OSDs down in a big Ceph cluster, say 300+ OSDs.
rootcause: when RDMAStack wants to delete faulty connections there are
chances that those QPs still have inflight CQEs, thus inflight Tx
buffers; without waiting for them to complete, Tx buffer pool will run
out of buffers finally.
fix: ideally the best way to fix this bug is to destroy QPs gracefully
such as to_dead(), we now just reply on the number of Tx WQE and CQE to
avoid buffer leakage; RDMAStack polling is always running so we are safe
to simply bypass some QPs that are not in 'complete' state.
Signed-off-by: Yan Lei <yongyou.yl@alibaba-inc.com>
Fixed the unnecessary URL format in the text. Modify the URL formatting to highlight only the file name seems better.
Signed-off-by: Jos Collin <jcollin@redhat.com>
We have done audit of stats and the numbers should be all ok by then.
Actually the pin_stats_invalid bit is never set true, so forgetting
to clear pin_stats_invalid here generally does harm. Also we could simply
kill the pin_stats_invalid bit instead but let's not bother with that
complexity either.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
The awsv4 signature calculation includes a list of header lines, which
are supposed to be sorted. The existing code sorts by header name, but
it appears that in fact it is necessary to sort the whole header *line*,
not just the field name. Sorting by just the field name usually works,
but not always. The s3-tests teuthology suite includes
s3tests.functional.test_s3.test_object_header_acl_grants
s3tests.functional.test_s3.test_bucket_header_acl_grants
which include the following header lines,
x-amz-grant-read-acp:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234
x-amz-grant-read:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234
x-amz-grant-write-acp:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234
x-amz-grant-write:id=56789abcdef0123456789abcdef0123456789abcdef0123456789abcdef01234
in this case, note that ':' needs to sort after '-'.
Fixes: http://tracker.ceph.com/issues/21607
Signed-off-by: Marcus Watts <mwatts@redhat.com>
Previously we used the source image's data pool name
unconditionally. There were two problems with that:
1. If a pool with the same name didn't exist locally, creation of the
local image would fail.
2. If the local pool had a default data pool configured it would be
ignored.
Change local image creation so it uses the default pool if configured,
and uses the remote pool name only if a pool with that name exists
locally. If neither of those is true, leave the data pool unset.
Signed-off-by: Adam Wolfe Gordon <awg@digitalocean.com>
To test this change, we create an image of 5GB and do rbd bench write of 1GB:
./bin/rbd create bar -s 5120 && ./bin/rbd bench --io-type write --io-size 32K --io-total 100M --io-pattern rand rbd/bar
Below is the test result.
Was:
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
30911M 27052M 3859M 12.49
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
rbd 0 3191M 26.36 8914M 1174
cephfs_data_a 1 0 0 8914M 0
cephfs_metadata_a 2 2246 0 8914M 21
Now:
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
30911M 27050M 3861M 12.49
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
rbd 0 101216k 1.10 8913M 1178
cephfs_data_a 1 0 0 8913M 0
cephfs_metadata_a 2 892 0 8913M 21
E.g., this change can make "osd pool set-quota max_bytes" work nicely.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
... that have empty OSD and MDS caps. Don't add a ',' at the
start of OSD and MDS caps.
Fixes: http://tracker.ceph.com/issues/21501
Signed-off-by: Ramana Raja <rraja@redhat.com>
If the monitor port is not specified in ceph.conf,
it will use 0. However, monmaptool will use
default port in creating monitor map in such case.
The inconsistent behavior is not graceful, and
every time monitor loading, it warns 'mon addr
config option does not match monmap file', which
is confusing.
Signed-off-by: Li Wang <laurence.liwang@gmail.com>
heavy RDMA traffic, there are chances to access a current_chunk which can
be beyond the range of pre-allocated Tx buffer pool thus causes a coredump
Signed-off-by: Yan Lei <yongyou.yl@alibaba-inc.com>
traffic, there are chances to access a current_chunk which can be beyond the
range of pre-allocated Tx buffer pool thus causes a coredump.
Signed-off-by: Yan Lei <yongyou.yl@alibaba-inc.com>
actually "r" is always 0 in that branch. so it's a no-op.
this silences the clang analyzer warning of
Value stored to 'r' is never read
Signed-off-by: Kefu Chai <kchai@redhat.com>
shrink the lexical scope of "csum_order" and do not set it if it is
never read.
this silences the clang analyzer warning of:
Value stored to 'csum_order' is never read
Signed-off-by: Kefu Chai <kchai@redhat.com>