Project

General

Profile

Actions

Subtask #4657

closed

Feature #3761: kernel messenger: need to support multiple ops per request

libceph: have each op describe its own data

Added by Alex Elder about 11 years ago. Updated about 11 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:

Description

Each osd request has an array of osd operations (ops). Each
op can have a data item associated with it.

Currently, an op has either no data, one data item for outgoing
data (like a write), one data item for incoming data (like a
read), or one outgoing and one incoming data item (object class
method call).

And currently, no osd request ever needs more than one op that
has data. So it's sufficient to maintain just two data items
for all requests--one for outgoing data, and one for incoming.

We need more than that to suppot layering, though. And to
match what we need, each op should maintain its own data item
information rather than sharing them among all ops in a request.

So we need to arrange things so each op defines the one or
more data items it needs. Then the information about them
needs to be transferred to the request or response message
so it can be processed by the messenger.

This work has been underway but it is (or was) worthy of
its own separate description, so I've done that after the
fact, here...

Actions

Also available in: Atom PDF