Project

General

Profile

Actions

Cleanup #1768

closed

osd_client: gratuitous ceph_monc_request_next_osdmap calls

Added by Anonymous over 12 years ago. Updated almost 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
libceph
Target version:
% Done:

0%

Tags:
Backport:
Reviewed:
Affected Versions:

Description

kick_requests() is called from within a loop that iterates through multiple OSD map updates ... which means that it may be called multiple times in a row.

If some queued request does not have an OSD in the current map, kick_requests() issues a monitor request for a new map before returning ... even if we already have (but simply have not yet processed) the update that cures the problem.

It would be more efficient to simply have kick_requests() return a value indicating whether or not a new map is needed. ceph_osdc_handle_map() would ignore this value for all but the final call to kick_requests() and only request an updated map if required OSDs were still not available.

Actions

Also available in: Atom PDF