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 #1

Updated by Sage Weil over 12 years ago

  • Project changed from Ceph to Linux kernel client
  • Category deleted (OSD)
Actions #2

Updated by Sage Weil over 12 years ago

  • Translation missing: en.field_position set to 16
Actions #3

Updated by Josh Durgin about 9 years ago

  • Target version set to sprint2
Actions #4

Updated by Ilya Dryomov almost 8 years ago

  • Category set to libceph
  • Status changed from New to Closed

OSD client has been rewritten in 4.7. We now rely on handle_timeout(), which requests a new map if there are homeless requests.

Actions

Also available in: Atom PDF