summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* OSD,ReplicatedPG: queue pushes in a op_tp workqueuewip-5857-5Samuel Just2013-09-143-4/+11
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: don't proceed to backfill until recovering is emptySamuel Just2013-09-141-2/+5
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: correctly handle backfillSamuel Just2013-09-143-18/+18
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: fix up recalc_subsetsSamuel Just2013-09-143-23/+16
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedBackend: wire in start_pushesSamuel Just2013-09-143-10/+71
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedBackend: handle stats properlySamuel Just2013-09-144-24/+38
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedBackend: track object contexts in Push/PullInfoSamuel Just2013-09-142-15/+7
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedBackend: remove priority from Pull/PushInfoSamuel Just2013-09-142-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-144-110/+115
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: remove pushing/pullingSamuel Just2013-09-142-73/+19
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: handle down pull sourcesSamuel Just2013-09-145-18/+39
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: split recover_missing out of prepare_pullSamuel Just2013-09-144-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-143-32/+20
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: move over send_pushes/send_pulls/prep_push_op_blankSamuel Just2013-09-143-32/+27
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: move over _failed_pushSamuel Just2013-09-143-4/+10
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: move handle_*Samuel Just2013-09-143-32/+25
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: shuffle do_pull/do_push_replySamuel Just2013-09-143-6/+4
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: move _do_push,_do_pull_response,do_pushSamuel Just2013-09-143-21/+17
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: convert sub_op_pullSamuel Just2013-09-143-3/+2
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: make log_subop_stats staticSamuel Just2013-09-142-25/+22
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: shuffle sub_op_push_replySamuel Just2013-09-143-3/+2
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG/Backend: shuffle sub_op_push over to ReplicatedBackendSamuel Just2013-09-144-17/+19
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* osd/: allow dout for ReplicatedBackend methods to work in ReplicatedPG.ccSamuel Just2013-09-141-2/+3
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: extract PGBackend::Listener recovery callbacksSamuel Just2013-09-144-109/+159
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* PG,ReplicatedPG: handle do_request in ReplicatedPG,PGBackendSamuel Just2013-09-145-89/+68
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: pass on dump_recovery_info to PGBackendSamuel Just2013-09-141-43/+6
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* OSD,ReplicatedPG: let PGBackend handle the temp collectionSamuel Just2013-09-146-65/+48
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* osd/: add PGBackend interfaces and stubsSamuel Just2013-09-148-4/+727
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* ReplicatedPG: Allow get_object_context caller to provide attributesSamuel Just2013-09-133-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-132-16/+0
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* FileStore: ping tphandle between each operation within a transactionSamuel Just2013-09-132-3/+13
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* WorkQueue: add a workqueue which simply runs queued GenContextsSamuel Just2013-09-131-0/+43
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* Context: add GenContext templated on the callback argumentSamuel Just2013-09-131-0/+20
| | | | Signed-off-by: Samuel Just <sam.just@inktank.com>
* Merge branch 'wip-6226'David Zafman2013-09-122-1/+8
|\
| * osd/ReplicatedPG.cc: Verify that recovery is truly completeDavid Zafman2013-09-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | Backportable change to insure that even if no new ops started or are running that indeed recovery is complete. Prevents some error condition or unforseen code path from crashing an osd. Backport: dumpling, cuttlefish Signed-off-by: David Zafman <david.zafman@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * osd/OSD.cc: Use MIN() so that we don't exceed osd_recovery_max_activeDavid Zafman2013-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | Caused by 944f3b73531af791c90f0f061280160003545c63 Fixes: #6291 Backport: dumpling Signed-off-by: David Zafman <david.zafman@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* | Merge pull request #589 from ceph/wip-6279Gregory Farnum2013-09-121-0/+1
|\ \ | |/ |/| | | mon/MDSMonitor: don't reset incarnation when creating newfs Reviewed-by: Greg Farnum <greg@inktank.com>
| * mon/MDSMonitor: don't reset incarnation when creating newfsYan, Zheng2013-09-121-0/+1
|/ | | | | | Fixes: #6279 Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
* Merge pull request #587 from kri5/masterYehuda Sadeh2013-09-112-0/+2
|\ | | | | | | | | rgw-admin: Adds --metadata-key option to help Reviwed-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw-admin: Adds --metadata-key option to helpChristophe Courtaut2013-09-112-0/+2
|/ | | | Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
* osd: bind objecter messenger to cluster addressGreg Farnum2013-09-101-0/+2
| | | | | | | | We don't want it binding to whatever willy-nilly, and as an OSD even its "client" traffic should go on the cluster address. Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* osd: name the objecter's messenger "ms_objecter" instead of "hbclient"Greg Farnum2013-09-101-1/+1
| | | | | | | Bad copypasta on initial create? Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* Objecter: rename cancel_op -> cancel_linger_opGreg Farnum2013-09-102-7/+5
| | | | | | | | This makes it possible to converse about op_cancel and cancel_linger_op without getting too confused. Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* Merge pull request #580 from ceph/wip-6033-redirectsGregory Farnum2013-09-109-51/+228
|\ | | | | Reviewed-by: Sage Weil <sage@inktank.com>
| * test: update cache test since OSDs support redirectsGreg Farnum2013-09-101-12/+12
| | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * osd: implement basic caching policies in ReplicatedPGGreg Farnum2013-09-102-17/+72
| | | | | | | | | | | | | | | | Right now these are very basic and aren't as sophisticated as we want them to end up, but we have a skeleton for where to put the decision-making logic. Signed-off-by: Greg Farnum <greg@inktank.com>
| * Objecter: follow redirect replies from the OSDGreg Farnum2013-09-101-8/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | If we get back a redirect reply, we clean up the Op's external references and re-send using the target_oloc and target_oid. To facilitate this, recalc_op_target() now only fills them in and overrides them with pool cache semantics if they're empty. Keep in mind that this is a pretty simple redirect formula -- the Objecter will keep following redirects forever if that's what the OSDs send back. The client is not providing any synchronization right now. Signed-off-by: Greg Farnum <greg@inktank.com>
| * Objecter: write a helper function to clean up ops that need to be retriedGreg Farnum2013-09-102-4/+11
| | | | | | | | | | | | | | | | We have a little block to clean them up if we get back EAGAIN, but it's actually leaking map references; we will also use this for redirects from the OSDs. Signed-off-by: Greg Farnum <greg@inktank.com>
| * MOSDOpReply: add a redirect memberGreg Farnum2013-09-101-1/+13
| | | | | | | | | | | | | | | | | | | | | | When present, clients must send the request to the location specified by the redirect (by using the combine_with_locator() function on request_redirect_t). A separate mechanism must be used to ensure that clients see and respect the redirect, as we do not bump up the minimum required version to decode. Signed-off-by: Greg Farnum <greg@inktank.com>
| * Objecter: add an Op::target_oid, and use it when submitting OpsGreg Farnum2013-09-102-2/+5
| | | | | | | | | | | | | | For now it's just a copy of base_oid, but soon we will allow it to be overwritten for OSD-driven redirects. Signed-off-by: Greg Farnum <greg@inktank.com>