summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* osd: remove magical tmap -> omap conversionwip-tmapSage Weil2013-10-015-124/+14
| | | | | | | | | | | | | | | | | | | | | | 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>
* osd/osd_types: convert object_info_t::uses_tmap to a flagwip-osd-whiteoutSage Weil2013-10-013-24/+30
| | | | | | | | | Treat the second encoded bool as bits 9-16 of a (now) 16-bit flags field, and use bit 9 (what used to be set by the use_tmap bool) as FLAG_USES_TMAP. No encoding compatibility change. Signed-off-by: Sage Weil <sage@inktank.com>
* osd/ReplicatedPG: update all find_object_context() users to handle whiteoutsSage Weil2013-10-012-4/+9
| | | | | | | | | | | | | | In each case, we treat the whiteout as if we got an ENOENT. We do not change the semantics of bool exists to avoid breaking lots of potentially fragile code. We are only interested in changing the user-visible behavior of the object, not the way it is internally stored or managed. This will likely be refined as we grow acutal users for whiteoutes in the pool caching code. Signed-off-by: Sage Weil <sage@inktank.com>
* osd/osd_types: add WHITEOUT flag to object_info_tSage Weil2013-10-012-0/+6
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* osd/osd_types: replace bool lost with a flags fieldSage Weil2013-10-013-14/+37
| | | | | | | This is more generic. We could also fold uses_tmap flag into here, but the encoding change for that is non-trivial. Signed-off-by: Sage Weil <sage@inktank.com>
* msgr: debug delay_thread joinSage Weil2013-10-012-10/+14
| | | | Signed-off-by: Sage Weil <sage@inktank.com>
* Use 'k' when printing 'kilo'; accept either 'K' or 'k' as inputDan Mick2013-10-012-4/+5
| | | | | | Fixes: #4612 Signed-off-by: Dan Mick <dan.mick@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* Merge pull request #659 from ceph/wip-objecter-notierSage Weil2013-10-013-1/+7
|\ | | | | | | | | Wip objecter notier Reviewed-by: Sage Weil <sage@inktank.com>
| * OSD: unset_honor_cache_redirects() on Objecterwip-objecter-notierGreg Farnum2013-09-301-0/+1
| | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * Objecter: add "honor_cache_redirects" flag covering cache settingsGreg Farnum2013-09-302-1/+6
| | | | | | | | | | | | | | When set to false, we do not redirect based on the cache_pool data in the OSDMap. We'll use this so the OSDs can actually fetch data into the cache pools on promotion! Signed-off-by: Greg Farnum <greg@inktank.com>
* | Merge pull request #668 from liewegas/wip-cache-stallJosh Durgin2013-10-011-1/+5
|\ \ | | | | | | | | | osdc/ObjectCacher: limit writeback IOs generated while holding lock Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| * | osdc/ObjectCacher: limit writeback IOs generated while holding lockSage Weil2013-10-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While analyzing a log from Mike Dawson I saw a long stall while librbd's objectcacher was starting lots (many hundreds) of IOs. Limit the amount of time we spend doing this at a time to allow IO replies to be processed so that the cache remains responsive. I'm not sure this warrants a tunable (which we would need to add for both libcephfs and librbd). Signed-off-by: Sage Weil <sage@inktank.com>
* | | Merge pull request #663 from ceph/wip-cancel-copyGregory Farnum2013-10-011-4/+3
|\ \ \ | | | | | | | | Reviewed-by: Greg Farnum <greg@inktank.com>
| * | | osd/ReplicatedPG: fix iterator corruption in cancel_copy_ops()Sage Weil2013-10-011-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The cancel_copy() method removes the entry from copy_ops. Move the iterator forward before calling. Fixes segfault when thrashing osds with a copy-from workload. Signed-off-by: Sage Weil <sage@inktank.com>
* | | | rbd: fix cli testSage Weil2013-10-011-0/+1
| |/ / |/| | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
* | | rgw: quiet down warning messageYehuda Sadeh2013-10-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6123 We don't want to know about failing to read region map info if it's not found, only if failed on some other error. In any case it's just a warning. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
* | | rbd.cc: add readonly option for "rbd map"Guangliang Zhao2013-09-303-1/+19
|/ / | | | | | | | | | | | | | | | | The device could only be set to rw(default) when mapping now. This patch only handle the user space, because the kernel part has been completed. Signed-off-by: Guangliang Zhao <guangliang@unitedstack.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
* | Merge pull request #660 from ceph/wip-fs-crcSage Weil2013-09-3011-3/+561
|\ \ | | | | | | | | | | | | sloppy / opportunistic CRC tracking in the filestore Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | os/FileStore: add sloppy crc trackingSage Weil2013-09-305-3/+180
| | | | | | | | | | | | | | | | | | | | | Opportunistically track CRCs for data we write and verify it for data we read. Signed-off-by: Sage Weil <sage@inktank.com>
| * | common/SloppyCRCMap: add type to sloppily track crcsSage Weil2013-09-306-0/+381
| |/ | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com> sloppy
* | Merge pull request #661 from ceph/wip-copy-cleanupsSage Weil2013-09-302-20/+10
|\ \ | |/ |/| | | | | Wip copy cleanups Reviewed-by: Sage Weil <sage@inktank.com>
| * ReplicatedPG: remove unused CopyOp::waiting member, rename function for accuracyGreg Farnum2013-09-302-13/+5
| | | | | | | | | | | | We never placed any ops here, and so we weren't ever requeuing any ops. Signed-off-by: Greg Farnum <greg@inktank.com>
| * ReplicatedPG: remove useless pcop param from start_copyGreg Farnum2013-09-302-5/+3
| | | | | | | | Signed-off-by: Greg Farnum <greg@inktank.com>
| * ReplicatedPG: use our already-found iterator instead of going back into mapGreg Farnum2013-09-301-2/+2
|/ | | | | | | We have an iterator pointing at the element we want; no need to search the map again in order to grab the element or remove it. Signed-off-by: Greg Farnum <greg@inktank.com>
* Merge remote-tracking branch 'gh/next'Sage Weil2013-09-274-6/+2
|\ | | | | | | | | Conflicts: src/common/crc32c_intel_fast.c
| * Merge pull request #658 from dmick/nextSage Weil2013-09-271-1/+1
| |\ | | | | | | | | | | | | ceph.in: fix missing exception variable in failure to open -o file Reviewed-by: Sage Weil <sage@inktank.com>
| | * ceph.in: fix missing exception variable in failure to open -o fileDan Mick2013-09-271-1/+1
| | | | | | | | | | | | | | | Fixes: #6424 Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * | Merge pull request #657 from ceph/wip-6397Josh Durgin2013-09-272-4/+1
| |\ \ | | |/ | |/| | | | | | | Wip 6397 Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| | * rgw: don't append NULL char before json parsingYehuda Sadeh2013-09-271-1/+0
| | | | | | | | | | | | | | | | | | Parser handles that by itself. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| | * ceph_json: use different string constructor for parser bufferYehuda Sadeh2013-09-271-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #6397 Previous implementation did not user the constructor with the length param. Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
| * | qa: workunits: mon: test snaps ops using rbd.Joao Eduardo Luis2013-09-271-0/+39
| | | | | | | | | | | | | | | | | | | | | Regression test for #6047 Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com> (cherry picked from commit b2b0f202ea8a0028e7e27664b3ea6b9b8cdafe6e)
| * | common/crc32c_intel_fast: avoid reading partial trailing wordSage Weil2013-09-271-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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> Reviewed-by: Greg Farnum <greg@inktank.com> (cherry picked from commit 39c89dcfed0587f822e2226f2de8e4092449af29) Conflicts: src/test/common/test_crc32c.cc
* | | Merge pull request #643 from dachary/masterSage Weil2013-09-271-1/+1
|\ \ \ | | | | | | | | | | | | | | | | autoconf: fix build out of tree Reviewed-by: Sage Weil <sage@inktank.com>
| * | | autoconf: fix build out of treeLoic Dachary2013-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | so that the following works: git clone git@github.com:ceph/ceph.git cd ceph ./autogen.sh mkdir ../build cd ../build ../ceph/configure --with-radosgw make check Signed-off-by: Loic Dachary <loic@dachary.org>
* | | | doc: changed journal aio default to true.John Wilkins2013-09-271-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | fixes: #6389 Signed-off-by: John Wilkins <john.wilkins@inktank.com>
* | | | Merge pull request #654 from ceph/wip-testradosSage Weil2013-09-272-53/+17
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | fix some issues with ceph_test_rados Reviewed-by: Samuel Just <sam.just@inktank.com>
| * | | | ceph_test_rados: remove useless snapc setupSage Weil2013-09-271-44/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We update this on snap create and delete; no need to do it any other time. Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | ceph_test_rados: update for copy_from in begin, not finishSage Weil2013-09-271-2/+7
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | ceph_test_rados: improve debug outputwip-testradosSage Weil2013-09-262-5/+7
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | ceph_test_rados: fix update_object_fullSage Weil2013-09-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update at current snap, not the last snap we did an update. Broken this this was introduced in 996af2d8fd8e60bcdce8e9408249b974521de24e Signed-off-by: Sage Weil <sage@inktank.com>
* | | | | Merge pull request #650 from dachary/wip-6425-2Loic Dachary2013-09-271-4/+8
|\ \ \ \ \ | | | | | | | | | | | | pybind: update osd blacklist tests for nonce
| * | | | | pybind: update osd blacklist tests for nonceLoic Dachary2013-09-271-4/+8
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the unit tests to reflect a) that the nonce is no longer mandatory, b) that it must be an integer. http://tracker.ceph.com/issues/6426 refs #6426 Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com> Signed-off-by: Loic Dachary <loic@dachary.org>
* | | | | test/common/get_command_descriptions: null terminate c stringSage Weil2013-09-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a bunch of trailing goop I see on my machine. Signed-off-by: Sage Weil <sage@inktank.com>
* | | | | Merge remote-tracking branch 'gh/next'Sage Weil2013-09-267-10/+42
|\ \ \ \ \ | |/ / / / |/| | / / | | |/ / | |/| | Conflicts: src/pybind/ceph_argparse.py
| * | | Merge pull request #648 from dmick/wip-6425Sage Weil2013-09-263-5/+28
| |\ \ \ | | | | | | | | | | | | | | | | | | | | ceph_argparse.py, cephtool/test.sh: fix blacklist with no nonce Reviewed-by: Sage Weil <sage@inktank.com>
| | * | | ceph_argparse.py, cephtool/test.sh: fix blacklist with no nonceDan Mick2013-09-263-5/+28
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's legal to give a CephEntityAddr to osd blacklist with no nonce, so allow it in the valid() method; also add validation of any nonce given that it's a long >= 0. Also fix comment on CephEntityAddr type description in MonCommands.h, and add tests for invalid nonces (while fixing the existing tests to remove the () around expect_false args). Fixes: #6425 Signed-off-by: Dan Mick <dan.mick@inktank.com>
| * | | Merge pull request #646 from liewegas/wip-6385Josh Durgin2013-09-261-0/+3
| |\ \ \ | | | | | | | | | | | | | | | | | | | | qa/run_xfstests.sh: use old xfstests until we adapt to new org Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| | * | | qa/run_xfstests.sh: use old xfstests until we adapt to new orgSage Weil2013-09-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tests were rearranged upstream; use an old version for the time being until we can refactor run_xfstests.sh to cope. See #6385 Signed-off-by: Sage Weil <sage@inktank.com>
| * | | | Merge pull request #647 from ceph/wip-ceph-cli-envJosh Durgin2013-09-261-1/+3
| |\ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | improve ceph clie CEPH_ARGS handling Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
| | * | | Revert "ceph: parse CEPH_ARGS environment variable"Sage Weil2013-09-261-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 67a95b9880c9bc6e858150352318d68d64ed74ad. We now put CEPH_ARGS in the actual args we parse in python, which are passed to rados piecemeal later. This lets you put things like --id ... in there that need to be parsed before librados is initialized.