This state is analogous to RepWaitBackfillReserved; just like we do there
we want to handle the REJECT from the primary by canceling our local
remote_reservation.
Signed-off-by: Sage Weil <sage@redhat.com>
The primary may send us a REJECT (meaning cancel) if recovery/backfill is
preempted there. That can happen even if the recovery isn't reserved or
requested here (e.g., because the primary is still waiting for the local
reservation). Just ignore it and remain in RepNotRecovering.
Fixes: http://tracker.ceph.com/issues/21613
Signed-off-by: Sage Weil <sage@redhat.com>
We can get a RemoteReservationRejected event either because *we* decide
to reject, or because we get a REJECT from the primary that means "cancel"
(e.g., because recovery/backfill was preempted there). In both cases we
want to cancel our remote_reservation.
Signed-off-by: Sage Weil <sage@redhat.com>
The RemoteReservationRejected event is also submitted when we are a
replica or backfill target and get a MBackfillReserve REJECT message
because the primary canceled or was preempted. In that case, we don't
want to send a REJECT back to the primary; we only need to send it in the
cases where *we*, locally, decide to reject. Move the call to those call
sites.
Signed-off-by: Sage Weil <sage@redhat.com>
ceph osd pool create test 100
Error ERANGE: pg_num 100 size 3 would mean 648 total pgs, which exceeds max 600 (mon_max_pg_per_osd 200 * num_in_osds 3)
Signed-off-by: Mykola Golub <to.my.trociny@gmail.com>
std::equal() in c++11 is able to compare elements of different container
types. but would be easier to read if we can just use the operator==().
Signed-off-by: Kefu Chai <kchai@redhat.com>
* refs/remotes/upstream/pull/17990/head:
mds: open purge queue when transitioning out of standby replay
mds: always re-probe mds log when standby replay done
Reviewed-by: John Spray <john.spray@redhat.com>
As bluestore has bulitin csum, we generally no longer generate
object data digest for now. The consequence is that we should
handle data/omap digest more carefully to make certain ops,
such as copy_from/promote, to work properly since they heavily
relies on data digest for data transfer correctness.
Example of failure:
http://pulpito.ceph.com/xxg-2017-09-30_11:46:34-rbd-master-distro-basic-mira/1690609/
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
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>