Project

General

Profile

Actions

Feature #4690

open

krbd: support arbitrary length responses to class operations

Added by Josh Durgin about 11 years ago. Updated over 7 years ago.

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

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:

Description

Many class operations have unknown length. Reading the snapshot metadata for rbd, for example, is unbounded in total (there can be an arbitrary number of snapshots) and in part (a snapshot name has no length limit). Even if we don't read any snapshot names, the arbitrary number of snapshots (whose ids we need to form the SnapContext) can go over any limit set when the request is initially sent.

At some point the kernel client should be able to allocate more memory if needed for this kind of unbounded request. It could be in the messenger/osd client, when an incoming message has a longer payload than there is space for, or it could be a protocol where the client tells the osd how much space it has for the request, and the osd sends how much memory the response takes instead of the results if the results would be too long, and the client could retry with more memory allocated.

Actions #1

Updated by Jason Dillaman over 7 years ago

  • Project changed from rbd to Linux kernel client

@Ilya: was this already completed?

Actions #2

Updated by Ilya Dryomov over 7 years ago

  • Category set to libceph

No, just some groundwork.

Actions

Also available in: Atom PDF