Project

General

Profile

Actions

Bug #4428

closed

libceph: use cursor for reads

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

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
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 abstract message data item and cursor defined so far
is used for outbound data. It should be used for incoming
data as well, and once that's in place there is quite a
bit of cleanup that can be done with the old code.

This will require a series of smaller changes to implement
but I wanted to record it as a separate block of work.

Actions #1

Updated by Alex Elder about 11 years ago

Actions #2

Updated by Alex Elder about 11 years ago

  • Status changed from In Progress to Fix Under Review

The following patches have been posted for review.

[PATCH 0/4] libceph: use cursor for incoming data
[PATCH 1/4] libceph: use cursor for bio reads
[PATCH 2/4] libceph: kill ceph message bio_iter, bio_seg
[PATCH 3/4] libceph: use cursor for inbound data pages
[PATCH 4/4] libceph: get rid of read helpers

[PATCH 0/4] libceph: get rid of ceph_msg_pos
[PATCH 1/4] libceph: use cursor resid for loop condition
[PATCH 2/4] libceph: kill most of ceph_msg_pos
[PATCH 3/4] libceph: kill last of ceph_msg_pos
[PATCH 4/4] libceph: use only ceph_msg_data_advance()

Actions #3

Updated by Alex Elder about 11 years ago

All of the patches mentioned above except two have now been
committed to the ceph-client "testing" branch:

516c7b11 libceph: kill most of ceph_msg_pos
a4f322d libceph: use cursor resid for loop condition
a117c18 libceph: collapse all data items into one
be07b9a libceph: get rid of read helpers
db32373 libceph: no outbound zero data
ec6c563 libceph: use cursor for inbound data pages
887427a libceph: kill ceph message bio_iter, bio_seg
f0b1db4 libceph: use cursor for bio reads

Three others are on hold (I think until tomorrow) because
the first of them was causing errors when a connection
got reset (see http://tracker.ceph.com/issues/4450).

libceph: kill last of ceph_msg_pos
libceph: use only ceph_msg_data_advance()
libceph: make message data be a pointer
Actions #4

Updated by Alex Elder about 11 years ago

  • Status changed from Fix Under Review to Resolved

The following have been committed to the ceph-client "testing"
branch:

ad92e0f libceph: kill last of ceph_msg_pos
0267c91 libceph: don't add to crc unless data sent
b91536b libceph: use only ceph_msg_data_advance()
c658410 libceph: make message data be a pointer

The second one is actually a bug fix for the first,
and that work was done under a separate bug
(http://tracker.ceph.com/issues/4450).

Actions

Also available in: Atom PDF