Project

General

Profile

Actions

Feature #3861

closed

rbd: consider splitting rbd_osd_req_op_create()

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

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

0%

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

Description

When it was out for review, Josh suggested that it might
be better to have separate (type-checking) functions for
building osd operations rather than using the varargs
approach now in rbd_osd_req_op_create().

Consider that.

Actions #1

Updated by Alex Elder about 11 years ago

  • Project changed from Linux kernel client to rbd
Actions #2

Updated by Alex Elder about 11 years ago

  • Status changed from New to In Progress

I implemented this a few weeks ago. I'm finally getting
back to updating it to match the latest code, so this
time I'm indicating it's in progress.

It actually got done in support of cleaning up the
code all over the place that builds up osd ops, so
it can get done centrally and can therefore be a
bit easier to manage doing multiple ops consistenly.

Actions #3

Updated by Alex Elder about 11 years ago

I have posted the following patches for review. The first
two are really cleanup leading to the third, which
actually defines separate functions for formatting
source information for osd ops in an osd request, and
uses them instead of the varargs function in rbd.

The last four patches make use of the extent op format
function in ceph_osdc_new_request(), which is used
by the file system code for building up osd requests.
The last one implements it, but the three before it
were needed to make that possible.

[PATCH] ceph: move max constant definitions
[PATCH] libceph: define osd_req_opcode_valid()
[PATCH] libceph: define source request op functions

[PATCH 0/4] libceph: use op formatter for ceph_osdc_new_request()
[PATCH 1/4] libceph: pass offset and length out of calc_layout()
[PATCH 2/4] libceph: don't update op in calc_layout()
[PATCH 3/4] libceph: clean up ceph_osd_new_request()
[PATCH 4/4] libceph: use osd_req_op_extent_init()

Actions #4

Updated by Alex Elder about 11 years ago

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

Updated by Alex Elder about 11 years ago

  • Status changed from Fix Under Review to Resolved
  • Target version set to v0.62a

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

76aa2dc ceph: move max constant definitions
506ff60 libceph: define osd_req_opcode_valid()
408e78c libceph: define source request op functions
2547105 libceph: pass offset and length out of calc_layout()
c6e66bc libceph: don't update op in calc_layout()
c1d5b88 libceph: clean up ceph_osd_new_request()
682226a libceph: use osd_req_op_extent_init()

Actions

Also available in: Atom PDF