summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* rgw: gracefully handle bad root pool nameswip-5716Yehuda Sadeh2013-10-152-26/+60
| | | | | | | | Fixes: #5716 When invalid root pools specified (don't start with a period) we return with an error instead of asserting. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* os/LevelDBStore: handle deletion race when checking store sizeSage Weil2013-10-151-1/+3
| | | | | | | | | This fixes the fix in 64774e5792f136df2bc78db686440fc2f3a7643f which mixed up the return value and errno. Fixes: #6550 Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
* Merge pull request #718 from ceph/wip-6553Sage Weil2013-10-151-1/+1
|\ | | | | | | | | rgw: fix authenticated users acl group check Reviewed-by: Sage Weil <sage@inktank.com>
| * rgw: fix authenticated users acl group checkwip-6553Yehuda Sadeh2013-10-151-1/+1
| | | | | | | | | | | | | | | | | | Fixes: #6553 Backport: bobtail, cuttlefish, dumpling Authenticated users group acl bit was not working correctly. Check to test whether user is anonymous was wrong. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* | rgw: change default log levelYehuda Sadeh2013-10-151-1/+1
| | | | | | | | | | | | | | | | | | Fixes: #6554 Backport: cuttlefish, dumpling Default log level was just too high, bring it down a bit. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | Merge pull request #720 from liewegas/wip-6521Sage Weil2013-10-152-1/+5
|\ \ | |/ |/| | | | | mon/PGMonitor: set floor below which we do not warn about objects/pg Reviewed-by: Greg Farnum <greg@inktank.com>
| * mon/PGMonitor: set floor below which we do not warn about objects/pgSage Weil2013-10-152-1/+5
|/ | | | | | | | | | | | | If a cluster has very few objects, do not generate warnings when the objects/pg for a pool diverges from the cluster average. This avoids spurious errors when you have a relatively empty cluster and a lone pool with a modest number of objects is too far off the (mostly meaningless) cluster-wide average. Also include a per-pool min so we ignore mostly-empty pools. Fixes: #6521 Signed-off-by: Sage Weil <sage@inktank.com>
* Merge pull request #596 from ceph/wip-6147Sage Weil2013-10-145-77/+433
|\ | | | | | | | | mon: keep track of per-pool stats Reviewed-by: Sage Weil <sage@inktank.com>
| * mon: OSDMonitor: add 'osd pool stats' commandJoao Eduardo Luis2013-10-152-0/+103
| | | | | | | | | | | | Fixes: #6147 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * mon: PGMap: rework client IO rate calc and outputJoao Eduardo Luis2013-10-152-33/+78
| | | | | | | | | | | | | | Create a function so we can use the same format when outputting per-pool stats Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * mon: PGMap: reuse existing summary functions to output pool statsJoao Eduardo Luis2013-10-153-25/+71
| | | | | | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * mon: PGMap: keep track of per-pool stats deltasJoao Eduardo Luis2013-10-153-19/+181
|/ | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* rgw: swift update obj metadata also add generic attrsYehuda Sadeh2013-10-141-0/+7
| | | | | | | | | Fixes: #6462 We were missing the generic attributes when we updated the object metadata (operation that only exists in the swift api). Reviewed-by: Josh Durgin <josh.durgin@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
* Merge branch 'wip-6444' into nextYehuda Sadeh2013-10-112-2/+10
|\ | | | | | | Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * librados: add some clarifying commentsYehuda Sadeh2013-10-111-1/+6
| | | | | | | | | | | | about async pool operation handle Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * librados: drop reference to completion in container destructorYehuda Sadeh2013-10-111-1/+4
| | | | | | | | | | | | | | | | | | Move the PoolAsyncCompletionImpl reference drop from C_PoolAsync_Safe::finish() to ~C_PoolAsyncSafe(), as finish() is only called when the async request is actually sent. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
* | Go back to $PWD in fsstress.sh if compiling from source.Sandon Van Ness2013-10-081-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although fsstress was being called with a static path the directory it was writing to was in the current directory so doing a cd to the source directory that is made in /tmp and then removing it later caused it to be unable to write the files in a non-existent dir. This change gets the current path first and cd's back into it after it is done compiling fsstress. Issue #6479. Signed-off-by: Sandon Van Ness <sandon@inktank.com> Reviewed-by: Alfredo Deza <alfredo.deza@inktank.com>
* | ReplicatedPG: copy: use aggregate return code instead of individual Op returnwip-rvalGreg Farnum2013-10-071-4/+3
| | | | | | | | | | | | | | | | | | | | It appears that the OSD is not filling in the individual return codes, and they should be equivalent for all purposes we care about here (the only Op we are doing is the copy-get, and if it fails we are getting its failure code). Reported-by: Sage Weil <sage@inktank.com> Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* | os/FileStore: fix ENOENT error code for getattrs()Sage Weil2013-10-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | In commit dc0dfb9e01d593afdd430ca776cf4da2c2240a20 the omap xattrs code moved up a block and r was no longer local to the block. Translate ENOENT -> 0 to compensate. Fix the same error in _rmattrs(). Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Greg Farnum <greg@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* | Merge pull request #695 from ceph/wip-mon-authJoão Eduardo Luís2013-10-071-2/+2
|\ \ | | | | | | | | | | | | fix mon double-free when dropping unhandled messages, and allow "get monmap" messages to go through without authenticating for MonCliente::get_monmap_privately() Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * | mon: allow MMonGetMap without authenticationSage Weil2013-10-061-1/+2
| | | | | | | | | | | | | | | | | | This is used by the MonClient::get_monmap_privately() helper. Signed-off-by: Sage Weil <sage@inktank.com>
| * | mon: do not put() unhandle messageSage Weil2013-10-061-1/+0
|/ / | | | | | | | | | | | | If we return false because we aren't handling a message, we should not put the ref. This fixes a double-free. Signed-off-by: Sage Weil <sage@inktank.com>
* | mon/PGMap: make generated test instances obey new invariantSage Weil2013-10-041-0/+2
| | | | | | | | | | | | | | As of 091809b8149c7595cbcca439c5b8b75a0c42efe1 we keep an osd_map epoch for any osd_stat update, and assert as much. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge branch 'next'Gary Lowell2013-10-052-1/+7
|\ \
| * | v0.70v0.70mark-v0.70-wipGary Lowell2013-10-042-1/+7
| | |
* | | doc/release-notes: v0.67.4Sage Weil2013-10-042-0/+584
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge pull request #676 from ceph/wip-start-copyGregory Farnum2013-10-042-77/+167
|\ \ \ | | | | | | | | Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | ReplicatedPG: copy: add op progression outputGreg Farnum2013-10-041-0/+1
| | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: don't leak a ctx on failed copy opsGreg Farnum2013-10-041-3/+2
| | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: assert that we have succeeded in do_osd_ops on copyfrom repeatsGreg Farnum2013-10-041-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | Our callback is handling errors on its own at this point. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: switch CopyCallback to use a GenContextGreg Farnum2013-10-042-48/+42
| | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: rename finish_copy -> finish_copyfromGreg Farnum2013-10-012-3/+3
| | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: use CopyCallback instead of CopyOp in OpContextGreg Farnum2013-10-012-21/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to make this happen, we make the switch to generate the complete transaction in the generic copy code and save it into the Callback. Then in finish_copy() we just take that transaction and prepend it to the existing transaction. With that change, and by making use of the existing CopyCallback data, we no longer need to access the CopyOp from the OpContext, so we can remove it. Hurray, the pipelines are now independent! Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: implement CopyFromCallback::finish, remove CopyOp::ctxGreg Farnum2013-10-012-12/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We implement enough of the CopyFromCallback that CopyOp no longer needs a direct reference to the OpContext, so we remove it and replace all references with calls to cop->cb->complete(). Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: add CopyCallback pointer to CopyOp, and set it upGreg Farnum2013-10-012-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We'll start using it in the next commit; eventually we can use the interfaces we're putting their to replace our link to the OpContext. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: start defining CopyCallback structuresGreg Farnum2013-10-011-0/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Outline the basic interfaces we're going to use, and implement the more obvious ones. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: split up the transaction generation from the PG managementGreg Farnum2013-10-012-8/+22
| | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: specify the temp_oid in the callerGreg Farnum2013-10-012-7/+13
| | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: take an ObjectContextRef in start_copy and use thatGreg Farnum2013-10-012-6/+6
| | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: add an ObjectContextRef to CopyOpGreg Farnum2013-10-012-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | Use that instead of the OpContext::obc in copy codepaths. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: follow the same finish path for failed copy opsGreg Farnum2013-10-011-30/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't necessarily want to respond to clients with a failure if a copy got an error code. Instead, conditionally execute the success path and always launch back into execute_ctx() when the copy has stopped (either due to completion or failure). Update the COPY_FROM section so it returns the CopyOp::rval (instead of always zero) and only launches finish_copy() on success. Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: remove most references to OpContext from process_copy_chunkGreg Farnum2013-10-011-9/+10
| | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: copy: do not use an OpContext in _copy_someGreg Farnum2013-10-012-6/+6
| | | | | | | | | | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * | | ReplicatedPG: update pg stats correctly when doing a copyGreg Farnum2013-10-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The obs.oi.size needs to updated in the middle so that we actually change the stats -- this got set backwards by mistake during one of the refactors to support large objects! (See 4e29e362e7981634d751ee982144fbf602782a9a) Signed-off-by: Greg Farnum <greg@inktank.com>
* | | | Merge pull request #667 from ceph/wip-6143David Zafman2013-10-043-74/+141
|\ \ \ \ | | | | | | | | | | Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | common, os: Perform xattr handling based on detected fs typeDavid Zafman2013-10-043-5/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In FileStore::_detect_fs() store discovered filesystem type in m_fs_type Add per-filesystem filestore_max_inline_xattr_size_* variants Add per-filesystem filestore_max_inline_xattrs_* variants New function set_xattr_limits_via_conf() Set m_filestore_max_inline_xattr_size based on override or fs type Set m_filestore_max_inline_xattrs based on override or fs type Handle conf change of any relevant value by calling set_xattr_limits_via_conf() Change filestore_max_inline_xattr_size to override if non-zero Change filestore_max_inline_xattrs to override if non-zero Fixes: #6143 Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | | | common,os: Remove filestore_xattr_use_omap optionDavid Zafman2013-10-042-70/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now we operate just like when this was set to true Fixes: #6143 Signed-off-by: David Zafman <david.zafman@inktank.com>
* | | | | Merge pull request #692 from ceph/wip-5992-2athanatos2013-10-0413-83/+375
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wip 5992 2 Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | | ReplicatedPG: lock snapdir obc during writeSamuel Just2013-10-042-4/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, we won't block properly in prep_push_backfill_object. Signed-off-by: Samuel Just <sam.just@inktank.com>
| * | | | | PGLog: on split, leave log head aloneSamuel Just2013-10-042-7/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This way last_update doesn't go backwards. Fixes: 6447 Signed-off-by: Samuel Just <sam.just@inktank.com>