Commit Graph

31357 Commits

Author SHA1 Message Date
Somnath Roy
5fde828dac cmp.h: boost tuple comparison is replaced by regular comparison
Profiler was showing this boost tuple comparison is expensive.
So, it is replaced by regular comparison.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-01-31 15:54:40 -08:00
Greg Farnum
8e19488859 TrackedOp: optionally disable the actual tracking operations
To avoid op contention on global locks, optionally disable the
op tracking. Create an "osd_op_tracker" config to control it, then
in the OpTracker constructor set a bool. If it's set, the OpTracker
doesn't actually maintain its lists and avoids taking any locks. We
maintain the within-op tracking for now since it shouldn't contend,
but we can turn that off later on if we like.

Signed-off-by: Greg Farnum <greg@inktank.com>
2014-01-31 15:54:40 -08:00
Somnath Roy
98ae0592ed Throttle: Turn off throttle based on max bytes
If max throttle bytes is 0, throttle should not be doing anything.
This check is introduced in the beginning of each throttle function

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
Signed-off-by: Greg Farnum <greg@inktank.com>
2014-01-31 15:54:40 -08:00
Greg Farnum
03f7f771d6 Throttler: optionally disable use of perfcounters
These can be expensive enough that we want to disable them. We're already
mostly set up for it to be optional, so just plug in a config option and
move a timestamp read under the "if (logger)" guard to set it up!

Signed-off-by: Greg Farnum <greg@inktank.com>
2014-01-31 15:54:40 -08:00
Samuel Just
ee48c871d6 common/shared_cache.hpp: compact to a single lookup where possible
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-31 15:54:40 -08:00
Samuel Just
27b5f2b873 common/shared_cache.hpp: avoid list::size()
Signed-off-by: Samuel Just <sam.just@inktank.com>
2014-01-31 15:54:40 -08:00
John Wilkins
b717e11b52 Merge pull request #1174 from alram/master
doc: rgw: el6 documentation fixes
2014-01-31 14:20:37 -08:00
Alexandre Marangone
ee4cfda151 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>
2014-01-31 13:55:55 -08:00
David Zafman
dffe6019c3 Merge pull request #1162 from ceph/wip-5997
Fixes: #5997

 Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-01-31 12:35:56 -08:00
David Zafman
48fbccece5 osd: Change some be_compare_scrub_objects() args to const
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
David Zafman
ce1ea619f6 osd: Change be_scan_list() arg to const
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
David Zafman
e1bfed52f9 common: buffer::ptr::cmp() is a const function
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
David Zafman
34eb549cd4 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>
2014-01-31 11:00:22 -08:00
David Zafman
f9128e89a3 osd: Move PG::_scan_list() to backend as ReplicatedBackend::be_scan_list()
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
David Zafman
37447e758e osd: Add scrub_supported() backend interface
Signed-off-by: David Zafman <david.zafman@inktank.com>
2014-01-31 11:00:22 -08:00
Sage Weil
560f5f1f88 OSDMap: fix deepish_copy_from
Start with a shallow copy!

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit d0f13f5414)

Conflicts:

	src/osd/OSDMap.h
2014-01-31 07:57:20 -08:00
Sage Weil
d5080799c8 OSDMonitor: use deepish_copy_from for remove_down_pg_temp
This is a backport of 368852f6c0.

Make a deep copy of the OSDMap to avoid clobbering the in-memory copy with
the call to apply_incremental.

Fixes: #7060
Signed-off-by: Sage Weil <sage@inktank.com>
2014-01-31 07:57:04 -08:00
Sage Weil
61914d82bf OSDMap: deepish_copy_from()
Make a deep(ish) copy of another OSDMap.  Unfortunatley we can't make the
compiler-generated copy operator/constructors private until c++11.  :(

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit bd54b9841b)
2014-01-31 07:57:01 -08:00
Sage Weil
802692ed8e 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>
2014-01-31 07:19:10 -08:00
Sage Weil
f8316f1a1a Merge branch 'wip-inline' of git://github.com/kylinstorage/ceph
Conflicts:
	src/include/ceph_features.h
