summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac: Add release candidate flag.wip-build-testGary Lowell2013-07-231-1/+5
| | | | | | | Add an optional release candidate flag that is prepended to the rpm release string. Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
* ceph-fuse: disable getgroups_cbSage Weil2013-07-231-0/+14
| | | | | | It's broken. See #5729. Signed-off-by: Sage Weil <sage@inktank.com>
* doc/release-notes: v0.67-rc1Sage Weil2013-07-232-30/+92
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* Merge branch 'next'Gary Lowell2013-07-221-4/+2
|\
| * Merge branch 'next' of github.com:ceph/ceph into nextGary Lowell2013-07-2232-78/+308
| |\
| | * qa/workunits/rest/test: cluster_down/up are now idempotentSage Weil2013-07-221-4/+2
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge branch 'next'Gary Lowell2013-07-222-1/+7
|\ \ \ | |/ /
| * | v0.67-rc1v0.67-rc1Gary Lowell2013-07-222-1/+7
| | |
* | | Merge pull request #459 from ceph/unused-spinlockSage Weil2013-07-222-5/+0
|\ \ \ | | | | | | | | | | | | | | | | log: remove unused lock Reviewed-by: Sage Weil <sage@inktank.com>
| * | | log: remove unused lockNoah Watkins2013-07-222-5/+0
|/ / / | | | | | | | | | | | | | | | m_lock is initialized and destroyed, but never used. Signed-off-by: Noah Watkins <noahwatkins@gmail.com>
* | | Merge remote-tracking branch 'gh/next'Sage Weil2013-07-2233-96/+344
|\ \ \ | | |/ | |/| | | | | | | Conflicts: PendingReleaseNotes
| * | Merge pull request #457 from ceph/wip-paxosSage Weil2013-07-224-15/+91
| |\ \ | | | | | | | | | | | | | | | | | | | | paxos fixes Reviewed-by: Greg Farnum <greg@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * | mon/Paxos: add failure injection pointsSage Weil2013-07-222-0/+21
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mon/Paxos: fix pn for uncommitted value during collect/last phaseSage Weil2013-07-221-2/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the collect/last exchange, peers share any uncommitted values with the leader. They are supposed to also share the pn under which that value was accepted, but were instead using the just-accepted pn value. This effectively meant that we *always* took the uncommitted value; if there were multiples, which one we accepted depended on what order the LAST messages arrived, not which pn the values were generated under. The specific failure sequence I observed: - collect - learned uncommitted value for 262 from myself - send collect with pn 901 - got last with pn 901 (incorrect) for 200 (old) from peer - discard our own value, remember the other - finish collect phase - ignore old uncommitted value Fix this by storing a pending_v and pending_pn value whenever we accept a value. Use this to send an appropriate pn value in the LAST reply so that the leader can make it's decision about which uncommitted value to accept based on accurate information. Also use it when we learn the uncommitted value from ourselves. We could probably be more clever about storing less information here, for example by omitting pending_v and clearing pending_pn at the appropriate point, but that would be more fragile. Similarly, we could store a pn for *every* commit if we wanted to lay some groundwork for having multiple uncommitted proposals in flight, but I don't want to speculate about what is necessary or sufficient for a correct solution there. Fixes: #5698 Backport: cuttlefish, bobtail Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mon/Paxos: debug ignored uncommitted valuesSage Weil2013-07-221-11/+17
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mon/Paxos: only learn uncommitted value if it is in the futureSage Weil2013-07-221-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If an older peer sends an uncommitted value, make sure we only take it if it is in the future, and at least as new as any current uncommitted value. (Prior to the previous patch, peers could send values from long-past rounds. The pn values are also bogus.) Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mon/Paxos: only share uncommitted value if it is nextSage Weil2013-07-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We may have an uncommitted value from our perspective (it is our lc + 1) when the collector has a much larger lc (because we have been out for the last few rounds). Only share an uncommitted value if it is in fact the next value. Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mon/Paxos: accepted_pn_from has no semantic meaningSage Weil2013-07-221-2/+3
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| | * | ceph-monstore-tool: dump paxos transactionsSage Weil2013-07-222-1/+15
| | |/ | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | osd/ReplicatedPG: drop repop refs in ~SnapTrimmerSage Weil2013-07-222-0/+9
| | | | | | | | | | | | | | | | | | | | | This fixes a leak on shutdown. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | FileStore: disable fd cacher and wbthrottle during replaySamuel Just2013-07-222-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fd cache only works correctly when there is at most 1 inode per hobject_t. This condition is frequently violated during replay. Fixes: #5699 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | PGLog::merge_log, unidex() only works from tail, we index() below anywaySamuel Just2013-07-221-1/+0
| | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | PGLog::rewind_divergent_log: unindex only works from tail, index() insteadSamuel Just2013-07-221-1/+1
| | | | | | | | | | | | | | | | | | Fixes: #5714 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | src/test/osd/TestPGLog.cc: check that the object remains in log.objectsSamuel Just2013-07-221-3/+8
| | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | rgw: swift, in create bucket set location_constraintsYehuda Sadeh2013-07-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | For swift we're setting the location constraint to be the current region we're in when creating a bucket. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * | rgw: translate swift request to s3 when forwardingYehuda Sadeh2013-07-227-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When forwarding a swift request to a different region, we need to use the effective uri, and not just send the one we got since we use S3 authentication for the forwarded requests. This is achieved through a new using 'effective_uri' param on the request info (which in swift ponts to the plain bucket/object uri without the swift/v1 prefix(. Also, rename the old req_state::effective_uri to relative_uri in order to prevent confusion. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>
| * | Merge remote-tracking branch 'gh/wip-5624-b' into nextSage Weil2013-07-227-29/+42
| |\ \ | | | | | | | | | | | | Reviewed-by: David Zafman <david.zafman@inktank.com>
| | * | mon, mds, osd: add early SIGTERM injectionSage Weil2013-07-204-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it easy to identify problems with (early) shutdown with a loop like while [ ! -e core ] ; do ./ceph-mds -i a -c ceph.conf -f ; done and a vstart cluster. Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mds: put g_ceph_context on shutdownSage Weil2013-07-201-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | This makes us shut down lots of threads. Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mon: shutdown: remove sessions under mon->lockSage Weil2013-07-201-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mds: reorder suicide/shutdown a bitSage Weil2013-07-201-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * shutdown msgr last * stop timer quickly, in case there are other events Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mds: install signal handlers after initSage Weil2013-07-201-9/+10
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| | * | mon: install signal handlers after initSage Weil2013-07-201-4/+4
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| | * | osd: do not assume we have an osdmap in prepare_to_stopSage Weil2013-07-201-3/+4
| | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| | * | osd: install async signal handlers after init()Sage Weil2013-07-201-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | The orderly shutdown in OSD assumes init() has completed. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | Merge pull request #458 from ceph/wip-5693Gregory Farnum2013-07-2210-17/+111
| |\ \ \ | | | | | | | | | | | | | | | Wip 5693 Reviewed-by: Greg Farnum <greg@inktank.com>
| | * | | PendingReleaseNotes: update about new rgw copy obj responseYehuda Sadeh2013-07-221-0/+6
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| | * | | rgw: add some commentsYehuda Sadeh2013-07-222-0/+6
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| | * | | rgw: dump progress through swift object copyYehuda Sadeh2013-07-222-6/+32
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| | * | | rgw: send data back when copying objectYehuda Sadeh2013-07-227-11/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently doing it only when copying between regions. This is needed so that the operation doesn't time out (as it can take a long time and the web server may just hang on us since we're not sending any data). This is configurable and can be disabled. Currently only implemented for S3. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | ceph.in: reject --admin-daemon so it can't do harmDan Mick2013-07-221-0/+7
| | |_|/ | |/| | | | | | | | | | | | | | Fixes: #3944 Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * | | FileJournal: fix posix_fallocate error handlingNoah Watkins2013-07-221-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | From the man page for posix_fallocate: posix_fallocate() returns zero on success, or an error number on failure. Note that errno is not set. Signed-off-by: Noah Watkins <noahwatkins@gmail.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | | OSD::_make_pg: use createmap, not osdmapSamuel Just2013-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The osd lock is not held at this point, we must use the createmap passed in. Fixes: #5656 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | | rgw: read attributes when reading bucket entry pointYehuda Sadeh2013-07-223-16/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #5691 We need to also read the attributes, as bucket might be a legacy bucket and might have all bucket instance info in that object. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com> Tested-by: Faidon Liambotis <faidon@wikimedia.org>
* | | | src/*: make Context::finish private and switch all users to use completeSamuel Just2013-07-2218-115/+61
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com> Fixes: Sage Weil <sage@inktank.com>
* | | | Merge remote-tracking branch 'upstream/next'Samuel Just2013-07-2252-367/+599
|\ \ \ \ | |/ / /
| * | | OSD::RemoveWQ: do not apply_transaction while blocking _try_resurrect_pgSamuel Just2013-07-222-19/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some callbacks take the osd lock, so we need to avoid blocking an osd lock holding thread while waiting on a filestore callback. Instead, just queue the transaction, and allow _try_resurrect_pg to cancel us while we are waiting for the transaction to go through (CLEARING_WAITING). Fixes: #5672 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | | FileStore: use complete() instead of finish() and deleteSamuel Just2013-07-221-4/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | | Finisher: use complete() not finish() and deleteSamuel Just2013-07-221-4/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
| * | | common/Cond.h: add a simpler C_SaferCond ContextSamuel Just2013-07-221-0/+32
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>