The first item in the range is often last_backfill, upon which writes
can be occuring. It's trimmed off on the primary side anyway.
Fixes: 10150
Backport: dumpling, firefly, giant
Signed-off-by: Samuel Just <sjust@redhat.com>
These binaries haven't landed in Ubuntu, but they are in
sid and jessie for arm64. On Saucy I've installed them by
hand from ports.ubuntu.com and things seems pretty swell.
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
- fix base name calculation (do not assume sda)
- reverse sense of check (it was returning false when true before?)
- add a generic helper to get other properties, too
Fixes: #10296
Signed-off-by: Sage Weil <sage@redhat.com>
And a test. Ideally the test would get run on a machine with weirdo
devices like /dev/cciss/c0d1.
This mirrors the logic in ceph-disk, which has been tested.
Signed-off-by: Sage Weil <sage@redhat.com>
Adds two new config options:
mon_inject_transaction_delay_probability : DOUBLE (0.0-1.0, default: 0.0)
mon_inject_transaction_delay_max : DOUBLE (seconds, default: 10.0)
If probability is set to a value greater than 0, just before applying
the transaction, the store will decide whether to inject a delay,
randomly choosing a value between 0 and the max.
Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
If the journal_discard option is false, the journal should no try to
guess if the device has discard capabilities.
http://tracker.ceph.com/issues/10296 Refs: #10296
Signed-off-by: Loic Dachary <ldachary@redhat.com>
This was incorrectly using pending_mdsmap instead
of mdsmap. We didn't notice in test because of
single-mon configurations.
Fixes: #10288
Backport: giant
Signed-off-by: John Spray <john.spray@redhat.com>
This is like a temporary measure as the mon will try to set them again,
but we have run into cases where the mon was misbehaving (failing to clear
the flag) and we wanted to do it. Note that the mon will likely set it
again on the next tick() anyway.
If we're going to clear it, we may as well be able to set it, too (again,
even if the mon is going to clear it soon). If nothing else this is useful
for writing tests.
Fixes: #9323
Signed-off-by: Sage Weil <sage@redhat.com>
The normal path through #include <lttng/tracepoint.h> doesn't
appear to include int defintions like uint64_t that are used
in Ceph so we add our definitions file.
Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
Recent versions of Python contain a change to thread shutdown that
causes ceph to hang on exit; see http://bugs.python.org/issue21963.
As it turns out, this is relatively easy to avoid by not spawning
threads on exit, as Rados.__del__() will certainly do by calling
shutdown(); I suspect, but haven't proven, that the problem is
that shutdown() tries to start() a threading.Thread() that never
makes it all the way back to signal start().
Also add a PendingReleaseNote and extra doc comments to clarify.
Fixes: #8797
Signed-off-by: Dan Mick <dan.mick@redhat.com>
Send all errors through C_DoWatchError for simplicity.
Only deliver one error per watch. This simplifies callers logic and avoids
a very rare case that they need to deal with.
Signed-off-by: Sage Weil <sage@redhat.com>
The tests can now be repeated to increase the chance of hitting
edge condition failures. Also added additional logic to immediately
fail IO tests when an error is encountered.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
Otherwise, one loses log messages when running with -f or -d. When
daemonizing, stderr is already closed in global_init_postfork_finish.
Fixes: #10010, #10113, #9810
Signed-off-by: Dan Mick <dan.mick@redhat.com>
We were using item_exists(), which simply checks if we have a name defined
for the item. Instead, use _search_item_exists(), which looks for an
instance of the item somewhere in the hierarchy. This matches what
get_item_weightf() is doing, which ensures we get a non-negative weight
that converts properly to floating point.
Backport: giant, firefly
Fixes: #9998
Reported-by: Pawel Sadowski <ceph@sadziu.pl>
Signed-off-by: Sage Weil <sage@redhat.com>