| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Set up a check_for_local_options() function and a try_failure_options()
function. If we have "local options" (presently just "--help"), set a
2-second timeout on the cluster connection; if we fail, go into
try_failure_options(). try_failure_options() will do whatever is
appropriate given the passed-in commands; again, right now it just
prints out the help text if that was asked for.
To facilitate this and let people work around extreme network issues, add
a "--cluster-timeout" option and pass that into the cluster connect() function.
This can now be used to override our new default 2-second timeout on --help, or
to set a timeout after which other commands will give up (they presently will
try forever).
Signed-off-by: Greg Farnum <greg@inktank.com>
|
|
|
|
|
|
|
|
| |
We might have cluster_handle defined, but not have
successfully connected. Instead, check if it's in
the connected state.
Signed-off-by: Greg Farnum <greg@inktank.com>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@inktank.com>
|
|
|
|
|
|
| |
See da69fa09c8274585225471c68c1acc788a3881f4
Signed-off-by: Sage Weil <sage@inktank.com>
|
|\
| |
| |
| |
| | |
tools: ceph-kvstore-tool: Access & manipulate leveldb store using the KeyValueDB interface
Reviewed-by: Sage Weil <sage@inktank.com>
|
| |
| |
| |
| |
| |
| |
| | |
Iterates over the provided source store's keys and copies them to the
provided destination store.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
| |
| |
| |
| |
| |
| |
| | |
Reuse 'list()' function to traverse the store and calc not only version's
crcs, but also calc the store's crc.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
| |
| |
| |
| |
| |
| | |
ceph-kvstore-tool allows for lower-level access to leveldb stores.
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
|\ \
| | |
| | |
| | |
| | | |
rgw: gracefully handle bad root pool names
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: #5716
When invalid root pools specified (don't start with a period) we return
with an error instead of asserting.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
This option no longer exists.
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | | |
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit 55d279b98553ba4542219b126fc7159b20b18b1f we tried to fix a race
between rollback and snap removal, but got the logic wrong: we need to
prevent *snap removal* on in-use snaps, not prevent multiple rollbacks on
the same snap.
Fixes: #6254 (again)
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This fixes the fix in 64774e5792f136df2bc78db686440fc2f3a7643f which mixed
up the return value and errno.
Fixes: #6550
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
|\ \
| | |
| | |
| | |
| | | |
rgw: fix authenticated users acl group check
Reviewed-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: #6553
Backport: bobtail, cuttlefish, dumpling
Authenticated users group acl bit was not working correctly. Check to
test whether user is anonymous was wrong.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: #6554
Backport: cuttlefish, dumpling
Default log level was just too high, bring it down a bit.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
|
|\ \ \
| |/ /
|/| |
| | |
| | | |
mon/PGMonitor: set floor below which we do not warn about objects/pg
Reviewed-by: Greg Farnum <greg@inktank.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a cluster has very few objects, do not generate warnings when the
objects/pg for a pool diverges from the cluster average. This avoids
spurious errors when you have a relatively empty cluster and a lone pool
with a modest number of objects is too far off the (mostly meaningless)
cluster-wide average.
Also include a per-pool min so we ignore mostly-empty pools.
Fixes: #6521
Signed-off-by: Sage Weil <sage@inktank.com>
|
|\ \
| | |
| | |
| | |
| | | |
mon: keep track of per-pool stats
Reviewed-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: #6147
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Create a function so we can use the same format when outputting per-pool
stats
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
| | |
| | |
| | |
| | | |
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
|/ /
| |
| |
| | |
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes: #6462
We were missing the generic attributes when we updated the object
metadata (operation that only exists in the swift api).
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
|\ \
| |/
|/|
| | |
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| |
| |
| |
| |
| |
| | |
about async pool operation handle
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the PoolAsyncCompletionImpl reference drop from
C_PoolAsync_Safe::finish() to ~C_PoolAsyncSafe(), as finish() is only
called when the async request is actually sent.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Although fsstress was being called with a static path the directory
it was writing to was in the current directory so doing a cd to the
source directory that is made in /tmp and then removing it later
caused it to be unable to write the files in a non-existent dir.
This change gets the current path first and cd's back into it after
it is done compiling fsstress.
Issue #6479.
Signed-off-by: Sandon Van Ness <sandon@inktank.com>
Reviewed-by: Alfredo Deza <alfredo.deza@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It appears that the OSD is not filling in the individual return codes, and they
should be equivalent for all purposes we care about here (the only Op we are
doing is the copy-get, and if it fails we are getting its failure code).
Reported-by: Sage Weil <sage@inktank.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In commit dc0dfb9e01d593afdd430ca776cf4da2c2240a20 the omap xattrs code
moved up a block and r was no longer local to the block. Translate
ENOENT -> 0 to compensate.
Fix the same error in _rmattrs().
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
|
|\ \
| | |
| | |
| | |
| | | |
fix mon double-free when dropping unhandled messages, and allow "get monmap" messages to go through without authenticating for MonCliente::get_monmap_privately()
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
This is used by the MonClient::get_monmap_privately() helper.
Signed-off-by: Sage Weil <sage@inktank.com>
|
|/ /
| |
| |
| |
| |
| |
| | |
If we return false because we aren't handling a message, we should not put
the ref. This fixes a double-free.
Signed-off-by: Sage Weil <sage@inktank.com>
|
| |
| |
| |
| |
| |
| |
| | |
As of 091809b8149c7595cbcca439c5b8b75a0c42efe1 we keep an osd_map epoch
for any osd_stat update, and assert as much.
Signed-off-by: Sage Weil <sage@inktank.com>
|
|\ \ |
|
| | | |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Sage Weil <sage@inktank.com>
|
|\ \ \
| | | |
| | | | |
Reviewed-by: Samuel Just <sam.just@inktank.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Our callback is handling errors on its own at this point.
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In order to make this happen, we make the switch to generate the complete
transaction in the generic copy code and save it into the Callback. Then
in finish_copy() we just take that transaction and prepend it to the existing
transaction.
With that change, and by making use of the existing CopyCallback data,
we no longer need to access the CopyOp from the OpContext, so we can remove it.
Hurray, the pipelines are now independent!
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We implement enough of the CopyFromCallback that CopyOp no longer needs
a direct reference to the OpContext, so we remove it and replace all
references with calls to cop->cb->complete().
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We'll start using it in the next commit; eventually we can use the interfaces
we're putting their to replace our link to the OpContext.
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Outline the basic interfaces we're going to use, and implement
the more obvious ones.
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | | |
Signed-off-by: Greg Farnum <greg@inktank.com>
|