2014-01-31 07:00:49 -08:00
Sage Weil
3a53d6deae 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>
2014-01-30 21:01:16 -08:00
Josh Durgin
abcc17bf3f 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>
2014-01-30 16:04:09 -08:00
Josh Durgin
3665815738 Merge remote-tracking branch 'origin/next'
Conflicts:
	src/test/ceph-disk.sh
2014-01-30 15:40:09 -08:00
Sage Weil
0389f1d62d 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>
2014-01-30 15:13:05 -08:00
Sage Weil
b9208b4774 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>
2014-01-30 15:09:58 -08:00
Josh Durgin
ab649919f2 Merge pull request #1170 from ceph/wip-pybind-enverr
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
2014-01-30 13:10:37 -08:00
Ilya Dryomov
e4dd1beae5 pybind: improve EnvironmentError output
Follow 70c7c9e600 ("pybind/rados.py: improve error output") and
improve EnvironmentError output for librbd and libcephfs too.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
2014-01-30 23:04:12 +02:00
Yehuda Sadeh
754ddb16cb rgw: fix build on centos
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
2014-01-30 12:17:20 -08:00
Loic Dachary
d11d1880a7 Merge pull request #1145 from dachary/wip-mailmap
mailmap: organization affiliations

Reviewed-By: Christophe Courtaut <christophe.courtaut@gmail.com>
2014-01-30 12:15:21 -08:00
Loic Dachary
1628423036 mailmap: Rutger ter Borg affiliation
Reviewed-by: Rutger ter Borg <rutger@terborg.net>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
3a1a8c3e8a mailmap: Laurent Barbe affiliation
Reviewed-by: Laurent Barbe <laurent@ksperis.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
5b5bc0bc3e mailmap: anonymous contributions are unaffiliated
there only are a few of them

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
b0fe2a944b mailmap: Andras Elso affiliation
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
93a62d73b7 mailmap: Ma Jianpeng affiliation
and name normalization

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
74d5bf506b mailmap: Simon Leinen is with SWITCH
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
f9132e0a9a mailmap: John Spray is with Inktank
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
49842db15b mailmap: Alan Somers affiliation
Reviewed-by: Alan Somers <asomers@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
79563e1905 mailmap: Jonathan Dieter affiliation
Reviewed-by: Jonathan Dieter <jdieter@lesbg.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
a28f1fa243 mailmap: Christian Marie affiliation
and name normalization

Reviewed-by: Christian Marie <pingu@anchor.net.au>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:07 +01:00
Loic Dachary
aa7fc3bbb1 mailmap: Dan Chai is unaffiliated
and name normalization

Reviewed-by: Dan Chai <tengweicai@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:13:06 +01:00
Loic Dachary
cb9792eeec mailmap: Kai Zhang affiliation
Reviewed-by: Kai Zhang <zakir.exe@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:48 +01:00
Loic Dachary
30f4969f07 mailmap: Ron Allred name normalization
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
b5d22eb89e mailmap: Thomas Bechtold affiliation
and canonical name. Also fix the name "Deutsche Telekom"

Reviewed-by: Thomas Bechtold <t.bechtold@telekom.de>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
c8c103b71f mailmap: Xihui He affiliation
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
f7b000e537 mailmap: Adam Twardowski affiliation
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
47a5122e41 mailmap: Huang Jun is unaffiliated
and name normalization

Reviewed-by: Huang Jun <hjwsm1989@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
0dbf44ff71 mailmap: Kun Huang affiliation
As found at https://github.com/pyKun

Signed-off-by: Loic Dachary <loic@dachary.org>
2014-01-30 21:12:24 +01:00
Loic Dachary
ad515bfec3 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>
2014-01-30 20:11:02 +01:00
Loic Dachary
3f5e4f5250 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>
2014-01-30 20:11:02 +01:00
Haomai Wang
d70efe9889 FileStore: avoid leveldb check for xattr when possible
Maintain an internal xattr called "spill_out" that indicates whether we
(may) have xattrs stored in omap.  If attribute is set, it will indicate
that we should or should not look in omap.  If the attribute is not
present, then we do not know and will also need to check.

For new stores, this will avoid the overhead of consulting omap in the
general case until a particular objects gets enough (or big) xattrs and
spills over.

For old stores, we will effectively fall back to the previous behavior
of always checking.

Implements #7059

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
2014-01-30 11:01:33 -08:00