Project

General

Profile

Actions

Bug #62281

open

Osd didn't set correct numa because interface was not found.

Added by Shimon Tanny 9 months ago. Updated 4 months ago.

Status:
Fix Under Review
Priority:
Normal
Assignee:
-
Category:
common
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
Yes
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

On setup with multiple interfaces and multi-core

Notice On startup that the OSD didn't set numa affinity.

saw in OSD logs that could not find interface.

check function pick_iface and saw that function is sending the first pointer for all interface

function should send the addr pointer and not the ifa pointer to the matches_with_net function.

std::string pick_iface(CephContext *cct, const struct sockaddr_storage &network) {
struct ifaddrs *ifa;
int r = getifaddrs(&ifa);
....
for (auto addr = ifa; addr != nullptr; addr = addr->ifa_next) {
if (matches_with_net(*ifa, (const struct sockaddr *) &network, prefix_len,
CEPH_PICK_ADDRESS_IPV4 | CEPH_PICK_ADDRESS_IPV6)) {
return addr->ifa_name;
}
}
return {};

Actions #2

Updated by Kefu Chai 5 months ago

  • Status changed from New to Fix Under Review
  • Pull request ID set to 52764
Actions #3

Updated by Ilya Dryomov 4 months ago

  • Target version deleted (v17.2.7)
Actions

Also available in: Atom PDF