The actual code is resetting the statistics before doing the actual compilation and prints them after the build.
That is nice to understand how much the cache was used but doesn't help understanding how much it _could_ have been used.
This patch is adding a reporting (-s) when cleaning the statistics so we can estimate :
- the actual number of files in cache
- the actual size of the cache
With this two missing information, its now possible estimate if there is some miss-usage of the cache.
Signed-off-by: Erwan Velu <erwan@redhat.com>
* add FindGMock.cmake which allows user to use the libgtest-dev
shipped by distro
* add GMock::{GMock,Main}, GTest::{GTest,Main} targets to be
compatible with FindGTest.cmake and FindGMock.cmake, which
expose the built libraries with properties adhered to
them. so the consumer of them can import them in a better way.
* update tests to drop the commands like
set_target_properties(foo PROPERTIES COMPILE_FLAGS ${UNITTEST_CXX_FLAGS}),
as they are already linked against gmock and gtest.
Signed-off-by: Kefu Chai <kchai@redhat.com>
* add dpdk::dpdk if dpdk is built or found, as seastar checks for
it before adding its component libraries. if user installs libdpdk
and builds WITH_SEASTAR=ON or WITH_DPDK=ON, cmake fails to configure
the building system without this fix.
* add dpdk::cflags target for populating the -march=<arch> compile
option.
* also use pkg-config for finding dpdk.
* link common_async_dpdk against dpdk::dpdk instead
please note, the reason why we can remove the "-march=native" compile
option from Finddpdk.cmake, is that the distro shipped header files
are "generic" in the sense of "-march=<ARCH>", they do not enable
the arch specific intrinsic by default, hence the source files
including them do not need specific compiler options.
Signed-off-by: Kefu Chai <kchai@redhat.com>
... rather than accessing it as an array. also convert
to range loops whereever necessary. plus some style
fixes.
Fixes: https://tracker.ceph.com/issues/25113
Signed-off-by: Venky Shankar <vshankar@redhat.com>
-march=native causes gcc to use opcodes according to whichever CPU happens to
be installed in the build host, which can be different for every build. This
makes it impossible to achieve a reproducible build.
Also, if the build host has a very new CPU, running the resulting binaries on
older CPUs (of the same family, i.e. x86_64) could result in segmentation
fault.
References: http://tracker.ceph.com/issues/24948
Signed-off-by: Nathan Cutler <ncutler@suse.com>
If mds imports scatterlock's parent inode later, the leftover flushed
flag may prevent Locker::eval_gather from calling scatter_writebehind
and result incorrect dirstat/neststat.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
When exporting a large subtree, migrator may only exports some portions
of the subtree. This patch makes migrator continue to export the rest
partions when previous operations finish.
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
The old way is checking export size after subtree gets frozen. It may
freeze a large subtree, but only exports small portion of the subtree.
The new way is choosing some subdirs according to the max export size,
then freeze these subdirs.
http://tracker.ceph.com/issues/25131
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
filepath::depth() may call parse_bits(), which modifies mutable member
'bits'. dump_ops_in_flight asok command prints filepath without holding
mds_lock. So multiple threads may call parse_bits() at the same time.
Fixes: http://tracker.ceph.com/issues/26894
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
dump_ops_in_flight asok command dumps MDRequestImpl without holding
mds_lock. MDS may free MDRequestImpl::slave_request in the middle of
dumping MDRequestImpl.
Fixes: http://tracker.ceph.com/issues/26894
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
By definition, async_recovery_targets should have a lower
priority than those coming from the acting set.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Add second dh_python2 call with the "private" dir /usr/lib/ceph/mgr
Fixes: http://tracker.ceph.com/issues/26883
Signed-off-by: Dan Mick <dan.mick@redhat.com>
By enconding all parameters of api services we were also encoding parameters
that were being sent in the body of the request.
Those parameters don't need to be enconded and the server never decodes them.
With this new decorator you can specify if you don't want a parameter to be
enconded.
This is a regression introduced in f21d0da5a3.
Fixes: http://tracker.ceph.com/issues/26856
Signed-off-by: Tiago Melo <tmelo@suse.com>
Now background tasks and recent notifications won't differ in their
wording anymore and all notifications have the same style.
Fixes: https://tracker.ceph.com/issues/24460
Signed-off-by: Stephan Müller <smueller@suse.com>
One might face an assertion (assert(intervals <= max_intervals))
in StupidAllocator::get_fragmentation method for clusters created
by early Luminous releases and before. The root cause is that block
volume size wasn't aligned with min_alloc_size and hence we missed
that last fraction interval during max_interval calculation.
Signed-off-by: Igor Fedotov <ifedotov@suse.com>