Attempting to retrieve the group spec will fail on older OSDs, so it
must be executed as an individual step in the refresh state machine.
Also fixed code style issues for out parameters.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Because of a missing return, ceph-disk prepare would fail if given a
regular file as a journal. If the journal file does not exist, ceph-disk
will create it but fail to ensure that the ceph user owns it. The
symlink to the journal file is not set when the journal file is
specified on the command line and the journal file does not exist at
all. The ceph-osd daemon will silently create it as a file but it will
not be the file given in argument.
Add a test case to verify using a regular file as a journal works as
expected.
Fixes: http://tracker.ceph.com/issues/17662
Signed-off-by: Jayashree Candadai <jayaajay@indiana.edu>
Signed-off-by: Loic Dachary <ldachary@redhat.com>
Two patches both added these definitions
in slightly different places, so git let them
merge without a conflict.
Signed-off-by: John Spray <john.spray@redhat.com>
the caller needs to check the nullity of the parameter before calling
PK11_FreeSymKey or PK11_FreeSlot, otherwise if CryptoAESKeyHandler::init
failed, we will hit a segfault as follows:
#0 0x00007f76844f5a95 in PK11_FreeSymKey () from /lib64/libnss3.so
#1 0x00007f76586b6e49 in CryptoAESKeyHandler::~CryptoAESKeyHandler() () from /lib64/librados.so.2
#2 0x00007f76586b5eea in CryptoAES::get_key_handler(ceph::buffer::ptr const&, std::string&) () from /lib64/librados.so.2
#3 0x00007f76586b4b9c in CryptoKey::_set_secret(int, ceph::buffer::ptr const&) () from /lib64/librados.so.2
#4 0x00007f76586b4e95 in CryptoKey::decode(ceph::buffer::list::iterator&) () from /lib64/librados.so.2
#5 0x00007f76586b7ee6 in KeyRing::set_modifier(char const*, char const*, EntityName&, std::map<std::string, ceph::buffer::list, std::less<std::string>, std::allocator<std::pair<std::string const, ceph::buffer::list> > >&) () from /lib64/librados.so.2
#6 0x00007f76586b8882 in KeyRing::decode_plaintext(ceph::buffer::list::iterator&) () from /lib64/librados.so.2
#7 0x00007f76586b9803 in KeyRing::decode(ceph::buffer::list::iterator&) () from /lib64/librados.so.2
#8 0x00007f76586b9a1f in KeyRing::load(CephContext*, std::string const&) () from /lib64/librados.so.2
#9 0x00007f76586ba04b in KeyRing::from_ceph_context(CephContext*) () from /lib64/librados.so.2
#10 0x00007f765852d0cd in MonClient::init() () from /lib64/librados.so.2
#11 0x00007f76583c15f5 in librados::RadosClient::connect() () from /lib64/librados.so.2
#12 0x00007f765838cb1c in rados_connect () from /lib64/librados.so.2
...
Signed-off-by: runsisi <runsisi@zte.com.cn>
This avoids an assertion failure where an MDS receives an mdsmap that
causes it to enter up:replay and also see another MDS go down.
Fixes: http://tracker.ceph.com/issues/17670
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
This is because of versioning issues between Boost and Beast
on CentOS 7. It is intended that this patch will be reverted
after merging the in-tree Boost facility.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
This is a potential fix for partial writes and handling of error
codes that might come from mg_write() of the CivetWeb front-end.
None of the potential issues has been observed in testing.
The commit also documents the same aspects regarding the ASIO
and FastCGI front-ends.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
The method has been introduced in Boost 1.54. However,
some systems we are targeting (like CentOS 7) offer
older version of the library.
Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>