| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
| |
If we set config ms_dump_on_send,the function encode may run twice.
Then data will double of normal data.
Signed-off-by: Ying He <heyingbj@inspur.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes coverity Issue:
CID 717307 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member epoch is not initialized in this constructor nor in any functions that it calls.
2. uninit_member: Non-static class member epoch is not initialized in this constructor nor in any functions that it calls.
CID 717308 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
4. uninit_member: Non-static class member query_epoch is not initialized in this constructor nor in any functions that it calls.
CID 717310 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member epoch is not initialized in this constructor nor in any functions that it calls.
CID 717311 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member epoch is not initialized in this constructor nor in any functions that it calls.
CID 717312 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member epoch is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member op is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member map_epoch is not initialized in this constructor nor in any functions that it calls.
CID 717313 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member query_epoch is not initialized in this constructor nor in any functions that it calls.
CID 717314 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member map_epoch is not initialized in this constructor nor in any functions that it calls.
CID 717315 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member epoch is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member map_epoch is not initialized in this constructor nor in any functions that it calls.
CID 717316 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member op is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member map_epoch is not initialized in this constructor nor in any functions that it calls.
CID 717317 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member min_epoch is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member repair is not initialized in this constructor nor in any functions that it calls.
CID 717318 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
4. uninit_member: Non-static class member deep is not initialized in this constructor nor in any functions that it calls.
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.
uninit_member: Non-static class member old_exists is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member old_size is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member first is not initialized in this constructor nor in any functions that it calls.
CID 717319 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member complete is not initialized in this constructor nor in any functions that it calls.
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 ack_type is not initialized in this constructor nor in any functions that it calls.
CID 717320 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member result is not initialized in this constructor nor in any functions that it calls.
CID 717321 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member epoch is not initialized in this constructor nor in any functions that it calls
uninit_member: Non-static class member pool is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member op is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member auid is not initialized in this constructor nor in any functions that it calls.
CID 717322 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member crush_rule is not initialized in this constructor nor in any functions that it calls.
uninit_member: Non-static class member replyCode is not initialized in this constructor nor in any functions that it calls.
CID 717323 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member epoch is not initialized in this constructor nor in any functions that it calls.
Signed-off-by: Amit Kumar amitkuma@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>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
|
|
| |
Otherwise, AsyncConnection will use uninitialized feature to encode
message. The caller side will set a old version header but encode with newest
feature since passing feature is ok. It will let receiver side got a old
header version but newest payload decode result.
Signed-off-by: Haomai Wang <haomai@xsky.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>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
| |
Signed-off-by: Emile Snyder <emsnyder@ebay.com>
|
|
|
|
|
|
| |
the origin idea is from https://github.com/ceph/ceph/pull/5211.
Signed-off-by: Xinze Chi <xinze@xsky.com>
|
|
|
|
|
|
| |
This is necessary now that operator< is not defined.
Signed-off-by: Sage Weil <sage@redhat.com>
|
|
|
|
|
|
|
|
|
|
| |
This field in MOSDSubOp, used to support very old version
OSD(MOSDSubOp header version < 7, which was introduced in
mid 2012 by commit 2fe9816305fc1406ab7fb043bbb32affffc2d190)
Now since two years pasted, we don't need it anymore.
Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
|
|
|
|
|
|
| |
The noop loop are dead, so clean it up
Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
|
|\
| |
| |
| |
| | |
Conflicts:
src/osd/ECMsgTypes.cc
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Whenever an integer needs to be converted in a shard_id_t,
replace the implicit conversion with an explicit call to the
constructor.
Replace all ghobject_t::NO_SHARD and ghobject_t::no_shard() with
shard_id_t::NO_SHARD
Signed-off-by: Loic Dachary <loic@dachary.org>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
We simply trim the roll back info up to min_last_complete_ondisk
since we cannot correctly rollback past that point anyway!
ReplicatedPG
-> PGBackend::submit_transaction
-> Backend messages
-> PGBackend::Listener::log_operation
-> append_log
Signed-off-by: Samuel Just <sam.just@inktank.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We don't actually send the whole info on each repop, just the log
entries, updated stats, and a few other bits. For hit_set ops, we need
to also communicate the new hit_set history status atomically with the
log entries and the transaction. Thus, we add a channel for an optional
pg_hit_set_history_t field in PGBackend::submit_transaction interface
and associated messages and implementations to update the hit_set info
field along with the log entries.
This also means that hit_set_(persist|trim) update an
updated_hit_set_history field on the OpContext instead of directly
modifying the info field.
Fixes: #8124
Signed-off-by: Samuel Just <sam.just@inktank.com>
|
|
|
|
| |
Signed-off-by: Dan Mick <dan.mick@inktank.com>
|
|
|
|
|
|
| |
Now we won't have to keep converting back and forth!
Signed-off-by: Samuel Just <sam.just@inktank.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can no longer use the messenger source information to determine
the origin of the message since an osd might have more than one
shard of a particular pg. Thus, we need to include a pg_shard_t
from field to indicate origin. Similarly, pg_t is no longer
sufficient to specify the destination pg, we instead use spg_t.
In the event that we get a message from an old peer, we default
from to pg_shard_t(get_source().num(), ghobject_t::no_shard())
and spg_t to spg_t(pgid, ghobject_t::no_shard()). This suffices
because non-NO_SHARD shards can only appear once ec pools have
been enabled -- and doing that bans unenlightened osds.
Signed-off-by: Samuel Just <sam.just@inktank.com>
|
|
|
|
|
|
|
| |
Add check of is_max() before updating an unset pool
Use efficient is_max() instead of compare with hobject::get_max()
Signed-off-by: David Zafman <david.zafman@inktank.com>
|
|
|
|
|
|
|
|
| |
Allow us to mark when we start and stop using a temporary object in a
sub_op. If we start to use it, make sure the collection exists on the
replica.
Signed-off-by: Sage Weil <sage@inktank.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@inktank.com>
|
|
|
|
| |
Signed-off-by: Samuel Just <sam.just@inktank.com>
|
|
|
|
|
|
|
| |
Messages that embed an hobject_t need to have the pool field fixed
on messages from old peers.
Signed-off-by: Samuel Just <sam.just@inktank.com>
|
|
|
|
| |
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
|
|
|
|
| |
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
|
|
|
|
| |
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Define a HEAD_VERSION and COMPAT_VERSION for any versioned message. Pass
to Message constructor so that it is always initialized, even from the
the default constructor. That's needed because we use that to check
decoding compatibility when receiving/decoding messages.
If we are conditionally encoding an old version, explicitly set
header.version in encode_payload().
We also set compat_version to demonstrate what will happen for future
revisions. In this case, it's moot, because no old code understands
compat_version yet: nobody with old decode code will see these values
anyway. But use this opportunity to demonstrate how it would be used in
the future.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
|
|
|
| |
ceph-dencoder wants this to verify it decoded the correct message type.
Not that it is likely to happen, but let's be pendantic about it anyway.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
|
|
|
|
| |
- get_type_name()
- print()
and all the random crap they call.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
|
|
|
| |
Avoid using the connection reference; pass it in explicitly instead. This
will make ceph-dencoder's life a bit easier.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
|
|
| |
We'll soon add outdata...
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
|
|
|
|
| |
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
|
|
|
|
|
|
|
|
| |
PG log did not previously store the object locator. To get the hash for
the hobject, scan the collection for the object during read_log if we
encouter an old style log entry.
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
|
|
|
|
| |
Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
|
|
|
|
| |
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
|
|
|
|
|
|
|
| |
Also: We adjust the get_object_context() et al helpers to take a locator.
We include a locator (sometimes) in the MOSDSubOp (push and modify).
Signed-off-by: Sage Weil <sage@newdream.net>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@newdream.net>
|
|
|
|
|
|
|
| |
A couple of preprocessor symbols for include guards tampered with the reserved namespace.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Sage Weil <sage@newdream.net>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/client/Client.h
src/messages/MAuthReply.h
src/messages/MClientLease.h
src/osd/ReplicatedPG.cc
src/osd/osd_types.h
src/osdc/Journaler.h
|
| | |
|
|/
|
|
|
|
|
|
|
|
| |
The problem is that on some platforms __u64 == uint64_t (x86_64), and on
others it's doesn't (ppc64). Which means we don't know whether to define
different versions of overloaded functions for both types or just one.
So, standardize on uint64_t. This plays nicer with STL, which defines
hash<uint64_t> on 64 bit arches but not 32 bit. Which means we can't
standarzie on __u64 or else hash<__u64> won't work. Bah!
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This just doubles up the data payload. And makes the MOSDSubOp printout
look like garbage, since e.g. the setxattr names are taken from the
portion of the data payload encoding the transaction.
|