]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 years agomon: refactor osd failure report tracking
Sage Weil [Tue, 18 Sep 2012 21:38:47 +0000 (14:38 -0700)]
mon: refactor osd failure report tracking

- use structs to track allegedly failed nodes, and reports against them.
- use methods to handle report, and failure threshold logic.
- calculate failed_since based on OSD's reported failed_for duration

This will make it simpler to extend the logic when we add dynamic
grace periods.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: adjust or decay laggy probabilities on osd boot
Sage Weil [Tue, 28 Aug 2012 03:02:12 +0000 (20:02 -0700)]
mon: adjust or decay laggy probabilities on osd boot

On each osd boot, determine whether the osd was laggy (wrongly marked down)
or newly booted.  Either update the laggy probability and interval or
decay the values, as appropriate.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosdmap: include osd_xinfo_t to track laggy probabilities, timestamps
Sage Weil [Tue, 28 Aug 2012 02:57:48 +0000 (19:57 -0700)]
osdmap: include osd_xinfo_t to track laggy probabilities, timestamps

Track information about laggy probabilities for each OSD.  That is, the
probability that if it is marked down it is because it is laggy, and
the expected interval over which it will take to recovery if it is laggy.

We store this in the OSDMap because it is not convenient to keep it
elsewhere in the monitor.  Yet.  When the new mon infrastructure is in
place, there is a bunch of stuff that can be moved out of the OSDMap
'extended' section into other mon data structures.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: include boot_epoch in MOSDBoot
Sage Weil [Tue, 28 Aug 2012 00:23:30 +0000 (17:23 -0700)]
osd: include boot_epoch in MOSDBoot

This will let the monitor infer whether we were wrongly marked down or
the daemon restarted.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: include failed_for in MOSDFailure reports
Sage Weil [Tue, 18 Sep 2012 21:37:55 +0000 (14:37 -0700)]
osd: include failed_for in MOSDFailure reports

The monitor will need this to dynamically adjust the heartbeat grace.

Closes: #3044
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'gh/wip-crush'
Sage Weil [Tue, 11 Sep 2012 23:04:58 +0000 (16:04 -0700)]
Merge remote-tracking branch 'gh/wip-crush'

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
12 years agoupstart: Add ceph-create-keys.conf to package.
Tommi Virtanen [Tue, 11 Sep 2012 22:31:06 +0000 (15:31 -0700)]
upstart: Add ceph-create-keys.conf to package.

Signed-off-by: Tommi Virtanen <tv@inktank.com>
12 years ago:doc: Fixed typo.
John Wilkins [Tue, 11 Sep 2012 22:24:12 +0000 (15:24 -0700)]
:doc: Fixed typo.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoobsync: if OrdinaryCallingFormat fails, try SubdomainCallingFormat
Sage Weil [Tue, 11 Sep 2012 21:50:53 +0000 (14:50 -0700)]
obsync: if OrdinaryCallingFormat fails, try SubdomainCallingFormat

This blindly tries the Subdomain calling format if the ordinary method
fails.  In particular, this works around buckets that present a
PermanentRedirect message.

See bug #3128.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Matthew Wodrich <matthew.wodrich@dreamhost.com>
12 years agoMerge remote-tracking branch 'upstream/next'
Samuel Just [Tue, 11 Sep 2012 21:06:51 +0000 (14:06 -0700)]
Merge remote-tracking branch 'upstream/next'

Conflicts:
src/osd/ReplicatedPG.cc

12 years agoReplicatedPG: do not start_recovery_op if we are already pushing
Samuel Just [Tue, 11 Sep 2012 18:05:40 +0000 (11:05 -0700)]
ReplicatedPG: do not start_recovery_op if we are already pushing

Should fix bug #2761.

If we are already pushing soid, recovery_ops will only be decremented once for
all current pushes, so only increment recovery_ops if we are not currently
pushing it.

This bug causes us to leak a recovery op and get stuck in backfill.

Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoosd: fill in user log entry last after snapdir tran
Sage Weil [Tue, 4 Sep 2012 22:25:20 +0000 (15:25 -0700)]
osd: fill in user log entry last after snapdir tran

