Reversing 1 delete from
09d3f546b3
Clang trips over this:
home/jenkins/workspace/ceph-master/src/common/ConfUtils.cc:94:19: error: implicit instantiation of undefined template 'std::__1::basic_ostringstream<char, std::
__1::char_traits<char>, std::__1::allocator<char> >'
ostringstream oss;
^
/usr/include/c++/v1/iosfwd:123:32: note: template is declared here
class _LIBCPP_TEMPLATE_VIS basic_ostringstream;
^
Signed-off-by: Willem Jan Withagen <wjw@digiware.nl>
Say a object who has data caches, but in a while later, caches' underlying
physical device has silent disk erros accidentally, then caches and physical
data are not same. In such case, deep-scrub operation still tries to read
caches firstly and won't do crc checksum, then deep-scrub won't find such
data corruptions timely.
Here introduce a new flag 'CEPH_OSD_OP_FLAG_BYPASS_CLEAN_CACHE' which tells
deep-scrub to bypass object caches. Note that we only bypass cache who is in
STATE_CLEAN state. For STATE_WRITING caches, currently they are not written
to physical device, so deep-scrub operation can not read physical device and
can read these dirty caches safely. Once they are in STATE_CLEAN state(or not
added to bluestore cache), next round deep-scurb can check them correctly.
As to above discussions, I refactor BlueStore::BufferSpace::read sightly,
adding a new 'flags' argument, whose value will be 0 or:
enum {
BYPASS_CLEAN_CACHE = 0x1, // bypass clean cache
};
flags 0: normal read, do not bypass clean or dirty cache
flags BYPASS_CLEAN_CACHE: bypass clean cache, currently only for deep-scrube
operation
Test:
I deliberately corrupt a object with cache, with this patch, deep-scrub
can find data error very timely.
Signed-off-by: Xiaoguang Wang <xiaoguang.wang@easystack.cn>
Relocate an already existing async validator into a separate validator that can be reused by every other form. This validator is useful to check immediately after typing if an entered value, e.g. username, already exists.
The API request will be triggered after a delay of 500ms (can be modified). During this delay, every keystroke will reset the timer, so the REST API is not flooded with request.
Signed-off-by: Volker Theile <vtheile@suse.com>
Replaced the image of a Mimic octopus with a Nautilus octopus in
preparation for the new major release code name.
The image was taken from Flickr (https://www.flickr.com/photos/146401137@N06/40335060661) and is
licensed under the Creative Commons "Attribution 2.0 Generic"
(CC BY 2.0) license.
Fixes: https://tracker.ceph.com/issues/24489
Signed-off-by: Lenz Grimmer <lgrimmer@suse.com>
include/types: move operator<< into the proper namespace
Reviewed-by: Adam C. Emerson <aemerson@redhat.com>
Reviewed-by: Casey Bodley <cbodley@redhat.com>
cmake: no need to add "-D" before definitions
Reviewed-by: Casey Bodley <cbodley@redhat.com>
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
Reviewed-by: Ali Maredia <amaredia@redhat.com>
For now at least.. unless all of the tests have been adjusted accordingly
to expect a device_health_metrics pool.
Signed-off-by: Sage Weil <sage@redhat.com>
we cannot assume the included header alway indirectly include the use types
in this case, CephContext is defined by ceph_context.h, and
g_ceph_context is declared by global_context.h. so we need to included
them respectively.
and remove unused headers.
Signed-off-by: Kefu Chai <kchai@redhat.com>