Sage Weil [Sat, 5 Aug 2017 19:30:15 +0000 (15:30 -0400)]
mon: include PGMonitor commands with mixed-version mons
While we have a mixed version cluster, we have to advertise our
PGMonitor commands to our peons or else commands like 'pg dump'
won't work.
Once the mon feature flag is set, we can drop that because each
mon will include the mgr commands (either those stored in paxos
or the statically compiled ones until that point).
Sage Weil [Sat, 5 Aug 2017 19:08:26 +0000 (15:08 -0400)]
mon: use vector<MonCommand> throughput for commands
The old code was pretty messy. This is standardizes on std::vector
throughout. We also drop the win_election command args because
when we win an election we always set the leader commands to our
commands, and we can do that inside win_command() without passing
them in from here.
amitkuma [Sun, 6 Aug 2017 16:43:36 +0000 (22:13 +0530)]
test/librados: Initializing left members from aio.cc
Fixes the coverity Issue:
** 1322815 Uninitialized pointer field
CID 1322815 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)
2. uninit_member: Non-static class member m_sem is not initialized
in this constructor nor in any functions that it calls.
** 1322816 Uninitialized pointer field
CID 1322816 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)
2. uninit_member: Non-static class member m_sem is not initialized
in this constructor nor in any functions that it calls.
** 1322817 Uninitialized pointer field
CID 1322817 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)
2. uninit_member: Non-static class member m_sem is not initialized
in this constructor nor in any functions that it calls.
Jason Dillaman [Fri, 21 Jul 2017 15:18:46 +0000 (11:18 -0400)]
rbd-mirror: restore deletion propagation and image replayer cleanup
The previous intermediate commits removed handling for deletion
propagation and image replayer cleanup since this logic has been
moved from instance to image replayer. Note that eventually the
policy's release notification will be responsible for the cleanup
of image replayers.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Jason Dillaman [Wed, 19 Jul 2017 20:13:23 +0000 (16:13 -0400)]
rbd-mirror: pre-register image id before creating image
This fixes a potential race condition that could occur previously
if rbd-mirror daemon failed between creating an image and recording
the image id to the remote journal.
Fixes: http://tracker.ceph.com/issues/15764 Signed-off-by: Jason Dillaman <dillaman@redhat.com>
amitkuma [Sun, 6 Aug 2017 17:25:07 +0000 (22:55 +0530)]
rgw: Initilzation of admin_specified
Fixes the coverity issue:
** 1054870 Uninitialized scalar field
CID 1054870 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member admin_specified is not
initialized in this constructor nor in any functions that it calls.
Sage Weil [Sun, 6 Aug 2017 14:31:49 +0000 (10:31 -0400)]
os/bluestore: _do_remove: dirty shard individually as each blob is unshared
Two problems with old code:
1- dirty_shard range is inclusive, so we might dirty the shard after b_end
2- we might unshare blobs in two shards with an unloaded shard in between,
which would mean dirtying a shard that isn't loaded.
Fix by ensuring the shard for each unshared blob is dirty individually.
Fixes: http://tracker.ceph.com/issues/20849 Signed-off-by: Sage Weil <sage@redhat.com>
Sage Weil [Fri, 4 Aug 2017 18:37:41 +0000 (14:37 -0400)]
mon/MgrMonitor: use static mgr commands if none defined yet
During upgrade, we may get a command (like 'pg dump') before we
pass our first post-upgrade paxos round embedding the static mgr
commands. Until then, use the static mgr commands (that's what
we're proposing anyway).
Adir Lev [Wed, 3 May 2017 11:17:51 +0000 (11:17 +0000)]
msg/async/rdma: improves RX buffer management
The commit adds following changes:
- rx buffers are allocated from the memory pool (boost::pool)
- flat memory layout for buffer data/metadata to reduce cpu cache misses
- number of receive buffers can be much larger than receive queue len
- post new buffers to the srq as soon as possible.
- stat counters
xie xingguo [Sun, 6 Aug 2017 10:50:17 +0000 (18:50 +0800)]
os/bluestore: default journal media to store media if bluefs is disabled
So we won't prevent bluestore-without-bluefs backed OSDs from booting:
0> 2017-08-06 18:28:07.431316 7ffa1c95fd00 -1 /home/xxg/build/ceph-dev/src/os/bluestore/BlueStore.cc: In function
'virtual bool BlueStore::is_journal_rotational()' thread 7ffa1c95fd00 time 2017-08-06 18:28:07.428503
/home/xxg/build/ceph-dev/src/os/bluestore/BlueStore.cc: 4401: FAILED assert(bluefs)
amitkuma [Thu, 3 Aug 2017 16:09:36 +0000 (21:39 +0530)]
msg: Initilization of uninitialized class Infiniband members
Fixes coverity issues:
1414516 Uninitialized pointer field
2. uninit_member: Non-static class member max_send_wr is not initialized in this constructor nor in any functions that it calls.
4. uninit_member: Non-static class member max_recv_wr is not initialized in this constructor nor in any functions that it calls.
6. uninit_member: Non-static class member max_sge is not initialized in this constructor nor in any functions that it calls.
8. uninit_member: Non-static class member ib_physical_port is not initialized in this constructor nor in any functions that it calls.
10. uninit_member: Non-static class member memory_manager is not initialized in this constructor nor in any functions that it calls.
12. uninit_member: Non-static class member srq is not initialized in this constructor nor in any functions that it calls.
14. uninit_member: Non-static class member device is not initialized in this constructor nor in any functions that it calls.
CID 1414516 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)
16. uninit_member: Non-static class member pd is not initialized in this constructor nor in any functions that it calls.
amitkuma [Sat, 5 Aug 2017 19:01:28 +0000 (00:31 +0530)]
messages: Initializing variables various classes
Fixes the coverity Issues:
** 1019615 Uninitialized scalar field
2. uninit_member: Non-static class member service_type is not initialized
in this constructor nor in any functions that it calls.
CID 1019615 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
4. uninit_member: Non-static class member service_op is not initialized
in this constructor nor in any functions that it calls.
** 1019618 Uninitialized scalar field
2. uninit_member: Non-static class member op is not initialized in this
constructor nor in any functions that it calls.
4. uninit_member: Non-static class member cookie is not initialized in
this constructor nor in any functions that it calls.
CID 1019618 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
6. uninit_member: Non-static class member last_committed is not initialized
in this constructor nor in any functions that it calls.
** 1019620 Uninitialized scalar field
2. uninit_member: Non-static class member epoch is not initialized in this
constructor nor in any functions that it calls.
CID 1019620 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
4. uninit_member: Non-static class member request_ack is not initialized
in this constructor nor in any functions that it calls.
** 1019621 Uninitialized scalar field
2. uninit_member: Non-static class member epoch is not initialized in this
constructor nor in any functions that it calls.
CID 1019621 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
4. uninit_member: Non-static class member round is not initialized in this
constructor nor in any functions that it calls
amitkuma [Fri, 4 Aug 2017 17:11:18 +0000 (22:41 +0530)]
messages: Initializing member variables of module messages
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.
1274326 Uninitialized pointer field
2. uninit_member: Non-static class member m_client is not initialized in
this constructor nor in any functions that it calls.
CID 1274326 (#1 of 1): Uninitialized pointer field (UNINIT_CTOR)
4. uninit_member: Non-static class member m_pool is not initialized in
this constructor nor in any functions that it calls.
xie xingguo [Sat, 5 Aug 2017 08:21:27 +0000 (16:21 +0800)]
crush: remove 'class rm' command
The current version is broken. E.g., it should only remove a class
which is never referenced by any device.
Since we now create new classes automatically, we shall automatically
recycle dead classes too. So this command is definitely unuseful.
(Actually it is weird that we keep 'class rm' without keeping the
corresponding 'class create' command).
amitkuma [Fri, 4 Aug 2017 21:58:21 +0000 (03:28 +0530)]
Changing 'int const' to 'const int'
As per coding Guidelines 'const int' is recommended over 'int const'
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
NL.26: Use conventional const notation
Example:
const int x = 7; // OK
int const y = 9; // bad
Note
We are well aware that you could claim the "bad" examples more logical than the ones marked "OK", but they also confuse more people, especially novices relying on teaching material using the far more common, conventional OK style.
As ever, remember that the aim of these naming and layout rules is consistency and that aesthetics vary immensely.
Enforcement
Flag const used as a suffix for a type.