Reorder the snapdir logic and ctx->at_version adjustments prior to filling
in the object_info_t and user_versions and all that stuff.  Adjust
at_version after appending the log entry (so that it points to the next
position/version we will write at.. culminating in the actual user
event).

The user log entry contains the request id, which will be used
by replay ops to put themselves in the correct place in the
waiting_for_commit/ack maps.  Thus, the repop needs to be tagged
with the same version as the log entry with the request id.
Thus, the request id bearing log entry should be the last in
the log entry vector.

This should fix #3072, wherein a replay which should wait on
the repop tagged as version '36 will instead wait on '35.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years ago:doc: Added tunables to cruch-map.rst.
John Wilkins [Tue, 11 Sep 2012 20:05:07 +0000 (13:05 -0700)]
:doc: Added tunables to cruch-map.rst.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed old pg tuning. New section was added.
John Wilkins [Tue, 11 Sep 2012 20:00:22 +0000 (13:00 -0700)]
:doc: Removed old pg tuning. New section was added.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Trimmed the old ops tree. Will remove when all porting verified.
John Wilkins [Tue, 11 Sep 2012 19:59:35 +0000 (12:59 -0700)]
:doc: Trimmed the old ops tree. Will remove when all porting verified.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Trimmed the tree for failures/troubleshooting. RGW remains.
John Wilkins [Tue, 11 Sep 2012 19:52:12 +0000 (12:52 -0700)]
:doc: Trimmed the tree for failures/troubleshooting. RGW remains.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: removed. RBD now has its own section.
John Wilkins [Tue, 11 Sep 2012 19:51:06 +0000 (12:51 -0700)]
:doc: removed. RBD now has its own section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agomon: adjust number of req args for loc
Sage Weil [Tue, 11 Sep 2012 18:39:40 +0000 (11:39 -0700)]
mon: adjust number of req args for loc

At least one loc key/value pair is required to do anything useful with
these commands.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: move loc map parsing into a helper
Sage Weil [Tue, 11 Sep 2012 18:35:20 +0000 (11:35 -0700)]
mon: move loc map parsing into a helper

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agocrush: constify loc map arguments
Sage Weil [Tue, 11 Sep 2012 18:08:51 +0000 (11:08 -0700)]
crush: constify loc map arguments

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agocrush: add const string& versions of accessors
Sage Weil [Tue, 11 Sep 2012 18:07:57 +0000 (11:07 -0700)]
crush: add const string& versions of accessors

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc/control.rst: add 'osd crush create-or-move ...'
Sage Weil [Tue, 11 Sep 2012 16:43:37 +0000 (09:43 -0700)]
doc/control.rst: add 'osd crush create-or-move ...'

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc: make note of crush usage change
Sage Weil [Tue, 11 Sep 2012 15:57:05 +0000 (08:57 -0700)]
doc: make note of crush usage change

Even tho it is compatible.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: make redundant osd.NNN argument optional
Sage Weil [Tue, 11 Sep 2012 15:48:34 +0000 (08:48 -0700)]
mon: make redundant osd.NNN argument optional

Instead of 'osd crush set NNN osd.NNN weight loc...', make the second
osd.NNN option optional, and allow either NNN or osd.NNN to specify the
osd id.  This makes the usage much more sane, but maintains backward
compatibility.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoceph tool: add 'osd crush create-or-move ...' to help
Sage Weil [Tue, 11 Sep 2012 18:35:45 +0000 (11:35 -0700)]
ceph tool: add 'osd crush create-or-move ...' to help

