summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* osd/ReplicatedPG: set reply versions for pg ops (PGLS)wip-6222Sage Weil2013-09-031-0/+1
| | | | | | | Returning the current version for the pgid and last_user_version makes some sense here. Signed-off-by: Sage Weil <sage@inktank.com>
* osd/ReplicatedPG: set reply versions on dup op ACKSage Weil2013-09-031-0/+1
| | | | | | | | All other MOSDOpReply creators do this, with the exception of the pg op. Fixes: #6222 Signed-off-by: Sage Weil <sage@inktank.com>
* Merge branch 'wip-copyfrom'Sage Weil2013-09-0313-6/+460
|\ | | | | | | Reviewed-by: Samuel Just <sam.just@inktank.com>
| * ceph_test_rados: test COPY_FROMSage Weil2013-09-032-2/+102
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * osd: initial COPY_FROM (not viable for large objects)Sage Weil2013-09-035-13/+305
| | | | | | | | | | | | | | | | | | Initial pass at COPY_FROM implementation. This uses COPY_GET to read an object from another OSD and write it locally. It chunks the read but accumulates it all in-memory and commits it at once, so it is only suitable for smaller objects. Signed-off-by: Sage Weil <sage@inktank.com>
| * objecter, librados: add COPY_FROM operationSage Weil2013-09-037-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This operation will copy an entire object (data, attrs, omap) atomically. If the src_version does not match the source object, or the source object is updated while the copy is in progress, we will fail with a suitable error code. By atomic we mean that it will either successfully copy the entire object in its entirety or it will fail (and require no cleanup). Add to C++ librados API only for now. Signed-off-by: Sage Weil <sage@inktank.com> Conflicts: src/include/ceph_strings.cc src/include/rados.h src/osd/osd_types.cc
* | doc: Fix repo URL for Ceph cloning (dev/generatedocs)Dan Mick2013-09-031-1/+1
|/ | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
* doc: Updated manual install to include sync agent, ARM packages, and DNS ↵John Wilkins2013-09-031-9/+57
| | | | | | configuration. Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* ceph_test_rados: add missing kick for rollbackSage Weil2013-09-031-0/+1
| | | | | | | | This was broken by the refactor in 96aaa5e3a371ade8b91ad9ab991d996eaef2cea5 and can make us hang. Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
* osd: provide better version bounds for cls_current_version and ENOENT repliesGreg Farnum2013-09-033-8/+8
| | | | | | | | | | | | | | | | Following the changes to when we set or increase the user_version, we want to continue to return the best lower bound we can on the version of any newly-created object. For ENOENT replies that means returning info.last_user_version instead of the (potentially-zero) ctx->user_at_version. Similarly, for cls_current_version we want to return the last version on the PG rather than the last update to the object in order to provide sensible version ordering across object deletes and creates. Update the versions doc so it continues to be precise. Signed-off-by: Greg Farnum <greg@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* Merge remote-tracking branch 'gh/wip-6179'Sage Weil2013-09-033-25/+33
|\ | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| * osd/ReplicatedPG: set user_version in waiting_for_commit replieswip-6179Sage Weil2013-09-021-1/+2
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * osd/ReplicatedPG: do not set ctx->user_at_version unless ctx->user_modifySage Weil2013-09-011-5/+5
| | | | | | | | | | | | | | Leave ctx->user_at_version set to the previous oi.user_version unless/until we find that ctx->user_modify is true. Signed-off-by: Sage Weil <sage@inktank.com>
| * osd/ReplicatedPG: do not log a user_version on the snapdir objectSage Weil2013-09-011-1/+1
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * osd/ReplicatedPG: log previous user_version on cloneSage Weil2013-09-011-2/+3
| | | | | | | | | | | | Nothing relies on this, but it makes sense to me. Signed-off-by: Sage Weil <sage@inktank.com>
| * osd/ReplicatedPG: do not log user_version on deletion eventsSage Weil2013-09-011-12/+12
| | | | | | | | | | | | Or snap trim events where we are adjusting the head's snapdir attr. Signed-off-by: Sage Weil <sage@inktank.com>
| * osd/PG: only raise PG's last_user_version if entry is >Sage Weil2013-09-011-1/+5
| | | | | | | | | | | | | | | | We may have pg entries that do not increase the user_version at all (i.e., they may be 0). Do not update the last_user_version in that case as we need it to remain an upper bound. Signed-off-by: Sage Weil <sage@inktank.com>
| * osd: debug user_versions a bitSage Weil2013-09-011-3/+5
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #562 from kri5/wip-4365Yehuda Sadeh2013-09-031-1/+2
|\ \ | |/ |/| | | | | rgw: Allow wildcard in supported keystone roles. Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
| * rgw: Allow wildcard in supported keystone roles.Christophe Courtaut2013-09-031-1/+2
|/ | | | | | http://tracker.ceph.com/issues/4365 fixes #4365 Signed-off-by: Christophe Courtaut <christophe.courtaut@gmail.com>
* osdc/Objecter: fix dereference of NULL pg_pool_tSage Weil2013-09-011-4/+7
| | | | | | | | | | | | Make sure we don't dereference a NULL pointer. Note that we check a bit further down if the target pool does not exist and return the proper error. Bug was reliably reproduced by ./ceph_test_rados_api_watch_notify --gtest_filter=LibRadosWatchNotify.WatchNotifyTimeoutTestPP Signed-off-by: Sage Weil <sage@inktank.com>
* Validate S3 tokens against KeystoneRoald J. van Loon2013-08-3110-272/+514
| | | | | | | | | | - Added config option to allow S3 to use Keystone auth - Implemented JSONDecoder for KeystoneToken - RGW_Auth_S3::authorize now uses rgw_store_user_info on keystone auth - Minor fix in get_canon_resource; dout is now after the assignment Reviewed-by: Yehuda Sadeh<yehuda@inktank.com> Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
* Merge pull request #561 from ceph/wip-6178Sage Weil2013-08-311-1/+5
|\ | | | | | | | | os: LevelDBStore: ignore ENOENT files when estimating store size Reviewed-by: Sage Weil <sage@inktank.com>
| * os: LevelDBStore: ignore ENOENT files when estimating store sizeJoao Eduardo Luis2013-08-301-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | While iterating over the store files we race against leveldb, which may be shuffling data around thus removing some files. By ignoring missing files on stat, we'll get to not account those files but that's okay -- this is just an estimate. Fixes: #6178 Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
* | Merge branch 'next'Sage Weil2013-08-316-6/+21
|\ \
| * | mon: fix uninitialized Op fieldRoald J. van Loon2013-08-311-1/+2
| | | | | | | | | | | | | | | | | | - Uninitialized field in MonitorLevelDB::Op causes random build errors. Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * | automake cleanup: uninitialized version_tRoald J. van Loon2013-08-311-0/+1
| | | | | | | | | | | | | | | | | | | | | This sometimes gives a completely random uint64_t value, because it is potentially used uninitialized. Signed-off-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * | Merge pull request #530 from ceph/wip-monc-leakJoão Eduardo Luís2013-08-301-0/+6
| |\ \ | | | | | | | | | | | | | | | | mon/MonClient: release pending outgoing messages on shutdown Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * | mon/MonClient: release pending outgoing messages on shutdownSage Weil2013-08-221-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a small memory leak when we have messages queued for the mon when we shut down. It is harmless except for the valgrind leak check noise that obscures real leaks. Backport: dumpling Signed-off-by: Sage Weil <sage@inktank.com>
| * | | ceph-post-file: use mktemp instead of tempfileSage Weil2013-08-301-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | tempfile is a debian thing, apparently; mktemp is present everywhere. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | rgw: Fix S3 auth when using response-* query string paramsSylvain Munaut2013-08-291-0/+6
| | | | | | | | | | | | | | | | | | | | Reviewed-by: Yehuda Sadeh <yehuda@inktank.com> Signed-off-by: Sylvain Munaut <s.munaut@whatever-company.com>
| * | | ceph.spec.in: remove trailing paren in previous commitGary Lowell2013-08-291-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
| * | | ceph.spec.in: Don't invoke debug_package macro on centos.Gary Lowell2013-08-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the redhat-rpm-config package is installed, the debuginfo rpms will be built by default. The build will fail when the package installed and the specfile also invokes the macro. Signed-off-by: Gary Lowell <gary.lowell@inktank.com>
| * | | Merge pull request #548 from dmick/nextSage Weil2013-08-271-1/+2
| |\ \ \ | | | | | | | | | | | | | | | | | | | | ceph.in: add to $PATH if needed regardless of LD_LIBRARY_PATH state Reviewed-by: Sage Weil <sage@inktank.com>
| | * | | ceph.in: add to $PATH if needed regardless of LD_LIBRARY_PATH stateDan Mick2013-08-271-1/+2
| |/ / / | | | | | | | | | | | | Signed-off-by: Dan Mick <dan.mick@inktank.com>
* | | | Merge pull request #541 from ceph/wip-6036Sage Weil2013-08-3016-121/+572
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | osd objecter; copy-get Reviewed-by: Greg Farnum <greg@inktank.com> Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | | osd/ReplicatedPG: do not requeue if not primarySage Weil2013-08-301-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This saves us a bit of work, since we will discard the op anyway if we aren't primary (or even if we become primary again before we get to it). Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd: COPY_GET operationSage Weil2013-08-308-0/+249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new rados operation to copy all user-visible content for an object in a simple, safe way. Use a new object_copy_cursor_t to keep track of our position. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd/ReplicatedPG: factor {execute,reply}_ctx() out of do_op()Sage Weil2013-08-302-26/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Separate the processing of an OpContext from the preamble and allocation, so that we can delay the execution for some ops (like the COPYFROM operation we're about to add). Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd: feed OSDMaps to the ObjecterSage Weil2013-08-301-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Feed every map message we see (that isn't discarded for some other reason) to the Objecter. It has the same continuity requirements that the OSD has, so it should be satisfied with what we get. It can also request maps via our MonClient. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd: add an Objecter instanceSage Weil2013-08-305-4/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It gets its own lock, timer, and osdmap. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd: discriminate based on connection messenger, not peer typeSage Weil2013-08-301-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace ->get_source().is_osd() checks and instead see if it is the cluster_messenger so that we do not confuse ourselves when we get legit requests from other OSDs on our public interface. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | ceph-osd: rename msgr varsSage Weil2013-08-302-71/+79
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd: add a separate messenger for the ObjecterSage Weil2013-08-303-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We will give the OSD's Objecter its own messenger so that it does not interfere with the OSD when it marks things up or down. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd/ReplicatedPG: add whitespaceSage Weil2013-08-301-0/+10
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd: less whitespaceSage Weil2013-08-301-8/+2
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osdc/Objecter: allow ops to be canceledSage Weil2013-08-302-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is useful in general, and specifically will be useful for the rados COPY operation. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osdc/Objecter: only request map on startup if epoch == 0Sage Weil2013-08-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normal clients have no map and need one to get started. If we are the OSD, we will already have one and will get fed maps as they come in. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd, objecter: clean up assert_ver()Sage Weil2013-08-304-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a separate union in the args and clean up the code a bit so that this doesn't reuse the (unrelated) watch helpers. No change in protocol. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd/ReplicatedPG: drop src_obc.clear() callsSage Weil2013-08-301-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are all about to go out of scope; no need to clear them explicitly. Signed-off-by: Sage Weil <sage@inktank.com>