Ken Dreyer [Fri, 11 Nov 2016 22:44:18 +0000 (15:44 -0700)]
doc: add infernalis EOL date
Remove the estimated Infernalis EOL date, and add the actual EOL date.
As discussed on the ceph-devel mailing list, we decided to say that this
infernalis EOL date is the same date that we made the first Jewel
release available.
Sage Weil [Wed, 9 Nov 2016 17:07:24 +0000 (12:07 -0500)]
buffer: put data and metadata in a mempool
Note that for raw_combined we leak some metadata into the data pool.
Also, we do not account for non-raw metadata or anything else in buffer.h,
as that would pollute the ABI and public interface.
Drop the namespace ceph in buffer.cc (which serves no real purpose) as it
confuses the MEMPOOL_DEFINE_* macros (they cannot be used inside a
namespace).
Jeff Layton [Thu, 10 Nov 2016 11:30:27 +0000 (06:30 -0500)]
client: rename flush_caps() with no arguments to flush_caps_sync()
Per Greg's recommendation, change the name of this function to better
indicate what it does now that we always request a journal flush on
the last cap flush.
Also, add a comment above the function to better explain why we do this.
Jeff Layton [Wed, 9 Nov 2016 14:36:07 +0000 (09:36 -0500)]
mds: only update change_attr and btime when client sets appropriate feature flags
The kernel client lags the userland code a bit, and feature support for
addr2 is not quite ready. Still, we want to allow the client to set the
new flags field in a cap request before then so it can get better fsync
performance.
When we go to update the cap fields, grab the features from the peer,
and verify that the appropriate flags are set before we apply updates
to the btime and change_attr.
Also, just have the function return early if dirty is 0, since it's
a no-op in that case, and turn the comment above the function into
an assertion.
Jeff Layton [Wed, 9 Nov 2016 14:36:07 +0000 (09:36 -0500)]
client: wire up the CHECK_CAPS_SYNCHRONOUS flag
Ensure that the client will request an immediate journal flush from the
MDS when we'll end up waiting on the flush response. This patch should
fix the fsync codepath, but we may need something similar for syncfs.
Jeff Layton [Wed, 9 Nov 2016 14:36:07 +0000 (09:36 -0500)]
client: change no_delay flag to a flags field
In a later patch, we'll want to have the client set the sync flag in
the cap flush, to hint to the MDS that it should process it immediately.
We could add a second bool, but let's instead do what the kernel client
does which is to have a flags field. With that, the existing no_delay
bool becomes CHECK_CAPS_NODELAY.
Jeff Layton [Fri, 11 Nov 2016 11:28:29 +0000 (06:28 -0500)]
mds: do mds log flush if CLIENT_CAPS_SYNC is set
If the client has set the sync flag in a cap update, then it
is indicating that it's waiting on the reply. Ensure that we flush
the journal in that case.
xie xingguo [Fri, 11 Nov 2016 02:18:36 +0000 (10:18 +0800)]
os/bluestore: fix compiler warnings
As follows:
/home/jenkins-build/build/workspace/ceph-pull-requests/build/boost/include/boost/intrusive/pointer_plus_bits.hpp: In member function ‘bool BlueStore::ExtentMap::encode_some(uint32_t, uint32_t, ceph::bufferlist&, unsigned int*)’:
/home/jenkins-build/build/workspace/ceph-pull-requests/build/boost/include/boost/intrusive/pointer_plus_bits.hpp:76:7: warning: ‘dummy’ is used uninitialized in this function [-Wuninitialized]
n = pointer(uintptr_t(p) | (uintptr_t(n) & Mask));
^
/home/jenkins-build/build/workspace/ceph-pull-requests/src/os/bluestore/BlueStore.cc:1779:10: note: ‘dummy’ was declared here
Extent dummy(offset);
Danny Al-Gaaf [Tue, 23 Feb 2016 18:40:35 +0000 (19:40 +0100)]
rgw/rgw_op.h: init scalar field in ctor
Fix for:
CID 717368 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member is_truncated is not initialized
in this constructor nor in any functions that it calls.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Danny Al-Gaaf [Tue, 23 Feb 2016 18:29:03 +0000 (19:29 +0100)]
mds/Capability.h: init scalar field in ctor
Fix for:
CID 1019612 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member before is not initialized in
this constructor nor in any functions that it calls.
uninit_member: Non-static class member seq is not initialized in
this constructor nor in any functions that it calls.
uninit_member: Non-static class member last_issue is not initialized
in this constructor nor in any functions that it calls.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Danny Al-Gaaf [Tue, 23 Feb 2016 18:26:01 +0000 (19:26 +0100)]
mds/Capability.h: init scalar fields in ctor
Fix for:
CID 1138591 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member cap_id is not initialized in this
constructor nor in any functions that it calls.
uninit_member: Non-static class member issue_seq is not initialized in
this constructor nor in any functions that it calls.
uninit_member: Non-static class member mseq is not initialized in this
constructor nor in any functions that it calls.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Danny Al-Gaaf [Tue, 23 Feb 2016 18:21:41 +0000 (19:21 +0100)]
common/bit_vector.hpp: init scalar field in ctor
Fix for:
CID 1274314 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member m_header_crc is not initialized
in this constructor nor in any functions that it calls.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Danny Al-Gaaf [Tue, 23 Feb 2016 18:18:48 +0000 (19:18 +0100)]
tools/cephfs/DataScan.h: init scalar field in ctor
Fix for:
CID 1313449 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member force_init is not initialized
in this constructor nor in any functions that it calls.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Danny Al-Gaaf [Tue, 23 Feb 2016 13:36:04 +0000 (14:36 +0100)]
rgw/rgw_op.h: init scalar field in ctor
Fix for:
CID 1351689 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member total_size is not initialized
in this constructor nor in any functions that it calls.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Danny Al-Gaaf [Tue, 23 Feb 2016 13:26:48 +0000 (14:26 +0100)]
mds/Capability.h: init non-static Export members in ctor
Fix for:
CID 717232 (#1 of 1): Uninitialized scalar field (UNINIT_CTOR)
uninit_member: Non-static class member cap_id is not initialized
in this constructor nor in any functions that it calls.
uninit_member: Non-static class member wanted is not initialized
in this constructor nor in any functions that it calls.
uninit_member: Non-static class member issued is not initialized
in this constructor nor in any functions that it calls.
uninit_member: Non-static class member pending is not initialized
in this constructor nor in any functions that it calls.
uninit_member: Non-static class member seq is not initialized in
this constructor nor in any functions that it calls.
uninit_member: Non-static class member mseq is not initialized
in this constructor nor in any functions that it calls.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
Danny Al-Gaaf [Tue, 23 Feb 2016 12:32:08 +0000 (13:32 +0100)]
librbd/WatchNotifyTypes.h: init member vars in ctor
Fix for:
CID 1351734 (#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.
Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>