We generally do want an admin socket and log, and people usually run these
as root. This is more confusing than useful.
Fixes: #6334
Signed-off-by: Sage Weil <sage@inktank.com>
If GenericFileStoreBackend::do_fiemap returns anything other than 0, then
fiemap will not be allocated. However,
GenericFileStoreBackend::detect_features will free fiemap regardless,
triggering an assertion in tcmalloc. The attached patch will fix the bug
by only freeing fiemap when necessary.
In my case, do_fiemap returns -ENOSYS because fiemap is not implemented
on FreeBSD. However, this bug could also happen on Linux when do_fiemap
returns -ENOMEM.
Fixes: #6504
Signed-off-by: Alan Somers <asomers@gmail.com>
Reviewed-by: Sage Weil <sage@inktank.com>
If m_list.size() == 0, then calling select_generated(0) will result in
uninitialized data being assigned to m_object, which will cause a segfault
down the road. This patch fixes that.
To Reproduce:
$ ceph-dencoder type MWatchNotify select_test 0 encode decode
Segmentation fault (core dumped)
After the patch:
$ ./ceph-dencoder type MWatchNotify select_test 0 encode decode
error: invalid id for generated object
$ echo $?
1
Fixes: #6510
Signed-off-by: Alan Somers <asomers@gmail.com>
Otherwise you have to explicitly create it on a new checkout.
Also mkdir -p for consistency, tho it's not needed if dev/ is already
there.
Signed-off-by: Sage Weil <sage@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>
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>