ceph-disk: larger timeout in the test script

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>
ceph-disk: support and test the absence of PATH

Although this is not exactly the context in which ceph-disk is run when
invoked by udev, it makes sure there is at least one sensible way of
using it when PATH is undefined.

Also make src/ceph.in not fail if PATH is not defined.

Signed-off-by: Loic Dachary <loic@dachary.org>
rgw: fix build on centos

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
pybind: improve EnvironmentError output

Follow 70c7c9e600c5 ("pybind/rados.py: improve error output") and
improve EnvironmentError output for librbd and libcephfs too.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
Merge pull request #1170 from ceph/wip-pybind-enverr

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
OSDMap: note encoding features in Incremental encoding

The monitor will need to know what features the incremental was encoded
with so that it can encode the OSDMap using the same bits.  Introduce a
member that is set during decode.  During encode, encoding the value passed
in by the caller.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/OSDMonitor: encode full OSDMap with same feature bits as the Incremental

Each monitor is independently encoding the full OSDMap and storing it in
its local store.  Sometime this happens when we do not have a valid value
for quorum_features (for example, it can happen during sync).

Instead, use the feature bits the Incremental was encoded with for the full
OSDMap so that they always match.

Note that this conveniently the *only* place in the mon where we encode
the full OSDMap, so we're capturing all paths.  Yay!

Signed-off-by: Sage Weil <sage@inktank.com>
Merge pull request #1169 from dachary/wip-ceph-disk

Reviewed-by: Sage Weil <sage.weil@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Merge remote-tracking branch 'origin/next'

Conflicts:
	src/test/ceph-disk.sh
Merge pull request #1171 from ceph/wip-osdmap-features

mon: encode full osdmap with same feature bits as the incremental

Reviewed-by: Greg Farnum <greg@inktank.com>
os/KeyValueStore: fix warning

./os/KeyValueStore.h: In member function ‘std::string KeyValueStore::strip_object_key(uint64_t)’:
warning: ./os/KeyValueStore.h:173:31: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘uint64_t {aka long long unsigned int}’ [-Wformat=]

Signed-off-by: Sage Weil <sage@inktank.com>
osd: Add scrub_supported() backend interface

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Move PG::_scan_list() to backend as ReplicatedBackend::be_scan_list()

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Move the rest of scrubbing routines to the backend

Move enum scrub_error_type to osd_types.h
Move PG::_compare_scrub_objects to ReplicatedBackend::be_compare_scrub_objects
Move PG::_select_auth_object to ReplicatedBackend::be_select_auth_object
Move PG::_compare_scrubmaps to ReplicatedBackend::be_compare_scrubmaps

Signed-off-by: David Zafman <david.zafman@inktank.com>
common: buffer::ptr::cmp() is a const function

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Change be_scan_list() arg to const

Signed-off-by: David Zafman <david.zafman@inktank.com>
osd: Change some be_compare_scrub_objects() args to const

Signed-off-by: David Zafman <david.zafman@inktank.com>
Merge pull request #1162 from ceph/wip-5997

Fixes: #5997

 Reviewed-by: Samuel Just <sam.just@inktank.com>
doc: rgw: el6 documentation fixes

- fix a couple of typo for repo configuration and service restart
- the ceph package must be installed on RPM distro since the init
script relies on ceph-conf
- Note on radosgw service name for RPM distro

Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
Merge pull request #1174 from alram/master

doc: rgw: el6 documentation fixes