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>
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>
The argument is no longer restricted to a numerical value. Another
variable was added ( hashpspool ) check that it is a valid variable.
Signed-off-by: Loic Dachary <loic@dachary.org>
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>
SignalHandler::entry shouldn't poll for POLLOUT, because it never actually
writes to the pipes in question. Polling for POLLOUT causes poll(2) to
immediately return, so the function spins the CPU and never blocks. Remove
the POLLOUT flag, unnecessarily introduced in commit
8e4a78f169 when switching from select() to poll().
This fixes the problem on FreeBSD and doesn't break anything (AFAICT) on
Linux. Tested on FreeBSD 9.1 amd64 and Ubuntu Server 13.04 amd64.
Fixes: #6492
Signed-off-by: Alan Somers <asomers@gmail.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
auth cluster required = none
auth service required = none
auth client required = none
is not enough to disable cephx if there is a
auth_supported = cephx
line in the [global] section. It will produce the following error
# ceph --id myself auth list
2013-10-13 11:05:00.368638 7f812aea3700 0 librados: client.myself authentication error (1) Operation not permitted
Error connecting to cluster: PermissionError
Changing the line to
auth_supported = none
fixes the problem.
Signed-off-by: Loic Dachary <loic@dachary.org>
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>
If the OSD operations returns 0, these are unnecessary. If it does not,
then these are misleading. In both cases here, the OSD sets the result to
zero, so this has no client-visible change.r
Signed-off-by: Sage Weil <sage@inktank.com>
The normal Objecter handlers set *prval for each operation; we only need to
(re)set it if we have a special reason (like a decoding error).
Signed-off-by: Sage Weil <sage@inktank.com>