Project

General

Profile

Actions

Subtask #4127

closed

Feature #2770: krbd: define tasks to add osd_client compound class op support

kernel osd client: clearly separate read and write data buffers

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

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

100%

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

Description

The osd client (and messenger) have generally speaking one
field representing either the data to be sent or the
data to be received for a given osd request.

As a specific example, there is a "pages" field (and a few
other related) that defines an array of pages. For a read
request, those pages contain data to be sent. For a write
request, those pages are where incoming data lands.

As a result, it is not always clear how they are going to
be used, and in a few cases the code is a little sloppy
about that. (Example: pages is passed to the request
message for a READ operation, and will never be used for
that, in ceph_osdc_start_request().)

It also means you can't use pages for both reading and
writing (or maybe you can, but this is not well defined
behavior).

In order to rearrange things to support sending data of
multiple types (pagelist, and bio, for example) in different
orders (pagelist then page array, specifically), this
needs to be sorted out.


Subtasks 1 (0 open1 closed)

Subtask #4263: libceph: clearly abstract message data operationsResolvedAlex Elder02/25/2013

Actions
Actions

Also available in: Atom PDF