Signed-off-by: Sage Weil <sage@inktank.com>
12 years ago:doc: Deleting this. Wrote a new one, but will be revised a bit soon.
John Wilkins [Tue, 11 Sep 2012 18:26:19 +0000 (11:26 -0700)]
:doc: Deleting this. Wrote a new one, but will be revised a bit soon.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed old ops pool section.
John Wilkins [Tue, 11 Sep 2012 18:19:47 +0000 (11:19 -0700)]
:doc: Removed old ops pool section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed old authentication section.
John Wilkins [Tue, 11 Sep 2012 18:19:22 +0000 (11:19 -0700)]
:doc: Removed old authentication section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed old resize OSD section.
John Wilkins [Tue, 11 Sep 2012 18:18:55 +0000 (11:18 -0700)]
:doc: Removed old resize OSD section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed old mon resize section.
John Wilkins [Tue, 11 Sep 2012 18:15:17 +0000 (11:15 -0700)]
:doc: Removed old mon resize section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed from old ops doc. Still needs to be composed though.
John Wilkins [Tue, 11 Sep 2012 18:14:40 +0000 (11:14 -0700)]
:doc: Removed from old ops doc. Still needs to be composed though.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: New cluster ops section addresses the todo.
John Wilkins [Tue, 11 Sep 2012 18:13:53 +0000 (11:13 -0700)]
:doc: New cluster ops section addresses the todo.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed old OSD troubleshooting. New version to be updated shortly.
John Wilkins [Tue, 11 Sep 2012 18:13:17 +0000 (11:13 -0700)]
:doc: Removed old OSD troubleshooting. New version to be updated shortly.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed old monitor troubleshooting. New version to be revised shortly.
John Wilkins [Tue, 11 Sep 2012 18:12:37 +0000 (11:12 -0700)]
:doc: Removed old monitor troubleshooting. New version to be revised shortly.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed old mds troubleshooting. Still needs to be composed.
John Wilkins [Tue, 11 Sep 2012 18:12:01 +0000 (11:12 -0700)]
:doc: Removed old mds troubleshooting. Still needs to be composed.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed old cephfs disucssion.
John Wilkins [Tue, 11 Sep 2012 18:11:16 +0000 (11:11 -0700)]
:doc: Removed old cephfs disucssion.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Trimmed toctree to last bits of legacy data.
John Wilkins [Tue, 11 Sep 2012 18:10:44 +0000 (11:10 -0700)]
:doc: Trimmed toctree to last bits of legacy data.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Updated FAQ with a friendlier message.
John Wilkins [Tue, 11 Sep 2012 18:09:01 +0000 (11:09 -0700)]
:doc: Updated FAQ with a friendlier message.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agomon: parse '<id>' or 'osd.<id>' for 'osd crush create-or-move ...'
Sage Weil [Mon, 10 Sep 2012 22:45:50 +0000 (15:45 -0700)]
mon: parse '<id>' or 'osd.<id>' for 'osd crush create-or-move ...'

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: fail on trailing characters after parsing numbers
Sage Weil [Mon, 10 Sep 2012 22:44:57 +0000 (15:44 -0700)]
mon: fail on trailing characters after parsing numbers

parse '8' but not '8asdf'.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: 'osd crush create-or-move <id> <initial-weight> <loc ...>'
Sage Weil [Mon, 10 Sep 2012 21:26:28 +0000 (14:26 -0700)]
mon: 'osd crush create-or-move <id> <initial-weight> <loc ...>'

Create an item in the tree with the given weight, or move it (without
touching the weight) if it is already present.

Closes: #3101
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agocrush: create_or_move_item()
Sage Weil [Mon, 10 Sep 2012 21:25:11 +0000 (14:25 -0700)]
crush: create_or_move_item()

Create an item if it doesn't exist, with the specified weight.  If it is
already in the tree, move it, but do not adjust the weight.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agocrush: get_item_weight[f]()
Sage Weil [Mon, 10 Sep 2012 20:02:27 +0000 (13:02 -0700)]
crush: get_item_weight[f]()

Get the weight for an item, or at least the first instance of an item in
the tree.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosdmap: 4 decimal places for osd tree
Sage Weil [Mon, 10 Sep 2012 20:01:52 +0000 (13:01 -0700)]
osdmap: 4 decimal places for osd tree

