Greg Farnum [Wed, 9 Aug 2017 21:34:44 +0000 (14:34 -0700)]
mdsmon: treat the osdmon correctly when doing plugged updates
Make sure it's writeable before invoking changes, and propose_pending()
on it when we're done.
Make the PaxosService::C_RetryMessage public so we can do this from FSCommands.
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.
Marcus Watts [Sat, 5 Aug 2017 00:01:32 +0000 (20:01 -0400)]
Test bytes_sent bugs.
Rearrange logic to make it easier to measure accumulation.
Instrument the boto request/response loop to count bytes in and out.
Accumulate byte counts in usage like structure.
Compare actual usage reported by ceph against local usage measured.
Report and assert if there are any short-comings.
Remove zone placement rule that was newly added at end: tests should be rerunable.
Nit: the logic to wait for "delete_obj" is not quite right.
Fixes: http://tracker.ceph.com/issues/19870 Signed-off-by: Marcus Watts <mwatts@redhat.com>
Marcus Watts [Sun, 18 Jun 2017 22:18:39 +0000 (18:18 -0400)]
Fix bytes_sent bugs.
log bytes sent/received.
add cct to bufferingfilter
add cct to RGWRestfulIO
AccountingFilter - save cct for debugging output
implement AccountingFilter::complete_request() - account for bytes reported here.
BufferingFilter<T>::complete_request() - ignore counts from send_content_length() complete_header();
Code quality note:
this patch makes "cct" available for a lot of newly added debug
statements. The debug statements are mostly not very useful (and should
go away in the future) - *But* the "cct" logic should be redone and
incorporated into some base class (such RestfulClient) so that it is
possible to easily add in debug statements such as these in the future.
Fixes: http://tracker.ceph.com/issues/19870 Signed-off-by: Marcus Watts <mwatts@redhat.com>
Sage Weil [Fri, 4 Aug 2017 17:58:17 +0000 (13:58 -0400)]
common/LogClient: assign seq and queue atomically
The _get_mon_log_message() assumes that log_last and log_queue
are in sync, but it was previously possible to increment log_last
setting e.seq in do_log(), and only later queue it. If a racing
thread ran get_mon_log_message() in the meantime it would fail
an assertion.
Fix by assigning the seq and queueing it atomically. If the
cluster log is not enabled, use the get_next_seq() helper so that
graylog or syslog messages still have a seq assigned.
Fixes: http://tracker.ceph.com/issues/18209 Signed-off-by: Sage Weil <sage@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.
amitkuma [Mon, 7 Aug 2017 17:46:08 +0000 (23:16 +0530)]
librbd: Initializing member variables
Fixes the coverity issues:
** 1351727 Uninitialized scalar field
CID 1351727 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member m_state is not initialized in
this constructor nor in any functions that it calls.
** 1351728 Uninitialized scalar field
CID 1351728 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member m_state is not initialized in
this constructor nor in any functions that it calls.
** 1351733 Uninitialized scalar field
CID 1351733 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member snap_id is not initialized in
this constructor nor in any functions that it calls.
amitkuma [Mon, 7 Aug 2017 17:31:12 +0000 (23:01 +0530)]
librbd: Initialization of state inside module
Fixes the coverity issues:
** 1351715 Uninitialized scalar field
5. uninit_member: Non-static class member m_state is not initialized in this
constructor nor in any functions that it calls.
7. uninit_member: Non-static class member m_copyup_start is not initialized
in this constructor nor in any functions that it calls.
CID 1351715 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
9. uninit_member: Non-static class member m_copyup_end is not initialized
in this constructor nor in any functions that it calls.
** 1351724 Uninitialized scalar field
CID 1351724 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member m_state is not initialized in
this constructor nor in any functions that it calls.
** 1351725 Uninitialized scalar field
CID 1351725 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member m_state is not initialized in
this constructor nor in any functions that it calls.
** 1351726 Uninitialized scalar field
CID 1351726 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
3. uninit_member: Non-static class member m_state is not initialized in
this constructor nor in any functions that it calls.
amitkuma [Thu, 3 Aug 2017 21:00:43 +0000 (02:30 +0530)]
messages: Member initialization for class MMDSFindIno
Fixes the coverity Issue:
** 717286 Uninitialized scalar field
CID 717286 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
2. uninit_member: Non-static class member tid is not initialized
in this constructor nor in any functions that it calls.