summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* common/crc32c_intel_fast: avoid reading partial trailing wordwip-intel-crc-workaroundSage Weil2013-09-042-1/+26
| | | | | | | | | | | | 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>
* librados: make note of which calls steal the bufferlist contentsSage Weil2013-09-041-0/+25
| | | | | | | | This is an unfortunate feature of the API, but it can't be changed without potentially breaking users. Fixes: #5989 Signed-off-by: Sage Weil <sage@inktank.com>
* common: unit test for crc32cSage Weil2013-09-042-0/+80
| | | | | Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
* common/crc32c_intel_fast: fix compile-time #ifdefSage Weil2013-09-041-1/+1
| | | | | | | This wasn't getting built in! Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
* arch: add NEON cpu feature detectionSage Weil2013-09-046-0/+102
| | | | | Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Dan Mick <dan.mick@inktank.com>
* doc: Updated usage for --infile syntax. Added zone name for zone syntax.John Wilkins2013-09-041-4/+4
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* mon/OSDMonitor: fix POOL_OP_DELETE_SNAP early returnSage Weil2013-09-041-1/+1
| | | | | | Cut&paste goof in 0e85074402cd02b292daadcb5b8e73ac1207d571. Signed-off-by: Sage Weil <sage@inktank.com>
* doc: Organized into sections. Added zone/region and pool details.John Wilkins2013-09-041-254/+575
| | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* doc/release-notes: v0.68Sage Weil2013-09-042-27/+68
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* Merge remote-tracking branch 'gh/wip-6047'Sage Weil2013-09-043-61/+139
|\ | | | | | | Reviewed-by: Sage Weil <sage@inktank.com>
| * rbd.cc: propagate some errors to user-space when they're availableJoao Eduardo Luis2013-08-291-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>
| * qa: workunits: mon: test snaps ops using rbd.Joao Eduardo Luis2013-08-291-0/+39
| | | | | | | | | | | | Regression test for #6047 Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * mon: OSDMonitor: return earlier on no-ops over currently committed stateJoao Eduardo Luis2013-08-291-2/+34
| | | | | | | | Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * mon: OSDMonitor: don't propose on prepare_pool_op()Joao Eduardo Luis2013-08-291-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | Except in very special cases, we should let PaxosService take its course and trigger the proposals itself. In this case, we were proposing right before returning to PaxosService, and we were returning false on top of it (most likely to guarantee that PaxosService wouldn't try to propose). This doesn't make much sense, so let's do it like all the other cool kids are doing and let PaxosService decide what's best for us. Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
| * mon: OSDMonitor: check if pool is on unmanaged snaps mode on mk/rmsnapJoao Eduardo Luis2013-08-291-2/+10
| | | | | | | | | | | | | | Backport: dumpling Fixes: #6047 Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
* | osd/ReplicatedPG: set reply versions for pg ops (PGLS)Sage Weil2013-09-041-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> Reviewed-by: Greg Farnum <greg@inktank.com>
* | osd/ReplicatedPG: set reply versions on dup op ACKSage Weil2013-09-041-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> Reviewed-by: Greg Farnum <greg@inktank.com>
* | doc: remove 'Unexpected indentation' from versions doc.Greg Farnum2013-09-041-3/+3
| | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
* | Merge pull request #564 from ljagiello/swift_doc_fixSage Weil2013-09-042-4/+4
|\ \ | | | | | | | | | | | | Correct syntax for generate swift key Signed-off-by: Lukasz Jagiello <jagiello.lukasz@gmail.com>
| * | Correct syntax for generate swift keyLukasz Jagiello2013-09-042-4/+4
|/ /
* | Merge branch 'next'Gary Lowell2013-09-044-9/+27
|\ \
| * | v0.68v0.68Gary Lowell2013-09-032-1/+7
| | |
| * | rgw: change watch init ordering, don't distribute if can'tYehuda Sadeh2013-09-032-8/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport: dumpling Moving back the watch initialization after the zone init, as the zone info holds the control pool name. Since zone init might need to create a new system object (that needs to distribute cache), don't try to distribute cache if watch is not yet initialized. Reviewed-by: Sage Weil <sage@inktank.com> Signed-off-by: Yehuda Sadeh <yehuda@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>