| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
min_last_complete_ondisk
This commit updates the bulk of the interface pathways in crimson and
classic to refer to pg_committed_to rather than min_last_complete_ondisk
and changes the replica side to maintain pg_committed_to instead.
This commit shouldn't actually cause any behavior change -- we're still
passing min_last_complete_ondisk (which is a valid lower bound for
pg_committed_to!).
Signed-off-by: Samuel Just <sjust@redhat.com>
|
|
|
|
| |
Signed-off-by: Samuel Just <sjust@redhat.com>
|
|
|
|
|
|
|
| |
assume the connection to peer osd always has feature bit of
SERVER_OCTOPUS, as we are already move to quincy.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
silences warnings like:
src/messages/MOSDPGUpdateLogMissingReply.h:74:34: warning: class with destructor marked 'final' cannot be inherited from [-Wfinal-dtor-non-final-class]
~MOSDPGUpdateLogMissingReply() final {}
^
../src/messages/MOSDPGUpdateLogMissingReply.h:21:7: note: mark 'MOSDPGUpdateLogMissingReply' as 'final' to silence this warning
class MOSDPGUpdateLogMissingReply : public MOSDFastDispatchOp {
^
1 warning generated.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
| |
Some messages were also missing "override". "final" is used a defensive
coding measure.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|
|
|
|
|
|
|
|
| |
New clients will ignore the field on header.version <= 2. New
primaries will send the old variant if there are peers expecting
the old variant.
Signed-off-by: Samuel Just <sjust@redhat.com>
|
|
|
|
| |
Signed-off-by: Samuel Just <sjust@redhat.com>
|
|
|
|
| |
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
| |
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
| |
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|
|
|
|
| |
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
|
|
| |
otherwise we could have ../lib/libceph-common.so.0: undefined reference
to `MOSDPGNotify::HEAD_VERSION
when the compiler tries to be smart and pass them by reference.
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
| |
This eliminates duplicate code definitions.
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to avoid easy leaks of the form:
boost::intrusive_ptr(new M*(...));
where a ref is leaked because constructing the intrusive_ptr adds a ref.
It is expected that eventually all constructors move to protected/private so
that the message's factory is the only way to build a new message (safely).
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
|
|
|
|
| |
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
|
|
|
| |
This is a portion of Part 1 of the namespace project: using ADL
properly in encode and decode so we can use namespaces easily in Ceph.
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
we encode the payload w/o the writelock even can_write == NOWRITE, if
the message "can_fast_prepare". in that case, the "feature" of the
connection is 0, as no handshake happens yet. so the header.version is
always set to a version compatible with pre-luminous. but when the
message is re-encoded when the connection is re-established with feature
with luminous, the header.version is not set back to HEADER_VERSION.
that's why the message's encoding is not consistent with header.version
sometimes.
in this change, we always set the header.version in encode_payload(), so
it's consistent even after connection reset and message re-encoding.
Fixes: http://tracker.ceph.com/issues/19939
Signed-off-by: Kefu Chai <kchai@redhat.com>
|
|
|
|
| |
Signed-off-by: Casey Bodley <cbodley@redhat.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
| |
Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
|
|
|
|
|
|
| |
Define common get_spg() and get_map_epoch() methods.
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
| |
trim_rollback_to was a not terrible name before in that all
it ever did is (possibly) trim the stashed version of the
object. However, now, it's going to encompass, in general,
the roll_forward part of a tpc (which will still be to
delete the stashed object in cases where that is
appropriate).
Signed-off-by: Samuel Just <sjust@redhat.com>
|
|
|
|
|
|
| |
the origin idea is from https://github.com/ceph/ceph/pull/5211.
Signed-off-by: Xinze Chi <xinze@xsky.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix for:
CID 1262114 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member map_epoch is not initialized
in this constructor nor in any functions that it calls.
uninit_member: Non-static class member acks_wanted is not initialized
in this constructor nor in any functions that it calls.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
|
|
Add the two new message type and change the corresponding code flow as well.
Basically the idea to have MOSDRepOp is to seperate subop(read/write)
out of other subop(pull/push,etc), so that we can cleanup some unused fields in
the message type, then save some encoding/decoding overhead.
The backward compatibility is also remian, if talking with old version OSD who
doesn't support osd_client_subop/subopreply, will fall back to osd_subop/subopreply.
Sage: rename MOSDClientSubOp -> MOSDRepOp
Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
Signed-off-by: Sage Weil <sage@redhat.com>
|