- OSDMap encode and decode translate between the flags and int
representations.
- OSDMap::Incremental only does decode; we do not expect to ever encode
an incremental osdmap for an old osd that sets any of these flags.
- the 'osd set' command still lets you set the jewel and kraken flags,
but not luminous.
- OSDMap::apply_incremental handles the conversion of legacy require flags
to the new field if the jewel or kraken flags have to be set before
starting the osd upgrade.
- clear out the legacy flags when we make the luminous transition only;
until then we keep using the old flag in the encoded and decoded version
(although the require_osd_release field will be accurate in memory in all
cases).
Signed-off-by: Sage Weil <sage@redhat.com>
Note that we only allow setting this to 'luminous'. If the 'jewel' or 'kraken'
flags need to be set that can be done through the legacy interface.
Signed-off-by: Sage Weil <sage@redhat.com>
Instead of eating up a flag for each release, which is super-awkward and
annoying, just keep a numeric release version min.
Signed-off-by: Sage Weil <sage@redhat.com>
common/iso_8601.cc: Make return expression Clang compatible
Reviewed-By: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Kefu Chai <kchai@redhat.com>
- Buffer.h is needed to prevent Clang seriously complaining
about missing and wrong forward declarations of
ceph::buffer:ptr
including buffer_fwd.h does not help.
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
- During include cleanup just a too bit much was removed for FreeBSD
to get things compiled.
This redoes some of the includes.
Tracker: http://tracker.ceph.com/issues/19883
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
We are soon going to use BlueStore as the default OS, and
hence "bluestore-kv" shall be the preferred option.
By applying this patch, the help message shall be slightly
nicer to newcomers to this tool now.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
when the thread is calling AsyncConnection::handle_write, another thread may
replace it and requeue all messages. Because we remove the write_lock
protection for handle_write caller, it may happen sent racing with out_q
Fix: http://tracker.ceph.com/issues/20093
Signed-off-by: Haomai Wang <haomai@xsky.com>
This finisher thread has a lot of callbacks which can hold PGRefs. Make
sure we drain them out before checking that all the PGs have finished
and have no outstanding references.
Moving this should be safe; we've already stopped the op thread et al
and the only things still running are the OSDService's objecter_finisher,
recovery_request_timer, and snap_sleep_timer (which has definitely been emptied
by the time we get here as it's synchronously cleared out on PG shutdown).
Signed-off-by: Greg Farnum <gfarnum@redhat.com>
1. normalize arg parsing for "bucket limit check"
1.1 s/buckets/bucket/
2. avoid dividing by num_shards when it is 0
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
On the leader we cancel the mapping job in encode_pending. On a peon,
we don't cancel it at all! It is surprising this didn't already cause
problems, but with the PGtempMap is pretty reliably crashes with a
largish map.
Fixes: http://tracker.ceph.com/issues/20067
Signed-off-by: Sage Weil <sage@redhat.com>