This makes it print out more nicely for reasonable weights.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'wip-swift-manifest'
Yehuda Sadeh [Mon, 10 Sep 2012 19:42:50 +0000 (12:42 -0700)]
Merge branch 'wip-swift-manifest'

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: add missing ret code check
Yehuda Sadeh [Mon, 10 Sep 2012 19:41:33 +0000 (12:41 -0700)]
rgw: add missing ret code check

Also, for some reason we used cerr instead of dout so fix
that too.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoMerge branch 'wip-3060'
Yehuda Sadeh [Mon, 10 Sep 2012 18:27:57 +0000 (11:27 -0700)]
Merge branch 'wip-3060'

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoobjecter: remove the now-unused "registering" flag on LingerOps
Greg Farnum [Thu, 26 Jul 2012 00:51:58 +0000 (17:51 -0700)]
objecter: remove the now-unused "registering" flag on LingerOps

Signed-off-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agorgw: encode total usage for backwards compatibility
Yehuda Sadeh [Fri, 7 Sep 2012 23:44:28 +0000 (16:44 -0700)]
rgw: encode total usage for backwards compatibility

Adding the encoding of the total usage allows us to
make the format change backwards compatible.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: configurable swift auth entry point
Yehuda Sadeh [Thu, 6 Sep 2012 18:04:44 +0000 (11:04 -0700)]
rgw: configurable swift auth entry point

Fixes: #1776
Swift auth entry point is not hard coded anymore.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agoosd: fill in user log entry last after snapdir tran
Sage Weil [Tue, 4 Sep 2012 22:25:20 +0000 (15:25 -0700)]
osd: fill in user log entry last after snapdir tran

Reorder the snapdir logic and ctx->at_version adjustments prior to filling
in the object_info_t and user_versions and all that stuff.  Adjust
at_version after appending the log entry (so that it points to the next
position/version we will write at.. culminating in the actual user
event).

The user log entry contains the request id, which will be used
by replay ops to put themselves in the correct place in the
waiting_for_commit/ack maps.  Thus, the repop needs to be tagged
with the same version as the log entry with the request id.
Thus, the request id bearing log entry should be the last in
the log entry vector.

This should fix #3072, wherein a replay which should wait on
the repop tagged as version '36 will instead wait on '35.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years ago:doc: Fixed broken hyperlinks.
John Wilkins [Fri, 7 Sep 2012 04:00:29 +0000 (21:00 -0700)]
:doc: Fixed broken hyperlinks.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Addresses Documentation #3096. Also added new information.
John Wilkins [Fri, 7 Sep 2012 03:31:46 +0000 (20:31 -0700)]
:doc: Addresses Documentation #3096. Also added new information.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agorgw: rgw-admin filter usage by categories
Yehuda Sadeh [Thu, 6 Sep 2012 23:46:26 +0000 (16:46 -0700)]
rgw: rgw-admin filter usage by categories

rgw can now filter usage output by specific op
categories.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agogitignore: Remove "nbproject", no idea what that even is.
Tommi Virtanen [Thu, 6 Sep 2012 23:11:39 +0000 (16:11 -0700)]
gitignore: Remove "nbproject", no idea what that even is.

Looks like this line was accidentally introduced in commit
af4d8db55f7268ab68ee5a7e17ac58c993528566.

Signed-off-by: Tommi Virtanen <tv@inktank.com>
12 years agorgw: usage now account categories
Yehuda Sadeh [Thu, 6 Sep 2012 20:17:09 +0000 (13:17 -0700)]
rgw: usage now account categories

Instead of just keeping a flat usage info per bucket, we
now maintain a list of categories for which requests
usage is aggregated in. Ops are put in categories based
on their names.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years agorgw: fix usage
Yehuda Sadeh [Thu, 6 Sep 2012 17:15:54 +0000 (10:15 -0700)]
rgw: fix usage

Fixes: #3085
usage was showing 'bucket info' command that never
existed.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
12 years ago:doc: Minor tweak to heading text.
John Wilkins [Thu, 6 Sep 2012 00:33:45 +0000 (17:33 -0700)]
:doc: Minor tweak to heading text.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoMerge branch 'master' of github.com:ceph/ceph
John Wilkins [Thu, 6 Sep 2012 00:26:39 +0000 (17:26 -0700)]
Merge branch 'master' of github.com:ceph/ceph

