summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ReplicatedPG: we need to update recovery_info in on_local_recoverwip-5857-8Samuel Just2013-09-243-4/+8
| | | | | | For lost_unfound. Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: fix prep_push_to_replica debug outputSamuel Just2013-09-241-1/+1
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: assert build_push_op succeeds on primarySamuel Just2013-09-241-6/+8
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* [SQUASH]ReplicatedPG: finish_recovery_op in cancel_pushSamuel Just2013-09-231-0/+1
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG.h: remove temp_coll stubSamuel Just2013-09-231-5/+0
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* OSD,ReplicatedPG: queue pushes in a op_tp workqueueSamuel Just2013-09-233-4/+11
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: don't proceed to backfill until recovering is emptySamuel Just2013-09-231-2/+5
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: correctly handle backfillSamuel Just2013-09-233-18/+18
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: fix up recalc_subsetsSamuel Just2013-09-233-35/+16
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedBackend: wire in start_pushesSamuel Just2013-09-233-10/+71
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedBackend: handle stats properlySamuel Just2013-09-234-24/+38
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedBackend: track object contexts in Push/PullInfoSamuel Just2013-09-232-15/+7
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedBackend: remove priority from Pull/PushInfoSamuel Just2013-09-232-3/+1
| | | | | | Instead, we'll just nab the priority from the messages. Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: move prep_push and friends to ReplicatedBackendSamuel Just2013-09-234-110/+115
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: remove pushing/pullingSamuel Just2013-09-232-73/+19
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: handle down pull sourcesSamuel Just2013-09-235-18/+39
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: split recover_missing out of prepare_pullSamuel Just2013-09-234-108/+180
| | | | | | Also, move prepare_pull to PGBackend. Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: shuffle over submit_push_*/build_push_opSamuel Just2013-09-233-20/+20
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: move over send_pushes/send_pulls/prep_push_op_blankSamuel Just2013-09-233-32/+27
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: move over _failed_pushSamuel Just2013-09-233-4/+10
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: move handle_*Samuel Just2013-09-233-32/+25
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: shuffle do_pull/do_push_replySamuel Just2013-09-233-6/+4
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: move _do_push,_do_pull_response,do_pushSamuel Just2013-09-233-21/+17
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: convert sub_op_pullSamuel Just2013-09-233-3/+2
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: make log_subop_stats staticSamuel Just2013-09-232-25/+22
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: shuffle sub_op_push_replySamuel Just2013-09-233-3/+2
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: shuffle sub_op_push over to ReplicatedBackendSamuel Just2013-09-234-17/+19
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* osd/: allow dout for ReplicatedBackend methods to work in ReplicatedPG.ccSamuel Just2013-09-231-2/+3
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: extract PGBackend::Listener recovery callbacksSamuel Just2013-09-234-109/+159
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PG,ReplicatedPG: handle do_request in ReplicatedPG,PGBackendSamuel Just2013-09-235-89/+68
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: pass on dump_recovery_info to PGBackendSamuel Just2013-09-231-43/+6
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* OSD,ReplicatedPG: let PGBackend handle the temp collectionSamuel Just2013-09-237-77/+69
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* osd/: add PGBackend interfaces and stubsSamuel Just2013-09-238-2/+726
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: Allow get_object_context caller to provide attributesSamuel Just2013-09-233-32/+65
| | | | | | | This will be used by PGBackend implementers to get the SnapSet and ObjectInfo for newly recovered objects on the primary. Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: send_push is unusedSamuel Just2013-09-232-16/+0
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* FileStore: ping tphandle between each operation within a transactionSamuel Just2013-09-232-3/+13
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* WorkQueue: add a workqueue which simply runs queued GenContextsSamuel Just2013-09-231-0/+43
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* Context: add GenContext templated on the callback argumentSamuel Just2013-09-231-0/+20
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* Merge pull request #588 from dachary/wip-6274Sage Weil2013-09-2313-28/+1223
|\ | | | | mon: unit tests to protect against some MonCommands.h typos
| * ceph_argparse: unit tests for validate_command config-keyLoic Dachary2013-09-231-0/+25
| | | | | | | | | | | | | | | | http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * ceph_argparse: unit tests for validate_command osdLoic Dachary2013-09-231-0/+510
| | | | | | | | | | | | | | | | http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * ceph_argparse: unit tests for validate_command monLoic Dachary2013-09-231-0/+29
| | | | | | | | | | | | | | | | http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * ceph_argparse: unit tests for validate_command mdsLoic Dachary2013-09-231-0/+134
| | | | | | | | | | | | | | | | http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * ceph_argparse: unit tests for misc validate_commandLoic Dachary2013-09-231-0/+97
| | | | | | | | | | | | | | | | | | | | | | Contrary to all other classes, this series of command ( Monitor ) does not have a common prefix. http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * ceph_argparse: unit tests for validate_command authLoic Dachary2013-09-231-0/+52
| | | | | | | | | | | | | | | | http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * ceph_argparse: unit tests for validate_command pgLoic Dachary2013-09-231-0/+98
| | | | | | | | | | | | | | | | http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * pybind: ceph_argparse unit tests foundationsLoic Dachary2013-09-231-0/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The general idea is to have a series of commands, in the same order as they show in mon/MonCommands.h, as if they were input to the ceph client. For each command a valid combination is verified. And at least one validation error is checked to produce a validation error. For instance: ['pg', 'stat'] is a valid command and the validate_command function is expected to return a value that is not None or {}. The command ['pg', 'stat', 'toomany' ] is also given to validate_command to check that an error occurs when an extra argument is given. The TestArparse class implements a few methods to reduce the verbosity of the tests. It does not provide many methods : only those that significantly reduce the verbosity have been implemented. The drawback of writing too many convenience methods is that they are more difficult to read and maintain. The signature dictionary is made a global variable so that it is only extracted once for all classes. It is immutable. http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * pybind: catch EntityAddress missing /Loic Dachary2013-09-231-1/+4
| | | | | | | | | | | | | | | | | | | | | | If the / is missing in an EntityAddress, an ArgumentValid exception must be raised so that it can be caught in the same way other argument validation exceptions are. http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * mon: validate mon dump epoch as a positive integerLoic Dachary2013-09-231-1/+1
| | | | | | | | | | | | | | | | | | All other epochs are validated in the same way http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * pybind: unit tests for ceph_argparse::parse_json_funcsigsLoic Dachary2013-09-234-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run parse_json_funcsigs against the builtin commands found in mon/MonCommands.h. Although it does not provide for a full validation, it will detect some degenerate cases. It is expected to raise if a space is missing at the end of an option specification ( see https://github.com/ceph/ceph/pull/585 ) and this case is tested. New tests of the same kind can be added whenever an undetected error is found. Ideally a validation function is implemented and it would be updated ( with an associated test ) when a new pathological case is found. The json string given to parse_json_funcsigs is obtained from the support program get_command_descriptions. The python-nose dependencies are added to the build requirements in debian/control and ceph.spec.in because make check should always be run at built time. http://tracker.ceph.com/issues/6274 refs #6274 Reviewed-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>