be more permissive to address the following failure:
test_weighted_shuffle.cc:36: Failure
The difference between float(w) / total_weight and float(f.front()) /
samples is 0.010334432125091553, which exceeds epsilon, where
float(w) / total_weight evaluates to 0.53763443231582642,
float(f.front()) / samples evaluates to 0.52730000019073486, and
epsilon evaluates to 0.0099999997764825821
Signed-off-by: Kefu Chai <kchai@redhat.com>
if we mkfs and stop the engine, any calls using the engine should/will
fail after `seastar::engine().exit(0)`. in the case of reactor::at_exit(),
it has:
assert(!_stopping);
in this change, we register the at_exit() calls before scheduling the
`engine().exit(0)` call.
Signed-off-by: Kefu Chai <kchai@redhat.com>
With discard_granularity set to alloc_size, we no longer get object
size alignment from blk_bio_discard_split().
This assumption is pretty deeply ingrained in krbd_data_pool.sh, so
make it explicit. For krbd_fallocate.sh, just fix the expectation.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
The test case is issuing discards that span two objects: the tail of
the first object is truncated, the head of the second object is zeroed.
These discards aren't serial, so there is a race:
discard i ~ i + 1: truncate i, zero i + 1
discard i + 1 ~ i + 2: truncate i + 1, zero i + 2
can be executed as
truncate i + 1, zero i + 2, truncate i, zero i + 1
For object i + 1, the sequence ends up being truncate tail, then zero
head. This zero op is munged to truncate on the OSD, resulting in size
0 instead of OBJECT_SIZE / 2.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
* refs/pull/27156/head:
common/blkdev: get_device_id: behave if model is lvm and id_model_enc isn't there
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
If that happens, leave ID_MODEL blank and we'll fall back to something
else, like ID_SERIAL (which is present in each case I've seen this).
Signed-off-by: Sage Weil <sage@redhat.com>
ceph-common depends on librados2, but ceph-immutable-object-cache only
uses librados2's C++ API, so librados2 would suffice.
rpmbuild is able to figure out the .so dependencies, and let
ceph-immutable-object-cache depend on the package which offers
librados2, but we'd better make sure immutable-object-cache is linked
against the librados2 of the same version, to ensure that librados2
offers the correct C++ symbols. as we only version the C++ API in the
librados2 after nautilus.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* remove "libradospp1" from immutable-object-cache's runtime
dependencies. this package was removed in 65c8733b
Signed-off-by: Kefu Chai <kchai@redhat.com>
as immutable-object-cache has the prefix of "ceph", no need to use "-n"
option. so this change is but a cleanup.
* use "%package immutable-object-cache" not "%package
ceph-immutable-object-cache" for naming subpackage of
"ceph-immutable-object-cache". this would result in package name of
"ceph-immutable-object-cache". see
http://ftp.rpm.org/max-rpm/s1-rpm-subpack-spec-file-changes.html
* the same applies to other directives with "-n" options, see
http://ftp.rpm.org/max-rpm/s1-rpm-inside-package-directive.html
Signed-off-by: Kefu Chai <kchai@redhat.com>
replace emplace() and emplace_back() with insert() and push_back()
calls to construct the new element in-place and avoid the overhead
of move constructor calls
Signed-off-by: Zengran Zhang <zhangzengran@sangfor.com.cn>
This way it can be used to fast cancel/undo the last command.
Also make the tip message a litter bit nicer..
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>