Project

General

Profile

Actions

Feature #10933

open

refactor krbd map/unmap paths

Added by Ilya Dryomov about 9 years ago. Updated almost 4 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
rbd
Target version:
-
% Done:

0%

Source:
Development
Tags:
Backport:
Reviewed:
Affected Versions:

Description

Off the top of my head:

- get rid of struct rbd_mapping (put actual mapping values into struct rbd_image_header instead of keeping around both base image and actual mapping values with the possibility of confusing them)
- decouple header read-in from running checks (supported features, etc)
- split struct rbd_device into struct rbd_device (dev_id, major, minor, watch, sysfs, etc) and struct rbd_image (the point being not have semi-initialized block layer and sysfs stuff in base image descriptor)
- pack multiple cls method calls into one osd request to reduce the number of osd requests we issue on map (similar to cls_client::get_[im]mutable_metadata(), longer term we should probably work on making that a single request, but that may involve creating new cls methods)
- eliminate asymmetries and inconsistencies (things like rbd_dev_mapping_clear() being called twice on unmap, etc)


Related issues 4 (4 open0 closed)

Related to Linux kernel client - Cleanup #11230: get rid of struct rbd_mappingNewDouglas Fuller

Actions
Related to Linux kernel client - Cleanup #11232: split up struct rbd_device into struct rbd_device and struct rbd_imageNew

Actions
Related to Linux kernel client - Cleanup #11233: decouple header read-in from running checks (supported features, etc)New

Actions
Related to Linux kernel client - Fix #11234: rbd does many requests to the header on start-upFix Under ReviewDouglas Fuller

Actions
Actions #1

Updated by Josh Durgin about 9 years ago

  • Target version set to sprint2
Actions #2

Updated by Patrick Donnelly almost 4 years ago

  • Target version deleted (sprint2)

Unsetting old target version for open tickets.

Actions

Also available in: Atom PDF