12 years ago:doc: Modified the index page to point to the new cluster-ops section.
John Wilkins [Thu, 6 Sep 2012 00:25:34 +0000 (17:25 -0700)]
:doc: Modified the index page to point to the new cluster-ops section.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Made minor changes to restructuredText headers.
John Wilkins [Thu, 6 Sep 2012 00:24:54 +0000 (17:24 -0700)]
:doc: Made minor changes to restructuredText headers.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Added comment redirecting editors to new page location.
John Wilkins [Thu, 6 Sep 2012 00:23:03 +0000 (17:23 -0700)]
:doc: Added comment redirecting editors to new page location.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Added index/toctree page for cluster ops.
John Wilkins [Thu, 6 Sep 2012 00:22:32 +0000 (17:22 -0700)]
:doc: Added index/toctree page for cluster ops.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Added new auth settings to reference doc.
John Wilkins [Thu, 6 Sep 2012 00:22:02 +0000 (17:22 -0700)]
:doc: Added new auth settings to reference doc.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Refactored and moved control.rst page.
John Wilkins [Thu, 6 Sep 2012 00:21:31 +0000 (17:21 -0700)]
:doc: Refactored and moved control.rst page.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Consolidated file system recommendations.
John Wilkins [Thu, 6 Sep 2012 00:21:04 +0000 (17:21 -0700)]
:doc: Consolidated file system recommendations.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Minor syntax update.
John Wilkins [Thu, 6 Sep 2012 00:20:30 +0000 (17:20 -0700)]
:doc: Minor syntax update.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: restructuredText syntax corrections.
John Wilkins [Thu, 6 Sep 2012 00:19:51 +0000 (17:19 -0700)]
:doc: restructuredText syntax corrections.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Added index page. This will be refactored again soon.
John Wilkins [Thu, 6 Sep 2012 00:17:57 +0000 (17:17 -0700)]
:doc: Added index page. This will be refactored again soon.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Refactored and moved to ceph/docs/cluster-ops/pools.rst
John Wilkins [Thu, 6 Sep 2012 00:17:20 +0000 (17:17 -0700)]
:doc: Refactored and moved to ceph/docs/cluster-ops/pools.rst

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Removed. New section is in ceph/doc/cluster-ops/authentication.rst
John Wilkins [Thu, 6 Sep 2012 00:16:29 +0000 (17:16 -0700)]
:doc: Removed. New section is in ceph/doc/cluster-ops/authentication.rst

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Fixed heading syntax.
John Wilkins [Thu, 6 Sep 2012 00:15:27 +0000 (17:15 -0700)]
:doc: Fixed heading syntax.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoPG: clear want_acting in choose_acting if want == acting
Samuel Just [Wed, 5 Sep 2012 22:56:25 +0000 (15:56 -0700)]
PG: clear want_acting in choose_acting if want == acting

Otherwise, a pg_temp from a previous peering sequence
(but not a different peering_interval) might leak through
into Active and incorrectly trip the
Active::react(AdvMap&) asserts regarding want_acting.
Those asserts assume that want_acting is either empty or is
a results of recovery completion.  In the latter case, the
want_acting set much consist only of elements of up and
acting.

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoMerge remote-tracking branch 'gh/wip_deep_scrub_final'
Sage Weil [Wed, 5 Sep 2012 21:23:49 +0000 (14:23 -0700)]
Merge remote-tracking branch 'gh/wip_deep_scrub_final'

12 years agoosd: initialize pg_log_entry_t::invalid_pool in default ctor
Sage Weil [Fri, 31 Aug 2012 22:40:16 +0000 (15:40 -0700)]
osd: initialize pg_log_entry_t::invalid_pool in default ctor

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodoc: explain what scrub, deep-scrub, and repair actually do
Mike Ryan [Tue, 7 Aug 2012 23:32:59 +0000 (16:32 -0700)]
doc: explain what scrub, deep-scrub, and repair actually do

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
12 years agoosd: deep scrub, read file contents from disk and compare digest
Mike Ryan [Mon, 27 Aug 2012 18:16:17 +0000 (11:16 -0700)]
osd: deep scrub, read file contents from disk and compare digest

