James Page [Wed, 9 Aug 2017 09:04:37 +0000 (10:04 +0100)]
Align use of uint64_t in service_daemon::AttributeType
size_t on a 32-bit architecture is a 32 bit unsigned int which
created ambiguity when casting to bool, uint64_t or std::string
(which are boost::variants for service_daemon::AttributeType).
Align to use of uint64_t to resolve compilation failures in
all 32-bit architectures.
Piotr Dałek [Wed, 7 Jun 2017 14:01:37 +0000 (16:01 +0200)]
rbd: parallelize rbd ls -l
When a cluster contains a large number of images, "rbd ls -l" takes a
long time to finish. In my particular case, it took about 58s to
process 3000 images.
"rbd ls -l" opens each of image and that takes majority of time, so
improve this by using aio_open() and aio_close() to do it
asynchronously. This reduced total processing time down to around 15
seconds when using default 10 concurrently opened images.
Abhishek L [Tue, 8 Aug 2017 18:53:40 +0000 (20:53 +0200)]
Merge pull request #16914 from theanalyst/wip-16734
luminous: rgw_lc: support for AWSv4 authentication
Reviewed-By: Daniel Gryniewicz <dang@redhat.com> Reviewed-By: Radoslaw Zarzynski <rzarzynski@redhat.com> Reviewed-By: Matt Benjamin <mbenjami@redhat.com>
* refs/remotes/upstream/pull/16378/head:
doc: remove accidental additions to release notes
qa/cephfs: Fix race in test_volume_client
qa/cephfs: Test filtered df
PendingReleaseNotes: add note about df filtering
client: Support new, filtered MStatfs
objecter: Support new, filtered MStatfs
mon/PGMap stats: Support new, filtered MStatfs
messages: Add optional data pool to MStatfs
Reviewed-by: John Spray <john.spray@redhat.com> Reviewed-by: Patrick Donnelly <pdonnell@redhat.com> Reviewed-by: Sage Weil <sage@redhat.com>
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.
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 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.
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).
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.