summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* mon: Monitor: ignore all not-sync-related messages during syncwip-4748Joao Eduardo Luis2013-04-221-0/+8
| | | | | | Fixes: #4748 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* mon: [MDS]Monitor: remove 'stop_cluster' and 'do_stop()'Joao Eduardo Luis2013-04-224-96/+0
| | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* mon: MDSMonitor: tighter leash on cross-proposals to the osdmonJoao Eduardo Luis2013-04-222-6/+47
| | | | | | Fixes: #3495 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* mon: PaxosService: add request_proposal() to perform cross-proposalsJoao Eduardo Luis2013-04-221-0/+29
| | | | | | | | | | | | | | | | | | | Instead of allowing services to directly use 'propose_pending()' on other services, we instead add two new functions: - request_proposal() to request 'this' service to propose its pending value; and - request_proposal(PaxosService *other) so that 'this' service can request a proposal to 'other' These functions should allow us to enforce a greater set of constraints at time of a cross-proposal, either by making sure a service will (e.g.) hold-off his own proposals until said proposal is performed, or even that the other service will enforce a tighter set of constraints that wouldn't otherwise be enforced by using 'propose_pending()' directly. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* mon: PaxosService: is_writeable() depends on being ready to be written toJoao Eduardo Luis2013-04-221-1/+13
| | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* mon: PaxosService: is_readable/writeable() depending on is_active()Joao Eduardo Luis2013-04-221-5/+4
| | | | | | Instead of depending on individual conditions. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* mon: PaxosService: consider is_recovering() on is_writeable()Joao Eduardo Luis2013-04-221-1/+3
| | | | | | A service is never writeable while it's recovering. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* ceph-create-keys: Don't wait if permission deniedGary Lowell2013-04-211-6/+14
| | | | | | | | If get or create keys returns permssion denied, exit gracefully instead of retrying. Signed-off-by: Gary Lowell <gary.lowell@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* doc: Aesthetic improvements. Removed unnecessary graphic and overrode margin ↵John Wilkins2013-04-201-4/+1
| | | | | | for h3 tag. Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* doc: Added a scenario to PG troubleshooting.John Wilkins2013-04-201-0/+12
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* doc: Changed usage to "bucket-name". Description was okay.John Wilkins2013-04-201-1/+1
| | | | | | fixes: #4102 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* Merge branch 'wip-4201' into nextDavid Zafman2013-04-196-80/+1128
|\ | | | | | | Reviewed-by: Samuel Just <sam.just@inktank.com>
| * tools/ceph-filestore-dump: Implement remove, export and importDavid Zafman2013-04-191-61/+1073
| | | | | | | | | | | | | | | | | | | | Change local names to be clearer Break real_log() into common function get_log() Move infos_oid, biginfo_oid and log_oid to globals for general use Feature: #4201 (osd: data loss: pg export/import/remove) Signed-off-by: David Zafman <david.zafman@inktank.com>
| * tools/ceph-filestore-dump: Error messages lost because stderr is closedDavid Zafman2013-04-191-10/+11
| | | | | | | | | | | | | | | | | | Use cout instead of cerr for command errors Use cerr for debug mode because stderr is avail Output map_epoch in debug mode Fix a message and only for debug mode Signed-off-by: David Zafman <david.zafman@inktank.com>
| * osd: Make clear_temp() public for use by removeDavid Zafman2013-04-191-2/+1
| | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * osd: Add flag to force version write in _write_info()David Zafman2013-04-192-3/+3
| | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * osd: Create static PG::_write_log() functionDavid Zafman2013-04-192-4/+11
| | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * osd: Create new static function PG::_write_info() for use by PG importDavid Zafman2013-04-192-5/+27
| | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * osd: Add OSD::make_infos_oid() as common function to create oidDavid Zafman2013-04-192-1/+5
| | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * filestore, osd: Fixes to comform to programming guidelinesDavid Zafman2013-04-192-3/+6
| | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
* | Merge branch 'wip_4662_clean' into nextSamuel Just2013-04-1912-109/+343
|\ \ | | | | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| * | ReplicatedPG::_finish_mark_all_unfound_lost: only requeue if !deletingSamuel Just2013-04-191-1/+2
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | ReplicatedPG::_applied_recovered_object*: don't queue scrub if deletingSamuel Just2013-04-191-2/+3
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | PG: check for pg change in ~FlushStateSamuel Just2013-04-191-1/+2
| | | | | | | | | | | | | | | Fixes: #4662 Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | PG: bail if deleting in _finish_recoverySamuel Just2013-04-191-0/+4
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | AsyncReserver: delete context in cancel_reservationSamuel Just2013-04-191-0/+1
| | | | | | | | | | | | | | | | | | Fixes: #4662 Backport: bobtail Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | OpRequest: don't maintain history if the OSD is shutting downSamuel Just2013-04-191-1/+2
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | osd/: optionally track every pg refSamuel Just2013-04-197-49/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This involves three pieces: For intrusive_ptr type references, we use TrackedIntPtr instead. This uses get_with_id and put_with_id to associate an id and backtrace with each particular ref instance. For refs taken via direct calls to get() and put(), get and put now require a tag string. The PG tracks individual ref counts for each tag as well as the total. Finally, PGs register/unregister themselves on construction/destruction with OSDService. As a result, on shutdown, we can check for live pgs and determine where the references are held. This behavior is compiled out by default, but can be included with the --enable-pgrefdebugging flag. Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | common/: add tracked_int_ptr.hppSamuel Just2013-04-192-0/+68
| | | | | | | | | | | | | | | | | | | | | TrackedIntPtr acts like intrusive_ptr, but is able to track a ref id. Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | ReplicatedPG: use the ReplicatedPGRef typedefSamuel Just2013-04-191-4/+4
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | ReplicatedPG: use ReplicatedPGRef for C_PG_MarkUnfoundLostSamuel Just2013-04-191-5/+2
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | ReplicatedPG: use ReplicatedPGRef for C_OSD_OpCommitSamuel Just2013-04-191-3/+1
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | ReplicatedPG: use ReplicatedPGRef for C_OSD_OpAppliedSamuel Just2013-04-191-3/+1
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | OSD: use PGRef in handle_pg_removeSamuel Just2013-04-191-2/+1
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | OSD: use PGRef in handle_pg_stats_ackSamuel Just2013-04-191-2/+1
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | PG: use PGRef in QueuePeeringEvtSamuel Just2013-04-191-1/+1
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | OSD: use PGRef in consume_mapSamuel Just2013-04-191-7/+5
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | PG: use PGRef for FlushStateSamuel Just2013-04-191-5/+2
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | PG: use PGRef for C_PG_FinishRecoverySamuel Just2013-04-191-5/+2
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | PG: use PGRef in C_PG_ActivateCommittedSamuel Just2013-04-191-3/+1
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | PG: do not put() in scrub() if pg is deletingSamuel Just2013-04-191-1/+0
| | | | | | | | | | | | | | | | | | | | | scrub() no longer handles the put, this call must have been missed. Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | PG,ReplicatedPG: move intrusive_ptr declarations to topSamuel Just2013-04-192-10/+10
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | ReplicatedPG: add ReplicatedPGRefSamuel Just2013-04-191-0/+2
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | FileStore::_do_copy_range: read(2) might return EINTRSamuel Just2013-04-191-4/+8
| | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | FileStore::_do_clone_range: _do_copy_range encodes error in return, not errnoSamuel Just2013-04-191-2/+2
| |/ | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* | OSDMonitor: pg split is no longer experimentalSamuel Just2013-04-191-6/+1
| | | | | | | | | | | | Fixes: #4711 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
* | Merge pull request #228 from alram/nextSage Weil2013-04-191-4/+2
|\ \ | | | | | | | | | | | | Fix journal partition creation Reviewed-by: Sage Weil <sage@inktank.com>
| * | Fix journal partition creationAlexandre Marangone2013-04-191-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With OSD sharing data and journal, the previous code created the journal partiton from the end of the device. A uint32_t is used in sgdisk to get the last sector, with large HD, uint32_t is too small. The journal partition will be created backwards from the a sector in the midlle of the disk leaving space before and after it. The data partition will use whichever of these spaces is greater. The remaining will not be used. This patch creates the journal partition from the start as a workaround. Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
* | | rbd: fix qa tests to use --allow-shrinkSage Weil2013-04-193-4/+5
| | | | | | | | | | | | | | | Fixes: #4763 Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge pull request #227 from ceph/wip-4574Gregory Farnum2013-04-198-35/+61
|\ \ \ | |/ / |/| | Reviewed-by: Greg Farnum <greg@inktank.com>