Deep scrub reads the contents of every file from the store and computes
a crc32 digest. The primary compares the digest of all replicas and will
mark the PG inconsistent if any don't match.

OSDs that do not support deep scrub simply perform an ordinary chunky
scrub. Any subset of OSDs that do support deep scrub will have their
digests compared.

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
12 years agobuffer: class for efficiently calculating CRC32 of >= 1 bufferlist
Mike Ryan [Tue, 31 Jul 2012 21:21:43 +0000 (14:21 -0700)]
buffer: class for efficiently calculating CRC32 of >= 1 bufferlist

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
12 years agopg: store scrubber state in its own object
Mike Ryan [Tue, 4 Sep 2012 23:37:54 +0000 (16:37 -0700)]
pg: store scrubber state in its own object

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
12 years agoosd: chunky scrub, scrub PGs a chunk of objects at a time
Mike Ryan [Mon, 16 Jul 2012 22:58:26 +0000 (15:58 -0700)]
osd: chunky scrub, scrub PGs a chunk of objects at a time

Chunky scrub is a more efficient scrub. It blocks writes on a subset of
objects and scrubs those, allowing writes through to the rest of the PG.

The scrub takes longer to complete than a classic scrub, but improves
overall write throughput.

This feature is backward-compatible with classic scrub. If the primary
detects that any replica does not have the chunky scrub feature, it
falls back to the less efficient classic scrub.

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
12 years agocrush: change default type from 'pool' to 'root'
Sage Weil [Wed, 5 Sep 2012 20:05:59 +0000 (13:05 -0700)]
crush: change default type from 'pool' to 'root'

The 'pool=default' in the default crush maps is confusing wrt rados pools.
'root' makes more sense given that we are talking about hierarchies/trees.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'upstream/wip-kvstore'
Samuel Just [Wed, 5 Sep 2012 17:50:50 +0000 (10:50 -0700)]
Merge remote-tracking branch 'upstream/wip-kvstore'

12 years agoFileStore: get objects whose names fall within a range
Mike Ryan [Tue, 10 Jul 2012 23:22:58 +0000 (16:22 -0700)]
FileStore: get objects whose names fall within a range

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
12 years agopg: change _scrub() to take out parameters as pointers
Mike Ryan [Tue, 3 Jul 2012 22:37:12 +0000 (15:37 -0700)]
pg: change _scrub() to take out parameters as pointers

Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
12 years agoMonitor.cc: Added include for limits.h.
Gary Lowell [Wed, 5 Sep 2012 03:31:00 +0000 (20:31 -0700)]
Monitor.cc:  Added include for limits.h.

This include is needed on Centos.  It seems to be included implicitly
on other platforms.

12 years agoMerge branch 'master' of github.com:ceph/ceph
John Wilkins [Wed, 5 Sep 2012 00:17:07 +0000 (17:17 -0700)]
Merge branch 'master' of github.com:ceph/ceph

12 years ago:doc: Added a section for adding and removing monitors. Singificantly re-factored.
John Wilkins [Wed, 5 Sep 2012 00:16:23 +0000 (17:16 -0700)]
:doc: Added a section for adding and removing monitors. Singificantly re-factored.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years ago:doc: Incorporated Joao's feedback into the reference material.
John Wilkins [Wed, 5 Sep 2012 00:15:35 +0000 (17:15 -0700)]
:doc: Incorporated Joao's feedback into the reference material.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodocs: Add CloudStack documentation
Wido den Hollander [Wed, 8 Aug 2012 21:51:10 +0000 (23:51 +0200)]
docs: Add CloudStack documentation

The basic documentation about how you can use RBD with CloudStack

