summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* osd_types: add generic HitSet type with bloom and explicit implementationswip-osd-bloomSage Weil2013-10-021-1/+170
| | | | | | | Track a set of hash values, either explicitly or using a bloom_filter. Hide the implementation and allow us to transparently encode and decode. Signed-off-by: Sage Weil <sage@inktank.com>
* osd/OSDMap: use new object_locator_t::hash to place object in a pgSage Weil2013-10-021-6/+10
| | | | | | | The hash value, is provided, becomes the ps (placement seed) portion of the pg_t, skipping any hashing of the object name (or locator key). Signed-off-by: Sage Weil <sage@inktank.com>
* osd/osd_types: add explicit hash to object_locator_tSage Weil2013-10-022-11/+22
| | | | | | | Instead of hashing the object name or key, we allow the hash position to be provided explicitly. Signed-off-by: Sage Weil <sage@inktank.com>
* osd: add last_archived_bloom to pg_info_tSage Weil2013-10-022-2/+12
| | | | | | | | This field will track the most recent eversion recorded in an archived bloom_filter. Any events after this point in the pg log have not yet been archived and should therefore be included in the in-memory bloom filter. Signed-off-by: Sage Weil <sage@inktank.com>
* osd: add bloom_[fpp,period] to pg_pool_tSage Weil2013-10-022-4/+36
| | | | | | | Add pool properties to control what type of bloom filter the OSD should track for each PG. Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: test binning fpp behaviorSage Weil2013-10-021-0/+36
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: disable sequential testsSage Weil2013-10-021-0/+8
| | | | | | These are slow and are not useful. Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: insert/contains methods for uint32_tSage Weil2013-10-022-0/+73
| | | | | | | This will let us pass in an hobject_t::hash directly (for example) without rehashing a string. Signed-off-by: Sage Weil <sage@inktank.com>
* COPYING: make note of common/bloom_filer.hpp (boost) licenseSage Weil2013-10-022-0/+8
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: fix whitespaceSage Weil2013-10-021-476/+470
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: test behavior of sequences of bloom filtersSage Weil2013-10-021-0/+78
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: unit testsSage Weil2013-10-023-1/+69
| | | | | | | | | | | | Fun facts: - fpp = false positive probability - fpp is a function of insert count only - at .1% fpp, we pay about 2 bytes per insert - at 1-2% fpp, we pay about 1 byte per insert - at 15% fpp, we pay about .5 bytes per insert Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: move header from include/Sage Weil2013-09-255-5/+5
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: make bloom_filter encodableSage Weil2013-09-254-5/+104
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: make optimal parameter calculation staticSage Weil2013-09-251-17/+29
| | | | | | | | We pass the ctor our target behavior and calculate parameters based on that. Avoid storing the target behavior, and make that calc a static method. And add a new ctor that takes the parameters explicitly. Signed-off-by: Sage Weil <sage@inktank.com>
* common/bloom_filter: make mode match formattingSage Weil2013-09-251-0/+3
| | | | | | 3 space tabs.. blech. Let's not change it now, though. Signed-off-by: Sage Weil <sage@inktank.com>
* Merge pull request #640 from ceph/wip-mon-pgmapSage Weil2013-09-251-0/+2
|\ | | | | | | | | fix mon crash when osdmap and pgmap aren't yet synced Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
| * mon/PGMonitor: fix segfault when osdmap and pgmap stats are out of syncSage Weil2013-09-251-0/+2
|/ | | | | | | | | The leader mon is responsible for propagating changes in the osdmap into the pgmap (e.g., when a pool or osd goes away). If that hasn't happened yet, the pg_map map will be out of sync with the current set of pools. We shouldn't crash. Signed-off-by: Sage Weil <sage@inktank.com>
* Merge pull request #637 from dachary/masterSage Weil2013-09-251-0/+3
|\ | | | | mailmap: add Matthew Roy, Matthew Wodrich
| * mailmap: add Matthew Roy, Matthew WodrichLoic Dachary2013-09-251-0/+3
| | | | | | | | Signed-off-by: Loic Dachary <loic@dachary.org>
* | Merge pull request #639 from ceph/wip-gtestSage Weil2013-09-251-2/+2
|\ \ | |/ |/| | | | | | | Makefile: don't use srcdir in TESTS Reviewed-by: Roald J. van Loon <roaldvanloon@gmail.com>
| * Makefile: don't use srcdir in TESTSSage Weil2013-09-251-2/+2
|/ | | | | | | | | | | src/Makefile-env.am:31: error: using '$(srcdir)' in TESTS is currently broken: '$(srcdir)/unittest_bufferlist.sh' src/Makefile.am:1: 'src/Makefile-env.am' included from here src/Makefile-env.am:31: error: using '$(srcdir)' in TESTS is currently broken: '$(srcdir)/test/encoding/check-generated.sh' src/Makefile.am:1: 'src/Makefile-env.am' included from here on my (raring) laptop. Signed-off-by: Sage Weil <sage@inktank.com>
* Merge pull request #615 from dachary/wip-jerasure-copySage Weil2013-09-252-22/+104
|\ | | | | | | | | ErasureCode: get rid of extra copy when encoding Reviewed-by: Sage Weil <sage@inktank.com>
| * ErasureCode: get rid of extra copy when encodingLoic Dachary2013-09-252-22/+104
| | | | | | | | | | | | | | | | The substr_of bufferlist method is used to reduce the copies to the strict minimum. It is both able to split bufferptr when they are larger than a chunk and to concatenate them when they are smaller. Signed-off-by: Loic Dachary <loic@dachary.org>
* | Merge pull request #634 from dachary/masterSage Weil2013-09-251-0/+81
|\ \ | | | | | | | | | | | | git: consolidate mails in commit logs Reviewed-by: Sage Weil <sage@inktank.com>
| * | git: consolidate mails in commit logsLoic Dachary2013-09-251-0/+81
| |/ | | | | | | | | | | | | Map duplicate mails / names in commit logs to a single canonical names. Useful to report to management with git shortlog -nes Signed-off-by: Loic Dachary <loic@dachary.org>
* | Merge pull request #636 from dachary/wip-get_command_descriptionSage Weil2013-09-251-2/+1
|\ \ | | | | | | | | | | | | autoconf: remove get_command_descriptions dependency to gtest Reviewed-by: Sage Weil <sage@inktank.com>
| * | autoconf: remove get_command_descriptions dependency to gtestLoic Dachary2013-09-251-2/+1
| |/ | | | | | | | | | | | | | | | | It is not required and a leftover of the time when it was a unit test which was a mistake to begin with. It has been reported to create dependencies problems in some cases, when gest is not available at the time get_command_descriptions is compiled. Signed-off-by: Loic Dachary <loic@dachary.org>
* | Merge remote-tracking branch 'gh/next'Sage Weil2013-09-247-24/+54
|\ \ | | | | | | | | | | | | Conflicts: src/osd/ReplicatedPG.cc
| * | 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>
| * | osd: revert 'osd max xattr size' limitSage Weil2013-09-233-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | Set it to 0 (unlimited) for now. Backport: dumpling Signed-off-by: Sage Weil <sage@inktank.com> Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
| * | Merge pull request #599 from ceph/wip-6323Sage Weil2013-09-231-6/+23
| |\ \ | | | | | | | | | | | | | | | | mon: OSDMonitor: fix #6322 and #6323 Reviewed-by: Greg Farnum <greg@inktank.com>
| | * | mon: OSDMonitor: multiple rebuilt full maps per transactionJoao Eduardo Luis2013-09-171-6/+22
| | | | | | | | | | | | | | | | Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * | mon: OSDMonitor: update latest_full while rebuilding full mapsJoao Eduardo Luis2013-09-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not doing so will make the monitor rebuild the osdmap full versions, even though they may have been rebuilt before, every time the monitor starts. This mostly happens when the cluster is left in an unhealthy state for a long period of time and incremental versions build up. Even though we build the full maps on update_from_paxos(), not updating 'full_latest' leads to the situation initially described. Fixes: #6322 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
| | * | mon: OSDMonitor: smaller transactions when rebuilding full versionsJoao Eduardo Luis2013-09-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise, for considerably sized rebuilds, the monitor will not only consume vast amounts of memory, but it will also have troubles committing the transaction. Anyway, it's also a good idea to adjust transactions to the granularity we want, and to be fair we care that each rebuilt full map gets to disk, even if subsequent full maps don't (those can be rebuilt later). Fixes: #6323 Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
* | | | Merge pull request #633 from ceph/wip-repop-leaksDavid Zafman2013-09-241-0/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | fix a copule of leaks of RepGather structs Reviewed-by: David Zafman <david.zafman@inktank.com>
| * | | | osd/ReplicatedPG: fix leak of RepGather on watch timeoutSage Weil2013-09-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | new_repop() gives us a ref; we need to release it, just as we do in execute_ctx(). Backport: dumpling Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | osd/ReplicatedPG: fix leak of RepGather on large-object COPY_FROMSage Weil2013-09-241-0/+1
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | new_repop() gives us a ref; we need to release it, just as we do in execute_ctx(). Signed-off-by: Sage Weil <sage@inktank.com>
* | | | doc: Removed service ops language and added reference to operations.John Wilkins2013-09-241-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | fixes: #6374 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | | Merge pull request #477 from jpfrancois/patch-1Sage Weil2013-09-240-0/+0
|\ \ \ \ | |/ / / |/| | | Fix for Swift key command
| * | | Fix for Swift key commandJP François2013-08-011-2/+2
| | | | | | | | | | | | When creating a secret key for the Swift user, the command without the --gen-secret option generates an empty key.
* | | | Merge pull request #630 from dachary/masterSage Weil2013-09-241-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | osd: change warn_interval_multiplier to uint32_t Reviewed-by: Sage Weil <sage@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>
* | | | Merge pull request #628 from dachary/wip-erasure-fix-thread-testSage Weil2013-09-246-42/+41
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | ErasureCode: fix plugin loading threaded test Reviewed-by: Sage Weil <sage@inktank.com>
| * | | | ErasureCode: fix plugin loading threaded testLoic Dachary2013-09-246-42/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The TEST_F(ErasureCodePluginRegistryTest, factory_mutex) was bugous and only succeeded by chance. The sleep was on the factory constructor which was never called. An erasure code plugin that hangs forever on load is created instead. The sleep_forever.detach is replaced by pthread_cancel to interrupt the thread that hangs forever. If not, gtest will try to join the thread and never exit. Signed-off-by: Loic Dachary <loic@dachary.org>
* | | | | Merge pull request #627 from dachary/masterYehuda Sadeh2013-09-241-4/+5
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | rgw: fix rgw test to reflect usage change Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | rgw: fix rgw test to reflect usage changeLoic Dachary2013-09-241-4/+5
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | otherwise src/test/cli/radosgw-admin/help.t fails when running make check when run after a configure --with-radosgw Signed-off-by: Loic Dachary <loic@dachary.org>