ll_lookup_inode can end up getting back 0 from _lookup_parent,
without zeroing out the parent pointer, which ends up remaining
uninitialized.
Fix this by moving most of the sanity checks in _lookup_parent
into ll_lookup_inode, and only have it issue the call to the MDS.
This also allows us to do the checks in a more sane order.
Fixes: http://tracker.ceph.com/issues/40085
Signed-off-by: Jeff Layton <jlayton@redhat.com>
* refs/pull/26547/head:
Added validation of zabbix_host to support hostnames, IPv4 and IPv6.
mgr/zabbix: Documentation added.
mgr/zabbix: Adds possibility to send data to multiple zabbix servers.
Reviewed-by: Wido den Hollander <wido@42on.com>
* refs/pull/28200/head:
pybind/mgr: add slash to prometheus illegal metric name characters
pybind/mgr: fix format for rbd-mirror prometheus metrics
Reviewed-by: Jason Dillaman <dillaman@redhat.com>
* refs/pull/28300/head:
doc: cephfs: add section on fsync error reporting to posix.rst
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Sage Weil <sage@redhat.com>
should make it `PUBLIC` because, for instance,
src/rbd_replay/actions.hpp uses
`rbd_replay::action::IoActionBase::dump()` and
`rbd_replay::action::ActionBase::dump()`
Signed-off-by: Kefu Chai <kchai@redhat.com>
if `WITH_RADOSGW_AMQP_ENDPOINT` is enabled, we should always link rgw
applications against `RabbitMQ::RabbitMQ` or `amqp_mock`, so, to
simplify the linkage dependencies, we should just use `${rgw_libs}`
instead of using `rgw_a` directly.
Signed-off-by: Kefu Chai <kchai@redhat.com>
the value for rgw_dns_name isn't known until a machine is assigned, so
it can't be set via 'override: conf:'. add a per-client config option
to the rgw task so it can add the endpoint's hostname and/or s3website
hostname on the radosgw command line
Signed-off-by: Casey Bodley <cbodley@redhat.com>
If the leader is the one with the accurate clock, it can still
form quorum, but if the leader has the skewed clock, all other mons appear
skewed from its perspective and no quorum is formed. This leads to
intermittent failures, depending on the non-deterministic teuthology
deployment order and how the mon IPs sort.
Fix by reducing the skew. This is enough skew to trigger a warning, but
not enough that it will break quorum. This ensures that the parts of the
teuthology test that issue random mon commands won't fail (e.g., 'ceph osd
dump').
Fixes: http://tracker.ceph.com/issues/40112
Signed-off-by: Sage Weil <sage@redhat.com>
It should always be the preferred option to kill the unnecessary
or duplicated code, which is good for maintenance.
Also I've noticed there is already a clean_temps helper, so re-naming
maybe_remove_pg_upmaps to clean_pg_upmaps to at least keep pace with
that sounds to be a natural choice for me..
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
PriorityCache.cc uses `ceph_heap_*` functions, and libkv contains
`PriorityCache.cc`, so it should link against libheap_profiler.
Signed-off-by: Kefu Chai <kchai@redhat.com>
unlike C language, C++ is put struct names and other names in a single
namespace. so we don't need to add `strcut` before struct identifiers.
Signed-off-by: Kefu Chai <kchai@redhat.com>
rook does not use "embedded" ceph anymore. and we've dropped the
embedded build support, so remove this function.
Signed-off-by: Kefu Chai <kchai@redhat.com>
as both `kv/rocksdb_cache/BinnedLRUCache.cc` and
`kv/rocksdb_cache/ShardedCache.cc` uses `PriorityCache` which is in turn
offered by common_prioritycache_obj, we need to link libkv against the
latter.
libos uses `PriorityCache` as well, but since libos links against
libkv, so it's safe.
Signed-off-by: Kefu Chai <kchai@redhat.com>
libkv is better than kv_objs, as it is able to bring more
properties with with it, for instance, the public include
directories, the public/private libraries it is linked against.
Signed-off-by: Kefu Chai <kchai@redhat.com>
which is extremely time-consuming.
Half of the amount of time of calling maybe_remove_pg_upmaps
has been saved by applying this patch as a result..
Was: maybe_remove_pg_upmaps (~10000 pg_upmap_items) latency:104s
Now: maybe_remove_pg_upmaps (~10000 pg_upmap_items) latency:56s
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
The upmap results are directly applied after calling
_pg_to_raw_osds, which means it basically has nothing to do
with the up/down status.
In other words, if a pg_upmap/pg_upmap_items remapped a pg
into some down osds and is now causing collided result,
we should still be able to detect and cancel that.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
Tom Byrne reported that maybe_remove_pg_upmap might become
super inefficient for large clusters with balancer on.
To identify and resolve the problem, we need to add some good
measurements first.
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
instead of putting all types in a single compilation unit, split them
into smaller groups, in hope to reduce the memory footprint of compiler
when compiling ceph_dencoder.cc.
sometimes, GCC just fails to compile this source file.
Fixes: http://tracker.ceph.com/issues/39595
Signed-off-by: Kefu Chai <kchai@redhat.com>