To ensure LevelDBStore::db is destroyed before dependent LevelDBStore::db_cache and LevelDBStore::filterpolicy.
Signed-off-by: Signed-off-by: Ray Lv <xiangyulv@gmail.com>
Expose mount_timeout map option. (I missed it in commit 9b7364d245,
which added -o / --options option and among other options exposed
osdkeepalive and osd_idle_ttl timeouts.)
Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
avoid re-running configure after initial 'make' invocation
This appears to pass the gitbuilders (and the multiple runs of configure have been irritating me for ages). Yay!
Reviewed-by: Sage Weil <sage@inktank.com>
num_up_osds returns as an int value, while num_in_osds returns as a string.
Since only an int can be returned from get_num_in_osds(), num_in_osds should
should also be an int to remain consistant with num_up_osds.
Fixes: 7159
Signed-off-by: Tyler Brekke <tyler.brekke@inktank.com>
Otherwise slow machines may timeout just because they are slow and not
because the process is blocked by an actual problem.
Signed-off-by: Loic Dachary <loic@dachary.org>
Otherwise slow machines may timeout just because they are slow and not
because the process is blocked by an actual problem.
Signed-off-by: Loic Dachary <loic@dachary.org>
Commit 3d7c69fb09 introduced a new OSDMap encoding/decoding scheme.
However, while the classic decoding function still kept building the
reverse name->pool map, the new decoding function did not, causing the
monitor to be unable to map pool names to pool ids.
This patch fixes this, by factoring out the loop responsible for
populating the 'name_pool' map, as well as calling 'calc_num_osds()', to
OSDMap::post_decode() and having this function called from both the
classic and the new decode functions.
Fixes: 7166
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
This can be useful in situations where accounting of traffic is done externally
when for example HTTP traffic is cached by a reverse proxy like Varnish.
Since not all traffic reaches the RGW daemon it can't fully account all traffic
and this the caching proxy needs to be aware of which bucket the request came for.
Signed-off-by: Wido den Hollander <wido@42on.com>
Automake puts ceph_common.sh into libdir/ceph, but the Red Hat packaging
was not capturing this file.
Add the libdir/ceph location to the RPM packaging.
Fixes#7117
Two tests were inadvertantly missing from the RPM packaging:
ceph_test_c_headers was added to ceph in
ffdd30efc8
ceph_test_get_blkdev_size was added to ceph in
324dd54534
Add both of these to the packaging.
Signed-off-by: Ken Dreyer <ken.dreyer@inktank.com>
Making sure a cluster supports primary_temp is complicated and we don't
have any of the machinery in place right now (nor a need to actually support
it). We don't have any mechanisms for setting it to begin with, so assert
that we never create anything with any such mapping in update_from_paxos()
to catch any errors.
Signed-off-by: Greg Farnum <greg@inktank.com>
This is not super-sophisticated, but it does basic mapping function
consistency checks and looks at the [pg|primary]_temp manipulations. If
we want to in the future, we can do these programmatically across a range
of pgids instead of just checking hash 0.
Signed-off-by: Greg Farnum <greg@inktank.com>
Switch _get_temp_osds to use pointers instead of references, and force callers
to check the out params instead of relying on a return code for if anything
was set (trying to use the return code when there are two possible outputs
does not provide useable semantics). For the new temp_primary out param, fill it
in from temp_primary if set, or from the pg_temp list if it's set, or leave
it blank if neither are.
Also, don't use pointers to heap elements. Just put the ints and vectors on
the stack, and assign/swap the out parameters with them. This is less
confusing and should be a bit faster in general.
Signed-off-by: Greg Farnum <greg@inktank.com>
Switch to use pointers for the out parameters instead of references.
These functions are still just pointing at the front of the generated
lists for the "primary" params, but now that all their callers respect
these outputs we can add programmatic leader assignment with just these
two functions.
Signed-off-by: Greg Farnum <greg@inktank.com>
And use pointers instead of references for out params.
Now pg_to_up_acting_osds and pg_to_acting_osds can plug in to this slightly
more real implementation, instead of making up their own. (We are still
just using the first member anyway, but we're about to plug it into
the bottom layer of functions.)
Signed-off-by: Greg Farnum <greg@inktank.com>
So that this works with future CRUSH changes, we copy the map and clear
out the primary_temp, then compare its output with the real map's output. If
they match, remove the primary_temp from the real map.
Signed-off-by: Greg Farnum <greg@inktank.com>