Project

General

Profile

Actions

Bug #4407

closed

libceph: kill the message trail

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:
Regression:
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

The ceph messenger supports a pagelist for its data in
addition to the trail (which is also a pagelist).

The trail is only used by the osd client in support of
object class method calls, and was added to allow the
method to provide input parameters to the method and
supply output data in a different data field (the message's
pages field is used for output in this case).

In reworking the messenger code to allow multiple data
sources it has become clear that we can now eliminate the
trail. An osd client now records input and output
data for a request separately, so it's no longer necessary
to use distinct fields in the message to describe the
locations for incoming and outgoing data (i.e., the
pages and trail).

Furthermore, there is in place a pagelist in a message
that's used in the file system code. So what had been
put into the trail can instead just be stored as a
"normal" pagelist for the outgoing data of the request.

I'm calling this a bug because that trail notion made
some code more complicated than it needed to be. :)


Related issues 1 (0 open1 closed)

Related to rbd - Cleanup #4403: libceph: refactor messenger for multiple data sourcesResolvedAlex Elder03/09/2013

Actions
Actions #1

Updated by Alex Elder about 11 years ago

I have posted for review the following patches that resolve this.

[PATCH 1/4] libceph: have osd requests support pagelist data
[PATCH 2/4] libceph: kill osd request r_trail
[PATCH 3/4] libceph: kill message trail
[PATCH 4/4] libceph: more cleanup of write_partial_msg_pages()

Actions #2

Updated by Alex Elder about 11 years ago

  • Status changed from In Progress to Fix Under Review
Actions #3

Updated by Alex Elder about 11 years ago

  • Status changed from Fix Under Review to Resolved

In order to do this, the osd client had to stop using
the trail, and doing that required enabling the use of
a pagelist for message data (which turned out to be very
easy now). I'll add one more patch to the list below
that covered the cleanup of code possible now that the
message trail is gone.

These patches have been reviewed and are now committed to
the ceph-client testing branch.
b4ae545 libceph: have osd requests support pagelist data
7e24d23 libceph: kill osd request r_trail
9856a63 libceph: kill message trail
f6a8ba1 libceph: more cleanup of write_partial_msg_pages()

Actions

Also available in: Atom PDF