| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@inktank.com>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Sage Weil <sage@inktank.com>
|
|
|
|
|
|
| |
Fixes: #4612
Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
|
|\
| |
| |
| |
| | |
Wip objecter notier
Reviewed-by: Sage Weil <sage@inktank.com>
|
| |
| |
| |
| | |
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| | |
| | |
| | | |
osdc/ObjectCacher: limit writeback IOs generated while holding lock
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|\ \ \
| | | |
| | | | |
Reviewed-by: Greg Farnum <greg@inktank.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| |/ /
|/| |
| | |
| | | |
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
|\ \
| | |
| | |
| | |
| | | |
sloppy / opportunistic CRC tracking in the filestore
Reviewed-by: Samuel Just <sam.just@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Opportunistically track CRCs for data we write and verify it for data
we read.
Signed-off-by: Sage Weil <sage@inktank.com>
|
| |/
| |
| |
| |
| |
| | |
Signed-off-by: Sage Weil <sage@inktank.com>
sloppy
|
|\ \
| |/
|/|
| |
| | |
Wip copy cleanups
Reviewed-by: Sage Weil <sage@inktank.com>
|
| |
| |
| |
| |
| |
| | |
We never placed any ops here, and so we weren't ever requeuing any ops.
Signed-off-by: Greg Farnum <greg@inktank.com>
|
| |
| |
| |
| | |
Signed-off-by: Greg Farnum <greg@inktank.com>
|
|/
|
|
|
|
|
| |
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>
|
|\
| |
| |
| |
| | |
Conflicts:
src/common/crc32c_intel_fast.c
|
| |\
| | |
| | |
| | |
| | | |
ceph.in: fix missing exception variable in failure to open -o file
Reviewed-by: Sage Weil <sage@inktank.com>
|
| | |
| | |
| | |
| | |
| | | |
Fixes: #6424
Signed-off-by: Dan Mick <dan.mick@inktank.com>
|
| |\ \
| | |/
| |/|
| | |
| | | |
Wip 6397
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Parser handles that by itself.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Fixes: #6397
Previous implementation did not user the constructor with the length
param.
Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Regression test for #6047
Signed-off-by: Joao Eduardo Luis <jecluis@gmail.com>
(cherry picked from commit b2b0f202ea8a0028e7e27664b3ea6b9b8cdafe6e)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
autoconf: fix build out of tree
Reviewed-by: Sage Weil <sage@inktank.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
fixes: #6389
Signed-off-by: John Wilkins <john.wilkins@inktank.com>
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
fix some issues with ceph_test_rados
Reviewed-by: Samuel Just <sam.just@inktank.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We update this on snap create and delete; no need to do it any other
time.
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | | | |
| | | | |
| | | | |
| | | | | |
Signed-off-by: Sage Weil <sage@inktank.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
|\ \ \ \ \
| | | | | |
| | | | | | |
pybind: update osd blacklist tests for nonce
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This fixes a bunch of trailing goop I see on my machine.
Signed-off-by: Sage Weil <sage@inktank.com>
|
|\ \ \ \ \
| |/ / / /
|/| | / /
| | |/ /
| |/| | |
Conflicts:
src/pybind/ceph_argparse.py
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
ceph_argparse.py, cephtool/test.sh: fix blacklist with no nonce
Reviewed-by: Sage Weil <sage@inktank.com>
|
| |/ / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| |\ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
qa/run_xfstests.sh: use old xfstests until we adapt to new org
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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>
|
| |\ \ \ \
| | |/ / /
| |/| | |
| | | | |
| | | | | |
improve ceph clie CEPH_ARGS handling
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|