summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* ceph_test_rados: do not let rollback race with snap deletewip-6254-modelSage Weil2013-10-032-3/+10
| | | | | | | | | Note that the OSD behaves in a weird way when you rollback to a non- existent snap, so the test probably isn't the only party at fault here. Fixes (test half of): #6254 Backport: dumpling, cuttlefish Signed-off-by: Sage Weil <sage@inktank.com>
* ceph_test_rados: stop on read error!Sage Weil2013-10-031-0/+1
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* PendingReleaseNotes: make a note about K vs kSage Weil2013-10-031-0/+4
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* Merge pull request #686 from ceph/wip-rbd-cli-testsSage Weil2013-10-033-21/+21
|\ | | | | | | | | qa: fix rbd cli tests checking size Reviewed-by: Sage Weil <sage@inktank.com>
| * qa: fix rbd cli tests checking sizewip-rbd-cli-testsJosh Durgin2013-10-033-21/+21
|/ | | | | | | b43bc1a0b0692818d789f9f489b9aba5dd40522f changed the kilo prefix from K to k in a few places. Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
* Merge pull request #684 from git-harry/ceph_disk_lowercase_fsidSage Weil2013-10-031-5/+10
|\ | | | | | | | | Make fsid comparison case-insensitive Reviewed-by: Sage Weil <sage@inktank.com>
| * Make fsid comparison case-insensitivegit-harry2013-10-031-5/+10
| | | | | | | | | | | | | | get_fsid and find_cluster_by_uuid are modified so ceph-disk activate and ceph-disk activate-all will work if the fsid uses uppercase characters. Signed-off-by: Harry Harrington <git-harry@live.co.uk>
* | doc: Fixed typo.John Wilkins2013-10-031-1/+1
| | | | | | | | Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | Merge pull request #685 from ceph/wip-rados-intsDan Mick2013-10-033-11/+7
|\ \ | | | | | | | | | | | | librados: drop #include of int_types.h from installed headers Reviewed-by: Dan Mick <dan.mick@inktank.com>
| * | librados: drop #include of int_types.h from installed headersSage Weil2013-10-033-11/+7
| |/ | | | | | | | | | | | | | | These are unnecessary, and breaks compilation for outside users. Prefer inttypes.h over stdint.h. Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #638 from ceph/wip-bloomLoic Dachary2013-10-0311-547/+945
|\ \ | |/ |/| bloom filter cleanups, encodability, and unit tests
| * common/bloom_filter: note that uint32_t interface requires well-mixed valuesSage Weil2013-10-031-0/+19
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: speed up unit tests a bitSage Weil2013-10-031-4/+4
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: test binning fpp behaviorSage Weil2013-10-031-0/+36
| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * common/bloom_filter: disable sequential testsSage Weil2013-10-031-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-032-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 #682 from ceph/wip-copyingLoic Dachary2013-10-022-37/+89
|\ \ | | | | | | sync up COPYING and debian/copyright
| * | COPYING: fix URLSage Weil2013-10-022-2/+2
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | debian/copyright: sync up with COPYINGSage Weil2013-10-021-6/+48
| | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | COPYING: add Packaging: sectionSage Weil2013-10-021-0/+5
| | | | | | | | | | | | | | | | | | Again, debian-specific, but who cares. Signed-off-by: Sage Weil <sage@inktank.com>
| * | COPYING: add debian-style headersSage Weil2013-10-021-0/+5
| | | | | | | | | | | | | | | | | | | | | This may not be necessary here, but it makes this identical to the debian/copyright file, which is a win. Signed-off-by: Sage Weil <sage@inktank.com>
| * | COPYING: fix formattingSage Weil2013-10-021-30/+30
|/ / | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | Merge pull request #678 from ceph/wip-5981Alfredo Deza2013-10-021-8/+5
|\ \ | | | | | | ceph-disk: make initial journal files 0 bytes
| * | ceph-disk: make initial journal files 0 byteswip-5981Sage Weil2013-09-091-8/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ceph-osd will resize journal files up and properly fallocate() them so that the blocks are preallocated and (hopefully) contiguous. We don't need to do it here too, and getting fallocate() to work from python is a pain in the butt. Fixes: #5981 Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge pull request #649 from ceph/wip-6422Sage Weil2013-10-026-151/+119
|\ \ \ | | | | | | | | | | | | | | | | #6422 Reviewed-by: Sage Weil <sage@inktank.com>
| * | | common, os, osd: Use common functions for safe file reading and writingDavid Zafman2013-10-025-145/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add new safe_read_file() and safe_write_file() to update files atomically Used instead of original OSD::read_meta(), OSD::write_meta() they are based on Used by read_superblock() and write_superblock() Used by write_version_stamp() and version_stamp_is_valid() Fixes: #6422 Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | | osd: In read_meta() leave an extra byte in buffer to nul terminateDavid Zafman2013-10-021-1/+1
| | | | | | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
| * | | os: Simplify collection_list* funcs by removing dynamic_castDavid Zafman2013-09-261-6/+3
| | | | | | | | | | | | | | | | Signed-off-by: David Zafman <david.zafman@inktank.com>
* | | | Merge pull request #620 from dachary/wip-erasure-docathanatos2013-10-026-358/+149
|\ \ \ \ | | | | | | | | | | ErasureCode: doc updates
| * | | | ErasureCode: update PGBackend descriptionLoic Dachary2013-10-025-184/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on a dialog with Sam ( as published at http://dachary.org/?p=2320 ). * Remove PGBackend-h.rst because PGBackend.h is now in master. * Fix typos caught by ispell * Update recovery links to point to PGBackend recover methods * Workaround formating warning developer_notes.rst:3: WARNING: Duplicate explicit target name: "erasurecodepluginexample" which should be legitimate. Signed-off-by: Loic Dachary <loic@dachary.org>
| * | | | ErasureCode: doc updatesLoic Dachary2013-10-023-176/+129
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Update to the current state of the ghobject implementaiton and the fact that they encode the shard_t Although the pool also contains the shard id, it is less relevant to understand the implementation. * Update with the erasure code plugin infrastructure and the example plugin now in master. * Move jerasure to a separate page to be expanded and link it from the toc * Kill the partial read and writes notes as it will probably not be implemented in the near future. Kill some of the notes because they are no longer relevant. * Add a definition for "chunk rank" * Reword, update schemas, fix typos. Signed-off-by: Loic Dachary <loic@dachary.org>
* | | | Merge pull request #652 from dachary/wip-ghobjectsLoic Dachary2013-10-021-8/+8
|\ \ \ \ | | | | | | | | | | common: ghobject sort order & get_filestore_key
| * | | | common: document ghobject sort order rationaleLoic Dachary2013-10-021-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Intuition differs regarding the sort order of the ghobject shard and generation. Document the rationale for the chosen sort order. Reviewed-by: Samuel Just <sam.just@inktank.com> Reviewed-by: David Zafman <david.zafman@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
| * | | | common: ghobject get_filestore_key* use hobject counterpartLoic Dachary2013-10-021-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The get_filestore_key* methods are changed to just call the corresponding hobject methods instead of providing an identical implementation. Reviewed-by: David Zafman <david.zafman@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
* | | | | mds: return -EAGAIN if standby replay falls behindYan, Zheng2013-10-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | standby replay may fall behind and get -ENOENT when reading the journal. return -EAGAIN in this case, it makes the MDS respawn itself. fixes: #5458 Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | | | | os/FileStore: report errors from _crc_load_... and _crc_saveSage Weil2013-10-011-3/+9
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | | | Merge pull request #671 from ceph/wip-tmapSage Weil2013-10-017-125/+99
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | remove tmap->omap auto-upgrade Reviewed-by: Yehuda Sadeh <yehuda@inktank.com>
| * | | | | rados: add 'tmap-to-omap' commandSage Weil2013-10-012-0/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Explicitly convert tmap object data to omap keys. Removes the old tmap content at the same time. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | | rados: make 'tmap dump' gracefully handle non-tmap dataSage Weil2013-10-011-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | | osd: remove magical tmap -> omap conversionSage Weil2013-10-015-123/+17
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is incomplete and unfortunately unusable in its current state: - it would only set USES_TMAP for old encoded object_info_t and tmapput, but would NOT set it for tmapup - a config option turned that off by default. That means that the mds conversion from tmap -> omap won't be able to use this because any existing cluster has tmap objects without the USES_TMAP flag set. And we don't want to unconditionally try a tmap->omap conversion on omap operations because there are lots of existing librados users out there that will be negatively impacted by this. Instead, the MDS will need to handle this conversion on the client side by reading either tmap or omap objects and explicitly rewriting the content with omap (while truncating the tmap data away). The auto-conversion function was added in v0.44. Signed-off-by: Sage Weil <sage@inktank.com>
* | | | | Merge pull request #675 from ceph/wip-osd-dirtySage Weil2013-10-0110-10/+186
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | osd: add a dirty flag for objects. Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | | | osd: add ISDIRTY, UNDIRTY rados operationsSage Weil2013-10-019-4/+156
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ISDIRTY will query whether the dirty flag is set on an object. UNDIRTY will explicitly clear it. Note that a user doing so will likely run amok with the caching code. Signed-off-by: Sage Weil <sage@inktank.com>