Commit Graph

21044 Commits

Author SHA1 Message Date
Samuel Just
86b3e8aeb3 OSD: add init and shutdown for OSDService
Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-09-24 12:29:55 -07:00
Samuel Just
928865b16e PG: create macro for simple events
This should make defining no-information events a bit simpler.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-09-07 14:34:49 -07:00
John Wilkins
e2129ab472 :doc: Fixed broken hyperlinks.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-06 21:00:29 -07:00
John Wilkins
9bbe73cc1d :doc: Addresses Documentation #3096. Also added new information.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-06 20:31:46 -07:00
Tommi Virtanen
9d878bfb4d gitignore: Remove "nbproject", no idea what that even is.
Looks like this line was accidentally introduced in commit
af4d8db55f.

Signed-off-by: Tommi Virtanen <tv@inktank.com>
2012-09-06 16:12:35 -07:00
Yehuda Sadeh
a5b9ba7773 rgw: fix usage
Fixes: #3085
usage was showing 'bucket info' command that never
existed.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
2012-09-06 10:15:54 -07:00
John Wilkins
3fed44acd1 :doc: Minor tweak to heading text.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:33:45 -07:00
John Wilkins
53d982926b Merge branch 'master' of github.com:ceph/ceph 2012-09-05 17:26:39 -07:00
John Wilkins
6957ae78e1 :doc: Modified the index page to point to the new cluster-ops section.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:25:34 -07:00
John Wilkins
4ff60c7a0e :doc: Made minor changes to restructuredText headers.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:24:54 -07:00
John Wilkins
8fa81ab54c :doc: Added comment redirecting editors to new page location.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:23:03 -07:00
John Wilkins
c22ca7230f :doc: Added index/toctree page for cluster ops.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:22:32 -07:00
John Wilkins
b8dfe8227d :doc: Added new auth settings to reference doc.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:22:02 -07:00
John Wilkins
199dc5d0dc :doc: Refactored and moved control.rst page.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:21:31 -07:00
John Wilkins
d90fea6cad :doc: Consolidated file system recommendations.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:21:04 -07:00
John Wilkins
ab020da912 :doc: Minor syntax update.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:20:30 -07:00
John Wilkins
64b9e9f505 :doc: restructuredText syntax corrections.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:19:51 -07:00
John Wilkins
c94034a29e :doc: Added index page. This will be refactored again soon.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:17:57 -07:00
John Wilkins
32398f347d :doc: Refactored and moved to ceph/docs/cluster-ops/pools.rst
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:17:20 -07:00
John Wilkins
c53a110406 :doc: Removed. New section is in ceph/doc/cluster-ops/authentication.rst
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:16:29 -07:00
John Wilkins
f1c869cbe3 :doc: Fixed heading syntax.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-05 17:15:27 -07:00
Samuel Just
78c844e578 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>
2012-09-05 16:38:47 -07:00
Sage Weil
d31140cec9 Merge remote-tracking branch 'gh/wip_deep_scrub_final' 2012-09-05 14:23:49 -07:00
Sage Weil
df89c96323 osd: initialize pg_log_entry_t::invalid_pool in default ctor
Signed-off-by: Sage Weil <sage@inktank.com>
2012-09-05 14:19:19 -07:00
Mike Ryan
3fd5914cf3 doc: explain what scrub, deep-scrub, and repair actually do
Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
2012-09-05 14:19:19 -07:00
Mike Ryan
9013efd3a3 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>
2012-09-05 14:19:19 -07:00
Mike Ryan
a0b04bcecf buffer: class for efficiently calculating CRC32 of >= 1 bufferlist
Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
2012-09-05 14:19:19 -07:00
Mike Ryan
a08a28d019 pg: store scrubber state in its own object
Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
2012-09-05 14:19:18 -07:00
Mike Ryan
f5046798f4 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>
2012-09-05 14:19:13 -07:00
Sage Weil
79b3054347 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>
2012-09-05 13:20:48 -07:00
Samuel Just
a0c87b8675 Merge remote-tracking branch 'upstream/wip-kvstore' 2012-09-05 10:50:50 -07:00
Mike Ryan
a83fb799ea FileStore: get objects whose names fall within a range
Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
2012-09-05 10:13:33 -07:00
Mike Ryan
8bad708e75 pg: change _scrub() to take out parameters as pointers
Signed-off-by: Mike Ryan <mike.ryan@inktank.com>
2012-09-05 10:13:33 -07:00
Gary Lowell
195eda62f7 Monitor.cc: Added include for limits.h.
This include is needed on Centos.  It seems to be included implicitly
on other platforms.
2012-09-04 20:31:00 -07:00
John Wilkins
ca7fb83816 Merge branch 'master' of github.com:ceph/ceph 2012-09-04 17:17:07 -07:00
John Wilkins
2266876987 :doc: Added a section for adding and removing monitors. Singificantly re-factored.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 17:16:23 -07:00
John Wilkins
c1ff83de40 :doc: Incorporated Joao's feedback into the reference material.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 17:15:35 -07:00
Wido den Hollander
0c78a03d24 docs: Add CloudStack documentation
The basic documentation about how you can use RBD with CloudStack

Signed-off-by: Wido den Hollander <wido@widodh.nl>
2012-09-04 16:48:47 -07:00
John Wilkins
2b8690be29 :doc: Added recovering from OSD failures. Will be re-factored again soon.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 16:34:32 -07:00
John Wilkins
9db84be4b7 doc: Added monitor failure recovery. Will be re-factored again soon.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 16:33:47 -07:00
John Wilkins
6dff5d5614 doc: Re-factored adding an OSD.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 16:19:33 -07:00
John Wilkins
32b44cb4ae doc: Minor updates.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 16:18:54 -07:00
John Wilkins
00dd6a63bd Merge branch 'master' of github.com:ceph/ceph 2012-09-04 16:17:46 -07:00
John Wilkins
d233271434 doc: Added admonishments for Ceph FS per http://tracker.newdream.net/issues/3077
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 16:17:29 -07:00
John Wilkins
4b774b6950 doc: Updated to incorporate Sage's changes.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 16:08:35 -07:00
John Wilkins
327969ca53 doc: Added anchor references.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 16:03:34 -07:00
John Wilkins
a50f73ea9e doc: Refactored the debug section to point back to reference.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 16:02:37 -07:00
John Wilkins
31d632876f doc: Added QA reference to --valgrind option.
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
2012-09-04 16:01:48 -07:00
Sage Weil
ccfd841364 Revert "ReplicatedPG: fill in user log entry last after snapdir tran"
This reverts commit 0aad5462eb.

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.
2012-09-04 15:21:45 -07:00
Samuel Just
40fd6ba8ed OSD::handle_pg_stats_ack: grab pg refcount while processing pg
If the queue refcount is the last one for the pg, the pg->put()
in the loop will destroy the pg while the lock is still held
leading to #3071.  Thus, grab refcount in case we need to drop
it.

Signed-off-by: Samuel Just <sam.just@inktank.com>
2012-09-04 13:55:09 -07:00