`SocketMessenger::bind()` takes the address vector by `const&`.
while the callers in `OSD` are passing a temporary:
```cpp
cluster_msgr->bind(pick_addresses(CEPH_PICK_ADDRESS_CLUSTER))
// ...
public_msgr->bind(pick_addresses(CEPH_PICK_ADDRESS_PUBLIC))
// ...
```
```cpp
entity_addrvec_t pick_addresses(int what) {
// ...
return addrs;
}
```
The net result is a life-time mismatch and crashes like the following
one:
```
WARN 2021-09-10 20:01:57,791 [shard 0] ms - [osd.0(client) v2:172.17.0.1:6800/3172806564@59988 >> mgr.? v2:172.17.0.7:6800/3846062660] waiting 3.2 seconds ...
/opt/rh/gcc-toolset-9/root/usr/include/c++/9/bits/stl_iterator.h:820:17: runtime error: reference binding to misaligned address 0x000041b58ab3 for type 'const struct entity_addr_t', which requires 4 byte alignment
0x000041b58ab3: note: pointer points here
<memory cannot be printed>
/opt/rh/gcc-toolset-9/root/usr/include/c++/9/bits/stl_vector.h:1132:16: runtime error: reference binding to misaligned address 0x000041b58ab3 for type 'const struct value_type', which requires 4 byte alignment
0x000041b58ab3: note: pointer points here
<memory cannot be printed>
/home/jenkins-build/build/workspace/ceph-dev-new-build/ARCH/x86_64/AVAILABLE_ARCH/x86_64/AVAILABLE_DIST/centos8/DIST/centos8/MACHINE_SIZE/gigantic/release/17.0.0-7486-g27cb19ed/rpm/el8/BUILD/ceph-17.0.0-7486-g27cb19ed/src/msg/msg_types.h:561:22: runtime error: reference binding to misaligned address 0x000041b58ab3 for type 'const struct entity_addr_t', which requires 4 byte alignment
0x000041b58ab3: note: pointer points here
<memory cannot be printed>
Segmentation fault on shard 0.
```
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
* refs/pull/43044/head:
mgr/rook: add unit tests to Rook module
mgr/rook: translate placement spec to node selector and vice versa
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
* refs/pull/42943/head:
mon: do not quickly mark mds laggy when MON_DOWN
mon: refactor quorum age calculation
Reviewed-by: Kefu Chai <kchai@redhat.com>
Reviewed-by: Ramana Raja <rraja@redhat.com>
* refs/pull/42737/head:
mds: ensure that we send the btime in cap messages
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Reviewed-by: Jos Collin <jcollin@redhat.com>
* refs/pull/42719/head:
mgr/volumes: Fix permission during subvol creation with mode
Reviewed-by: Ramana Raja <rraja@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
As with Cache::get_extent, we need to check that the ref
is still valid after wait_io since it's not in the
read set yet.
Fixes: https://tracker.ceph.com/issues/52623
Signed-off-by: Samuel Just <sjust@redhat.com>
* refs/pull/42584/head:
doc: fix `daemon status` interface (exclude file system name)
test: adjust mirroring tests for `daemon status` change
mgr/mirroring: `daemon status` command does not require file system name
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
* refs/pull/42541/head:
client: switch to use ceph_assert instead of assert
mds: switch to use ceph_assert() instead of assert()
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
This particular overload is really only declaring the Transaction
conflicted -- it assumes the extent is already invalid. Rename to
mark_transaction_conflicted instead to avoid confusion with
invalidate(CachedExtent&).
Signed-off-by: Samuel Just <sjust@redhat.com>
crimson/os/seastore: minimize the static size of onode_layout_t
Reviewed-by: Chunmei Liu <chunmei.liu@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
crimson/seastore:: add binary search for lba and omap iterator search
Reviewed-by: Yingxin Cheng <yingxin.cheng@intel.com>
Reviewed-by: Samuel Just <sjust@redhat.com>
Fixes a lexical error in one line of code added in
90e9307ab0, removing the dependency
on lsb_release, on 8/16/2021.
Fixes: https://tracker.ceph.com/issues/52613
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
Otherwise, the client umount will hang due to inability to trim the
inodes looked up using the low-level interface. This results in slow-op
warnings and an eviction:
2021-09-11T17:23:31.097+0000 7f99c3522700 0 log_channel(cluster) log [WRN] : evicting unresponsive client smithi176 (9756), after 303.924 seconds
2021-09-11T17:23:31.097+0000 7f99c3522700 10 mds.0.server autoclosing stale session client.9756 172.21.15.176:0/3891214934 last renewed caps 303.924s ago
From: /ceph/teuthology-archive/yuriw-2021-09-11_16:21:09-smoke-pacific-distro-basic-smithi/6385038/remote/smithi175/log/ceph-mds.b.log.gz
Fixes: https://tracker.ceph.com/issues/52572
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
xmlstarlet is not used anymore while performing "make check", so drop it
from the build dependency list.
it is still used by the teuthology test though, so keep it as a
dependency of ceph-test.
Signed-off-by: Kefu Chai <kchai@redhat.com>
this change makes util-linux, xfsprogs and e2fsprogs runtime deps of ceph-volume
ceph-volume uses blkid and lsblk, which are in turn packaged by
util-linux.
util-linux were added as build dependency to fulfill the needs of
ceph-disk. and we tested ceph-disk as part of "make check", since
ceph-disk was dropped, there is no need to have util-linux as
build dependency anymore.
the same applies to e2fsprogs and xfsprogs
see also a991778341
Signed-off-by: Kefu Chai <kchai@redhat.com>