summaryrefslogtreecommitdiffstats
path: root/src/messages/MOSDSubOp.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* osd: remove MOSDSubOp[Reply] jewel compat codeSage Weil2017-08-291-295/+0
| | | | Signed-off-by: Sage Weil <sage@redhat.com>
* * messages/MOSDOp: a fix of encode_payloadYing He2017-08-161-3/+9
| | | | | | | 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>
* messages: Initializing member variables of module messagesamitkuma2017-08-051-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* common: add override in msg subsystemliuchang08122017-03-031-6/+6
| | | | Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
* osd: make all fast dispatch ops MOSDFastDispatchOp childrenSage Weil2017-02-141-5/+11
| | | | | | Define common get_spg() and get_map_epoch() methods. Signed-off-by: Sage Weil <sage@redhat.com>
* common/hobject: eliminate wonky compartorsSage Weil2017-02-111-1/+1
| | | | Signed-off-by: Sage Weil <sage@redhat.com>
* messages/MOSDSubOp: Make encode_payload can be reentrantHaomai Wang2016-12-241-0/+1
| | | | | | | | | 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>
* osd/: 's/trim_rollback_to/roll_forward_to/g'Samuel Just2016-11-171-4/+4
| | | | | | | | | | | 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>
* osd: encode ObjectRecoveryInfo with featuresSage Weil2016-05-311-1/+1
| | | | Signed-off-by: Sage Weil <sage@redhat.com>
* Remove unused SnapContext member snapc from MOSDSubOp message.Emile Snyder2015-12-301-5/+17
| | | | Signed-off-by: Emile Snyder <emsnyder@ebay.com>
* MOSDRepOp: Simple Messenger optimizationXinze Chi2015-11-091-0/+2
| | | | | | the origin idea is from https://github.com/ceph/ceph/pull/5211. Signed-off-by: Xinze Chi <xinze@xsky.com>
* explicitly specify comparator for all hobject_t maps and setsSage Weil2015-08-071-1/+1
| | | | | | This is necessary now that operator< is not defined. Signed-off-by: Sage Weil <sage@redhat.com>
* Cleanup: Drop hobject_incorrect_poolXiaoxi Chen2014-12-171-29/+14
| | | | | | | | | | 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>
* Cleanup noop in messageXiaoxi Chen2014-12-011-7/+7
| | | | | | The noop loop are dead, so clean it up Signed-off-by: Xiaoxi Chen <xiaoxi.chen@intel.com>
* Merge remote-tracking branch 'upstream/master' into wip-8438-masterSamuel Just2014-06-271-2/+2
|\ | | | | | | | | Conflicts: src/osd/ECMsgTypes.cc
| * osd: explicit shard_id_t() and NO_SHARDLoic Dachary2014-05-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | 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>
* | osd/: plumb rollback_trim_to through interfaces and messagesSamuel Just2014-06-271-1/+9
|/ | | | | | | | | | | | | 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>
* osd/: propogate hit_set history with repopSamuel Just2014-04-211-1/+10
| | | | | | | | | | | | | | | | | 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>
* Change tid_t to ceph_tid_t to avoid conflicts with a popular typeDan Mick2014-03-191-1/+1
| | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
* osd/: replace bufferptr with bufferlist for attrs in recoverySamuel Just2014-02-181-1/+1
| | | | | | Now we won't have to keep converting back and forth! Signed-off-by: Samuel Just <sam.just@inktank.com>
* messages/: include shard information in various pg messagesSamuel Just2014-02-181-5/+20
| | | | | | | | | | | | | | | 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>
* messages, os, osd: Clean-up g/hobject_t MAX handlingDavid Zafman2014-01-091-1/+1
| | | | | | | 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>
* osd: flag new/old temp objects in MOSDSubOpSage Weil2013-09-121-1/+11
| | | | | | | | 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>
* osd: set PULL subop cost to size of requested dataSage Weil2013-01-221-0/+6
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* MOSDSubOp: set hobject_incorrect_pool in decode_payloadSamuel Just2012-07-021-0/+1
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* OSD,PG,ObjectStore: handle messages with old hobject_t encodingSamuel Just2012-06-221-3/+14
| | | | | | | 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>
* ReplicatedPG: add omap_header to recoverySamuel Just2012-03-061-1/+5
| | | | Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* MOSDSubOp: Add entry for omap recoverySamuel Just2012-03-011-1/+6
| | | | Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* MOSDSubOp: Add new object recovery stateSamuel Just2012-02-131-2/+21
| | | | Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* messages: populate header.version in constructorSage Weil2012-02-101-15/+17
| | | | | | | | | | | | | | | | | | 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>
* messages: set type in default constructorSage Weil2012-02-031-1/+1
| | | | | | | 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>
* msg: go const-crazy on messagesSage Weil2012-01-301-2/+2
| | | | | | | | - get_type_name() - print() and all the random crap they call. Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* msg: no cct for decode_payloadSage Weil2012-01-301-1/+1
| | | | Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* msg: no cct needed for message encodingSage Weil2012-01-301-1/+1
| | | | Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* msg: pass features explicitly into message encodersSage Weil2012-01-301-1/+1
| | | | | | | 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>
* osd: OSDOp::data -> indataSage Weil2012-01-091-3/+3
| | | | | | We'll soon add outdata... Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
* MOSDSubOpReply/MSDSubOp: No need to update encoding version.Samuel Just2011-09-011-11/+3
| | | | Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* OSD: Fix encoding versions affected by hobject switchSamuel Just2011-08-311-3/+11
| | | | | | | | 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>
* src/messages/: s/sobject_t/hobject_tSamuel Just2011-08-301-3/+3
| | | | Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
* msg: remove globalsColin Patrick McCabe2011-06-211-2/+2
| | | | Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
* osd: store locator with object_info; add incompat featureSage Weil2010-10-281-2/+6
| | | | | | | 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>
* osd: push in chunksSage Weil2010-07-201-2/+18
| | | | Signed-off-by: Sage Weil <sage@newdream.net>
* Bug #98: Unique names for include guardsMarkus Elfring2010-06-171-2/+2
| | | | | | | 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>
* Merge branch 'string' into unstableSage Weil2010-05-081-1/+1
|\ | | | | | | | | | | | | | | | | | | 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
| * replace nstring with std::stringSage Weil2010-04-281-1/+1
| |
* | types: standardize on uint64_tSage Weil2010-05-071-3/+3
|/ | | | | | | | | | 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!
* msg: MOSDSubOp has a private destructorGreg Farnum2010-03-311-0/+3
|
* msgr: put tid in ceph_msg_header (protocol change)Sage Weil2009-12-221-4/+1
|
* osd: name args in ceph_osd_op unionSage Weil2009-09-301-1/+1
|
* osd: do NOT include op vector when shipping raw transactionSage Weil2009-06-201-1/+1
| | | | | | 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.