Signed-off-by: Wido den Hollander <wido@widodh.nl>
12 years ago:doc: Added recovering from OSD failures. Will be re-factored again soon.
John Wilkins [Tue, 4 Sep 2012 23:34:32 +0000 (16:34 -0700)]
:doc: Added recovering from OSD failures. Will be re-factored again soon.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added monitor failure recovery. Will be re-factored again soon.
John Wilkins [Tue, 4 Sep 2012 23:33:47 +0000 (16:33 -0700)]
doc: Added monitor failure recovery. Will be re-factored again soon.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Re-factored adding an OSD.
John Wilkins [Tue, 4 Sep 2012 23:19:33 +0000 (16:19 -0700)]
doc: Re-factored adding an OSD.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Minor updates.
John Wilkins [Tue, 4 Sep 2012 23:18:54 +0000 (16:18 -0700)]
doc: Minor updates.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoMerge branch 'master' of github.com:ceph/ceph
John Wilkins [Tue, 4 Sep 2012 23:17:46 +0000 (16:17 -0700)]
Merge branch 'master' of github.com:ceph/ceph

12 years agodoc: Added admonishments for Ceph FS per http://tracker.newdream.net/issues/3077
John Wilkins [Tue, 4 Sep 2012 23:17:29 +0000 (16:17 -0700)]
doc: Added admonishments for Ceph FS per http://tracker.newdream.net/issues/3077

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Updated to incorporate Sage's changes.
John Wilkins [Tue, 4 Sep 2012 23:08:35 +0000 (16:08 -0700)]
doc: Updated to incorporate Sage's changes.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added anchor references.
John Wilkins [Tue, 4 Sep 2012 23:03:34 +0000 (16:03 -0700)]
doc: Added anchor references.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Refactored the debug section to point back to reference.
John Wilkins [Tue, 4 Sep 2012 23:02:37 +0000 (16:02 -0700)]
doc: Refactored the debug section to point back to reference.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added QA reference to --valgrind option.
John Wilkins [Tue, 4 Sep 2012 23:01:48 +0000 (16:01 -0700)]
doc: Added QA reference to --valgrind option.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agoRevert "ReplicatedPG: fill in user log entry last after snapdir tran"
Sage Weil [Tue, 4 Sep 2012 22:21:45 +0000 (15:21 -0700)]
Revert "ReplicatedPG: fill in user log entry last after snapdir tran"

This reverts commit 0aad5462eb79be0427004f2442903bb56c2057c1.

This gives us two events with the same version, and crashes like so:

osd/PG.cc: In function 'void PG::add_log_entry(pg_log_entry_t&, ceph::bufferlist&)' thread 7fd21b187700 time 2012-09-04 15:10:39.475385
osd/PG.cc: 2181: FAILED assert(e.version > info.last_update)

 ceph version 0.51-411-g40fd6ba (commit:40fd6ba8ed9ba70c8d20a79936f53f10f2dfe839)
 1: (ceph::__ceph_assert_fail(char const*, char const*, int, char const*)+0x95) [0x1025139]
 2: (PG::add_log_entry(pg_log_entry_t&, ceph::buffer::list&)+0xb0) [0xe47552]
 3: (PG::append_log(std::vector<pg_log_entry_t, std::allocator<pg_log_entry_t> >&, eversion_t, ObjectStore::Transaction&)+0x1cd) [0xe47939]
 4: (ReplicatedPG::do_op(std::tr1::shared_ptr<OpRequest>)+0x41f2) [0xcb5c84]
 5: (PG::do_request(std::tr1::shared_ptr<OpRequest>)+0x1f3) [0xe42329]
 6: (OSD::dequeue_op(PG*)+0x286) [0xd9a214]
 7: (OSD::OpWQ::_process(PG*)+0x27) [0xda20e7]
 8: (ThreadPool::WorkQueue<PG>::_void_process(void*)+0x2e) [0xdf1ab4]
 9: (ThreadPool::worker()+0x4ce) [0x101c762]
 10: (ThreadPool::WorkThread::entry()+0x1c) [0xda049e]
 11: (Thread::_entry_func(void*)+0x23) [0x1016a49]
 12: (()+0x7e9a) [0x7fd22b7fce9a]
 13: (clone()+0x6d) [0x7fd229db14bd]
 NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.