summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: swift update obj metadata also add generic attrswip-6462Yehuda Sadeh2013-10-041-0/+7
| | | | | | | | Fixes: #6462 We were missing the generic attributes when we updated the object metadata (operation that only exists in the swift api). Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* Merge pull request #557 from ceph/wip-5896Sage Weil2013-10-031-7/+32
|\ | | | | | | | | mon: MonmapMonitor: make 'ceph mon add' idempotent Reviewed-by: Sage Weil <sage@inktank.com>
| * mon: MonmapMonitor: make 'ceph mon add' idempotentJoao Eduardo Luis2013-10-031-7/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MonMap changes lead to bootstraps. Callbacks waiting for a proposal to finish can have several fates, depending on what happens: finished, rerun or aborted. In the case of a bootstrap right after a monmap change, callbacks are rerun. Considering we queued the message that lead to the monmap change on this queue, if we instead of finishing it end up reruning it, we will end up trying to perform the same modification twice -- the last one will try to modify an already existing state and we will return just that: whatever you're attempting to do has already been done. This patch makes 'ceph mon add' completely idempotent. If one tries to add an already existing monitor (i.e., same name, same ip:port), one simply gets a 'monitor foo added', with return 0, no matter how many times one runs the command. Fixes: #5896 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* | Merge pull request #653 from ceph/wip-mon-authSage Weil2013-10-032-90/+118
|\ \ | | | | | | | | | | | | mon: Monitor: dissociate msg handling from session and connection logic Reviewed-by: Sage Weil <sage@inktank.com>
| * | mon: Monitor: reuse 'src_is_mon' bool on dispatchJoao Eduardo Luis2013-10-031-1/+1
| | | | | | | | | | | | | | | | | | Instead of making the same comparison twice with no gain at all. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | mon: Monitor: only handle paxos msgs from a mon && if session has exec capsJoao Eduardo Luis2013-10-031-1/+1
| | | | | | | | | | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | mon: Monitor: dissociate msg handling from session & connection logicJoao Eduardo Luis2013-10-032-50/+61
| | | | | | | | | | | | | | | | | | Makes for simpler logic for patches to come. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | mon: Monitor: drop client msg if no session exists and msg is not MAuthJoao Eduardo Luis2013-10-031-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | If we are not a monitor and we don't have a session yet, we must first authenticate with the cluster. Therefore, the first message to the monitor must be an MAuth. If not, we assume it's a stray message and just drop it. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | mon: Monitor: assert on absense of connection during dispatchJoao Eduardo Luis2013-10-031-40/+44
| | | | | | | | | | | | | | | | | | | | | We expect to always have a connection associated with a message. If that happens to not be so, assert. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* | | Merge pull request #677 from ceph/wip-store-toolSage Weil2013-10-022-9/+83
|\ \ \ | | | | | | | | | | | | | | | | wip-store-tool: Few patches to ceph_test_store_tool Reviewed-by: Sage Weil <sage@inktank.com>
| * | | ceph_test_store_tool: add 'set prefix key' featureJoao Eduardo Luis2013-10-022-2/+54
| | | | | | | | | | | | | | | | | | | | | | | | Allow reading from a file. See --help for more info. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | | test: test_store_tool: optionally output value crc when listing keysJoao Eduardo Luis2013-10-021-4/+11
| | | | | | | | | | | | | | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | | test: test_store_tool: add 'crc <prefix> <key>' commandJoao Eduardo Luis2013-10-021-3/+18
| | | | | | | | | | | | | | | | | | | | | | | | Returns the CRC of contents for a given key with a given prefix. Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* | | | Merge pull request #680 from dmick/nextSage Weil2013-10-021-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | mon/PGMap.cc: don't output header for pg dump_stuck if nothing stuck Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | mon/PGMap.cc: don't output header for pg dump_stuck if nothing stuckDan Mick2013-10-011-1/+2
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | Formatted output is already correct (no header) Fixes: #4577 Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | | | crush: invalidate rmap on create (and thus decode)Sage Weil2013-10-012-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we have an existing CrushWrapper object and decode from a bufferlist, reset build_rmaps so that they get rebuilt. Remove the build_rmaps() all in decode that was useless on a redecode (because have_rmaps == true in that case and it did nothing). Fixes: #6442 Backport: dumpling, maybe cuttlefish Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
* | | | Merge pull request #666 from dmick/wip-6384Alfredo Deza2013-10-011-0/+6
|\ \ \ \ | | | | | | | | | | ceph.in: clean up error message when missing required parameter
| * | | | ceph_argparse.py: clean up error reporting when required param missingDan Mick2013-09-301-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Treat "need 1, got 0" as a special case, and change the message to "missing required parameter <x>". Also, when failing for that reason, print the command concise description and its helptext. Fixes: #6384 Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | | | | Merge pull request #664 from ceph/wip-6445Josh Durgin2013-09-301-0/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | Wip 6445 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * | | | | rgw: fix leak in RGWMetadataManager::remove()wip-6445Yehuda Sadeh2013-09-301-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport: dumpling Fixes: #6445 handler->get() returns a newly allocated obj, need to delete it when done. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | | | | | Merge pull request #665 from ceph/wip-6444Josh Durgin2013-09-304-6/+11
|\ \ \ \ \ \ | |_|/ / / / |/| | | | | | | | | | | Wip 6444 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * | | | | PendingReleaseNotes: update regarding librados changeYehuda Sadeh2013-09-302-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix related to issue #6444 Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | | rgw: drop async pool create completion referenceYehuda Sadeh2013-09-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6444 Backport: dumpling If pool creation fails (e.g., due to -EEXIST) then we leak the completion object. Earlier we couldn't just drop the reference, as librados have already removed the internal completion object. This fix drop the completion reference even if got an error, which is now possible. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | | librados: pool async create / delete does not delete completion handleYehuda Sadeh2013-09-301-2/+0
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport: dumpling The pool async delete / create function used to delete the internal completion object. However, caller still holds the allocated completion object, which it can't drop a reference to (as it'd try to deallocate the already freed internal object). This fix removes the internal object deletion, a following commit will fix a related leak (#6444) by having the application (radosgw) drop the reference even if got an error. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | | | | Merge pull request #662 from dmick/nextAlfredo Deza2013-09-307-7/+6
|\ \ \ \ \ | |/ / / / |/| | | | Invoke python with /usr/bin/env python instead of directly
| * | | | Invoke python with /usr/bin/env python instead of directlyDan Mick2013-09-307-7/+6
|/ / / / | | | | | | | | | | | | | | | | Fixes: #6311 Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | | | rbd.cc: propagate some errors to user-space when they're availableJoao Eduardo Luis2013-09-301-55/+55
|/ / / | | | | | | | | | | | | | | | | | | | | | There was a bunch of situations in which we would have a proper error to propagate to user-space but we would always return '1' (EXIT_FAILURE). Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com> (cherry picked from commit 7e722245a717038c49f432ae19d9874c25066bb6)
* | | Merge pull request #658 from dmick/nextSage Weil2013-09-271-1/+1
|\ \ \ | | | | | | | | | | | | | | | | ceph.in: fix missing exception variable in failure to open -o file Reviewed-by: Sage Weil <sage@inktank.com>
| * | | ceph.in: fix missing exception variable in failure to open -o fileDan Mick2013-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | Fixes: #6424 Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | | | Merge pull request #657 from ceph/wip-6397Josh Durgin2013-09-272-4/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | Wip 6397 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * | | rgw: don't append NULL char before json parsingYehuda Sadeh2013-09-271-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Parser handles that by itself. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | ceph_json: use different string constructor for parser bufferYehuda Sadeh2013-09-271-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6397 Previous implementation did not user the constructor with the length param. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | | | qa: workunits: mon: test snaps ops using rbd.Joao Eduardo Luis2013-09-271-0/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Regression test for #6047 Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com> (cherry picked from commit b2b0f202ea8a0028e7e27664b3ea6b9b8cdafe6e)
* | | | common/crc32c_intel_fast: avoid reading partial trailing wordSage Weil2013-09-271-1/+17
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The optimized intel code reads in word-sized chunks, knowing that the allocator will only hand out memory in word-sized increments. This makes valgrind unhappy. Whitelisting doesn't work because for some reason there is no caller context (probably because of some interaction with yasm?). Instead, just use the baseline code for the last few bytes. This should not be significant. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com> (cherry picked from commit 39c89dcfed0587f822e2226f2de8e4092449af29) Conflicts: src/test/common/test_crc32c.cc
* | | Merge pull request #648 from dmick/wip-6425Sage Weil2013-09-263-5/+28
|\ \ \ | | | | | | | | | | | | | | | | ceph_argparse.py, cephtool/test.sh: fix blacklist with no nonce Reviewed-by: Sage Weil <sage@inktank.com>
| * | | ceph_argparse.py, cephtool/test.sh: fix blacklist with no nonceDan Mick2013-09-263-5/+28
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's legal to give a CephEntityAddr to osd blacklist with no nonce, so allow it in the valid() method; also add validation of any nonce given that it's a long >= 0. Also fix comment on CephEntityAddr type description in MonCommands.h, and add tests for invalid nonces (while fixing the existing tests to remove the () around expect_false args). Fixes: #6425 Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | | Merge pull request #646 from liewegas/wip-6385Josh Durgin2013-09-261-0/+3
|\ \ \ | | | | | | | | | | | | | | | | qa/run_xfstests.sh: use old xfstests until we adapt to new org Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * | | qa/run_xfstests.sh: use old xfstests until we adapt to new orgSage Weil2013-09-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests were rearranged upstream; use an old version for the time being until we can refactor run_xfstests.sh to cope. See #6385 Signed-off-by: Sage Weil <sage@inktank.com>
* | | | Merge pull request #647 from ceph/wip-ceph-cli-envJosh Durgin2013-09-261-1/+3
|\ \ \ \ | |/ / / |/| | | | | | | | | | | improve ceph clie CEPH_ARGS handling Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * | | Revert "ceph: parse CEPH_ARGS environment variable"Sage Weil2013-09-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 67a95b9880c9bc6e858150352318d68d64ed74ad. We now put CEPH_ARGS in the actual args we parse in python, which are passed to rados piecemeal later. This lets you put things like --id ... in there that need to be parsed before librados is initialized.
| * | | Add CEPH_ARGS at the end of sys.argvBenoît Knecht2013-09-261-0/+3
|/ / / | | | | | | | | | | | | | | | | | | | | | This allows, for instance, to pass a different client name to ceph by exporting CEPH_ARGS="--id client_id". Signed-off-by: Benoît Knecht <benoit.knecht@fsfe.org> Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge pull request #645 from liewegas/wip-6346Gregory Farnum2013-09-261-0/+3
|\ \ \ | | | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| * | | osd/ReplicatedPG: fix bl resize on write vs truncate raceSage Weil2013-09-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we resize the write due to the funky truncate behavior, we need to resize the bufferlist to match. Fixes: #6346 Signed-off-by: Sage Weil <sage@inktank.com>
* | | | mon: OSDMonitor: do not write full_latest during trimJoao Eduardo Luis2013-09-261-2/+6
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On commit 81983bab we patched OSDMonitor::update_from_paxos() such that we write the latest full map version to 'full_latest' each time the latest full map was built from the incremental versions. This change however clashed with OSDMonitor::encode_trim_extra(), which also wrote to 'full_latest' on each trim, writing instead the version of the *oldest* full map. This duality of behaviors could lead the store to an inconsistent state across the monitors (although there's no sign of it actually imposing any issues besides rebuilding already existing full maps on some monitors). We now stop OSDMonitor::encode_trim_extra() from writing to 'full_latest'. This function will still write out the oldest full map it has in the store, but it will no longer write to full_latest, instead leaving it up to OSDMonitor::update_from_paxos() to figure it out -- and it already does. Fixes: #6378 Backport: dumpling Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | | common/crc32c_intel_fast: fix compile-time #ifdefSage Weil2013-09-261-1/+1
|/ / | | | | | | | | | | | | | | This wasn't getting built in! Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com> (cherry picked from commit 3233336cc3b6c2c1e89fe6c6d21d42e0f2cce142)
* | qa/workunits/mon/crush_ops.sh: fix testSage Weil2013-09-251-1/+1
| | | | | | | | | | | | | | Fix root. Fixes: #6392 Signed-off-by: Sage Weil <sage@inktank.com>
* | mon/OSDMonitor: fix 'ceph osd crush reweight ...'Sage Weil2013-09-242-1/+10
| | | | | | | | | | | | | | | | | | | | | | The adjust method returns a count of adjusted items. Add a test. Fixes: #6382 Backport: dumpling Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
* | osd: change warn_interval_multiplier to uint32_tLoic Dachary2013-09-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | to prevent overflow in OpTracker::check_ops_in_flight when multiplying warn_interval_multiplier *= 2 Backport: cuttlefish, dumpling http://tracker.ceph.com/issues/6370 fixes #6370 Signed-off-by: Loic Dachary <loic@dachary.org> (cherry picked from commit 1bce1f009bffd3e28025a08775fec189907a81db)
* | arch/intel: fix old commentSage Weil2013-09-241-1/+0
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | arch/intel: use intel probe instructions for x86_64 onlySage Weil2013-09-242-4/+4
| | | | | | | | | | | | | | | | Not LP64, which includes ppc64 and clearly does not build. Fixes: #6283 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com>