summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* s/fsync/fdatasync/wip-5692Sage Weil2013-07-191-1/+1
|
* Merge remote-tracking branch 'gh/wip-swift' into nextSage Weil2013-07-193-75/+33
|\ | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| * mon/PaxosService: update on_active() docs to clarify calling rulesSage Weil2013-07-191-2/+3
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * mon/OSDMonitor: discard failure waiters, info on shutdownSage Weil2013-07-192-11/+17
| | | | | | | | | | | | | | This would prevent a leak, if we didn't assert before that in the failure_reporter_t dtor. Signed-off-by: Sage Weil <sage@inktank.com>
| * mon: OSDMonitor: only thrash and propose if we are the leaderSage Weil2013-07-191-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'thrash_map' is only set if we are the leader, so we would thrash and propose the pending value if we are the leader. However, we should keep the 'is_leader()' check not only for clarity's sake (an unfamiliar reader may cry OMGBUG, prompting to a patch much like this), but also because we may lose a subsequent election and become a peon instead, while still holding a 'thrash_map' value > 0 -- and we really don't want to propose while being a peon. [This is a rebased version of 5eac38797d9eb5a59fcff1d81571cff7a2f10e66, complete with the typo fix in d656aed599ee754646e16386ce5a4ab0117f2d6e.] Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * mon/OSDMonitor: do not wait for readable in send_latest()Sage Weil2013-07-192-59/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | send_latest() checks for readable and, if untrue, will wait before sending out the latest OSDMap. This is completely unnecessary; I think it is a hold-over from when we have independent paxos states. An audit of all callers confirms that everyone would be happy with whatever is committed, even if we are in the process of committing an even newer version. Effectively, everyone waits *above* this layer in the usual PaxosService traps for whether we are readable or not. This means that waiting_for_map and send_to_waiting() go away entirely, which is nice. This addresses, among other things: send_to_waiting() is called from update_from_paxos(), which can be called when we are not readable due to the paxos commit/finish timing changes in f1ce8d7c955a24 and c711203c0d4b. If no subsequent update happens, those waiters never get their maps. Instead, we send them immediately--we know they are committed and old history is as good as future history. Fixes: #5643 Signed-off-by: Sage Weil <sage@inktank.com>
| * Revert "mon/OSDMonitor: send_to_waiting() in on_active()"Sage Weil2013-07-191-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit f06a124a7fa0717ef8c523408b31d814df57caca. On peons, on_active() is only called when we *first* become active after an election. Only on the leader is it called after each commit/update. This makes this change cause other problems (broken subscriptions on peons, in particular). We possibly should fix that, but there is also a simpler fix for the original problem we were trying to solve. Signed-off-by: Sage Weil <sage@inktank.com>
| * Revert "mon: OSDMonitor: only thrash and propose if we are the leader"Sage Weil2013-07-191-8/+2
| | | | | | | | This reverts commit 5eac38797d9eb5a59fcff1d81571cff7a2f10e66.
| * Revert "mon/OSDMonitor: fix typo"Sage Weil2013-07-191-1/+1
| | | | | | | | This reverts commit d656aed599ee754646e16386ce5a4ab0117f2d6e.
| * mon: improve osdmap subscription debug outputSage Weil2013-07-191-0/+3
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | ceph_rest_api.py: remove unused importsDan Mick2013-07-191-3/+0
| | | | | | | | | | | | Fixes: #5684 Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | ceph.in: better error message when daemon command returns nothingDan Mick2013-07-191-0/+2
|/ | | | | | Fixes: #5683 signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* Merge remote-tracking branch 'gh/wip-stats' into nextSage Weil2013-07-193-24/+79
|\ | | | | | | Reviewed-by: Samuel Just <sam.just@inktank.com>
| * mon/PGMap: avoid negative pg stats when calculating ratesSage Weil2013-07-191-14/+25
| | | | | | | | | | | | | | | | | | We periodically see strange values come out of the estimated cluster throughput and recovery rates. Pretty sure this is cause by feeding negative values into the rate arithmetic and then giving the si_t helpers mangled (sign-extended + bit shifted) values. Signed-off-by: Sage Weil <sage@inktank.com>
| * mon/PGMap: use signed values for calculated ratesSage Weil2013-07-191-12/+12
| | | | | | | | | | | | | | | | | | si_t (and friends) does not handle signed values, but at least we can give the Formatters unmangled values. This shouldn't happen (tm), but if it does this will make things a bit less confusing and makes the code a bit less fragile. Signed-off-by: Sage Weil <sage@inktank.com>
| * osd: add floor() method to pg/osd stat structsSage Weil2013-07-191-0/+44
| | | | | | | | | | | | | | | | We often want to maintain a nonnegative value. We generalize this to floors other than zero only because it makes the function call make intuitive sense; I don't think it is at all useful. Signed-off-by: Sage Weil <sage@inktank.com>
| * osd: make pool_stat_t *log_size fields signedSage Weil2013-07-192-4/+4
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge branch 'wip-rgw-next-2' into nextGreg Farnum2013-07-1915-95/+158
|\ \ | | | | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| * | rgw: remove extra unused param from RGWRados::get_attr()Yehuda Sadeh2013-07-194-12/+6
| | | | | | | | | | | | | | | | | | No user for the extra obj_version param. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | cls_rgw: quiet down verbose log messageYehuda Sadeh2013-07-191-1/+1
| | | | | | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw: replace logic that compares regionsYehuda Sadeh2013-07-193-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic was a bit broken. Basically, we want to make sure that region names are the same. However, if region name is not set then we need to check whether it's the master region. This can happen in upgrade cases where originally we didn't have a region name set. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw-admin: link / unlink should report errorsYehuda Sadeh2013-07-191-2/+10
| | | | | | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw: fix time parsing in replica logYehuda Sadeh2013-07-191-6/+6
| | | | | | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw: bucket entry point object ver fixesYehuda Sadeh2013-07-1910-25/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | Multiple fixes: - sync master, secondary entry point ver on creation - use correct entry point version when removing entry point - check correct version on bucket removal Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw: remove s->objv_trackerYehuda Sadeh2013-07-192-18/+14
| | | | | | | | | | | | | | | | | | | | | | | | was never initialized correctly anyway. It was only supposed to be used for buckets, but it was never initialized in that case. Using s->bucket_info.objv_tracker instead. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw: forward delete bucket request to master after removalYehuda Sadeh2013-07-191-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We can only forward the bucket removal to the master if it was successfully removed locally. The master region has no knowledge about whether the bucket can be removed or not, e.g., there are still objects in the bucket. If we send it to the master first, then it'll happily remove it even though it might fail in the end. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw: adjust error for bucket removal on secondary regionYehuda Sadeh2013-07-191-1/+6
| | | | | | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw: forward x_amz_meta headers when forwarding a requestYehuda Sadeh2013-07-191-0/+5
| | | | | | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw: fix bucket re-creation on secondary regionYehuda Sadeh2013-07-191-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | We had a problem with bucket recreation, where we identified that bucket has already existed, but missed the fact that it's the same bucket, so removal of the bucket index was wrong. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | mon/MonClient: fix small leakSage Weil2013-07-191-0/+1
| | | | | | | | | | | | | | | | | | We need to delete the version_req_d here. Signed-off-by: Sage Weil <sage@inktank.com>
| * | msgr: mark addr-based [lazy_]send_message and get_connection deprecatedSage Weil2013-07-191-0/+9
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | client: mark_down by conSage Weil2013-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We have the con handy; use it. This avoids generate a spurious RESET event, which we do not need or do anything useful with. Note that in this case we are not attaching anything to the Connection priv field. Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon: mark_down session by con, not addrSage Weil2013-07-191-5/+5
| | | | | | | | | | | | | | | | | | | | | We have the ConnectionRef here; use it. This avoids generating a spurious RESET event for the connection. Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon: break con <-> session ref cycle in mon even if shutting downSage Weil2013-07-191-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | If we get a reset during shutdown, we should still break the cycle to avoid tripping the valgrind leak detection. Note that we are touching no internal Monitor state here and the locking has not changed. Signed-off-by: Sage Weil <sage@inktank.com>
| * | msg/SimpleMessenger: remove duplicated interface docsSage Weil2013-07-192-218/+17
| | | | | | | | | | | | | | | | | | | | | Document these in the interface, not the implementation; having two copies clutters the header and invites them to get out of sync. Signed-off-by: Sage Weil <sage@inktank.com>
| * | msgr: update docs for mark_down, mark_down_all semanticsSage Weil2013-07-191-16/+26
| | | | | | | | | | | | | | | | | | | | | | | | * RESET events * note that the reset detection only happens if it is enabled in the policy. Signed-off-by: Sage Weil <sage@inktank.com>
| * | msgr: generate reset event on mark_down to addr (not con)Sage Weil2013-07-191-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | If the caller is marking down an addr, they presumably don't have the Connection* handy, so we should generate a reset event to help them clean up con <-> session ref cycles. Signed-off-by: Sage Weil <sage@inktank.com>
| * | osd/ReplicatedPG: fix obc leak on invalid LIST_SNAPS opSage Weil2013-07-191-0/+1
| | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | osd: break con <-> session cycle when marking down old peersSage Weil2013-07-191-1/+3
| | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | osd: make ms_handle_reset debug more usefulSage Weil2013-07-191-1/+1
| | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* | | mon/PGMap: don't mangle stamp_delta in clear_delta()Sage Weil2013-07-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a delta, not a timestamp. This triggered when a cluster is idle for 2* the mon_delta_reset_interval, and required a mon restart to fix. Backport: cuttlefish Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* | | osd: log PG state changes at level 5Sage Weil2013-07-191-2/+2
| | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* | | ReplicatedPG: track temp collection contents, clear during on_changeSamuel Just2013-07-192-3/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | We also assert in on_flushed() that the temp collection is actually empty. Fixes: #5670 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | | PG, ReplicatedPG: pass a transaction down to ReplicatedPG::on_changeSamuel Just2013-07-194-7/+10
| |/ |/| | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | mon/MonClient: better debugging on version requestsSage Weil2013-07-191-3/+8
| | | | | | | | | | | | From leak hunting, but useful. Signed-off-by: Sage Weil <sage@inktank.com>
* | msg/Pipe: work around incorrect features reported by earlier versionsSage Weil2013-07-192-5/+35
| | | | | | | | | | | | | | | | | | | | If we see a peer reporting features ~0ull, we know they are deluded in a particular way and should infer what features they *actually* have. Do this right when the features come over the wire to catch all users. Fixes: #5655 Signed-off-by: Samuel Just <sam.just@inktank.com> Signed-off-by: Sage Weil <sage@inktank.com>
* | Message,OSD,PG: make Connection::features privateSage Weil2013-07-193-8/+10
| | | | | | | | | | | | | | Use has_feature() method too. Signed-off-by: Samuel Just <sam.just@inktank.com> Signed-off-by: Sage Weil <sage@inktank.com>
* | test: update cli test for radosgw-adminYehuda Sadeh2013-07-191-0/+2
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | Merge pull request #448 from kri5/wip-5416Yehuda Sadeh2013-07-192-0/+4
|\ \ | | | | | | | | | | | | rgw: Adds --rgw-zone --rgw-region help text. Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
| * | rgw: Adds --rgw-zone --rgw-region help text.Christophe Courtaut2013-07-192-0/+4
|/ / | | | | | | Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>