Currently we don't set MMonGetVersionReply tid even if the original
MMonGetVersion message had a non-zero tid. This is bad for the kernel
client, which has the infrastructure in place that relies on tids to
lookup message buffers and contexts. To kick off transitioning away
from the workaround, set MMonGetVersionReply tid to the tid of the
original MMonGetVersion message.
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
- When creating the OSD data, specify osd-uuid so that it matches when the osd is first created.
- Modify caps when adding osd auth to match what ceph-deploy does.
to fix FTBFS due to undeclared atomic functions.
As reported
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748571
by John David Anglin <dave.anglin@bell.net>
~~~~
./include/atomic.h: In member function 'size_t ceph::atomic_t::inc()':
./include/atomic.h:42:36: error: 'AO_fetch_and_add1' was not declared in this scope
return AO_fetch_and_add1(&val) + 1;
^
./include/atomic.h: In member function 'size_t ceph::atomic_t::dec()':
./include/atomic.h:45:42: error: 'AO_fetch_and_sub1_write' was not declared in this scope
return AO_fetch_and_sub1_write(&val) - 1;
^
./include/atomic.h: In member function 'void ceph::atomic_t::add(size_t)':
./include/atomic.h:48:36: error: 'AO_fetch_and_add' was not declared in this scope
AO_fetch_and_add(&val, add_me);
^
./include/atomic.h: In member function 'void ceph::atomic_t::sub(int)':
./include/atomic.h:52:48: error: 'AO_fetch_and_add_write' was not declared in this scope
AO_fetch_and_add_write(&val, (AO_t)negsub);
^
./include/atomic.h: In member function 'size_t ceph::atomic_t::dec()':
./include/atomic.h:46:5: warning: control reaches end of non-void function [-Wreturn-type]
}
^
make[5]: *** [cls/user/cls_user_client.o] Error 1
~~~~
Signed-off-by: Dmitry Smirnov <onlyjob@member.fsf.org>
This code was using CrushWrapper::rule_exists, which
checks for a *rule* existing, whereas the value being
set is a *ruleset*.
Signed-off-by: John Spray <john.spray@inktank.com>
Specifically, in the case where the configured
default ruleset is CEPH_DEFAULT_CRUSH_REPLICATED_RULESET,
instead of assuming ruleset 0 exists, choose the lowest
numbered ruleset.
In the case where an explicit ruleset is passed to
OSDMonitor::prepare_pool_crush_ruleset, verify
that it really exists.
The idea is to eliminate cases where a pool could
exist with its crush ruleset set to something
other than a value ruleset ID.
Fixes: #8373
Signed-off-by: John Spray <john.spray@inktank.com>
Improve documentation in quick-ceph-deploy.rst
Use admin-node consistently.
ceph should be installed on admin-node for the following reasons:
"ceph-deploy admin admin-node" assumes that /etc/ceph exists.
"ceph health" requires the use of ceph
Signed-off-by: Kevin Dalley <kevin@kelphead.org>
This change uses admin-node in the quick-common.rst file, including
the graph. This name is already used in
quick-ceph-deploy.rst.
Signed-off-by: Kevin Dalley <kevin@kelphead.org>
Mention recent Ceph releases.
Move important message about sudo and ceph-deploy closer to the use of
ceph-deploy.
Mention files created by ceph-deploy comment
Separate apt-get from yum command
Signed-off-by: Kevin Dalley <kevin@kelphead.org>
The location of the ceph wiki FAQ has changed.
Now, the link from ceph documentation matches the current FAQ location
Signed-off-by: Kevin Dalley <kevin@kelphead.org>
The commit adds a test to ensure that user executes
'autogen.sh' at the top-level of the directory.
Signed-off-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@cloudwatt.com>
The set_priv() call consumes a ref. Technically the local 's' is not
actually owned by use by the time we get to the con_front set_priv().
Signed-off-by: Sage Weil <sage@inktank.com>
Commit 8c5c55c8b4 ("mon: set next commit in mon command replies")
fixed MMonCommand replies to include the right version, but the
primary-affinity handler was authored before that. Fix it.
Backport: firefly
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
* Moved filestore settings above [osd.*] declarations otherwise
(if uncommented) those settings might be applied only to last
OSD which is not very obvious.
* Few options added.
When calling osdmap_subscribe, you have to pass an epoch newer than the
current map's. _maybe_boot() was not doing this correctly -- we would
fail a check for being *in* the monitor's existing map range, and then
pass along the map prior to the monitor's range. But if we were exactly
one behind, that value would be our current epoch, and the request would
get dropped. So instead, make sure we are not *in contact* with the monitor's
existing map range.
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>