Project

General

Profile

Feature #10933

refactor krbd map/unmap paths

Added by Ilya Dryomov almost 4 years ago. Updated over 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
rbd
Target version:
Start date:
02/24/2015
Due date:
% Done:

0%

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

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

Related to Linux kernel client - Cleanup #11230: get rid of struct rbd_mapping New 03/25/2015
Related to Linux kernel client - Cleanup #11232: split up struct rbd_device into struct rbd_device and struct rbd_image New 03/25/2015
Related to Linux kernel client - Cleanup #11233: decouple header read-in from running checks (supported features, etc) New 03/25/2015
Related to Linux kernel client - Fix #11234: rbd does many requests to the header on start-up Need Review 03/25/2015

History

#1 Updated by Josh Durgin over 3 years ago

  • Target version set to sprint2

Also available in: Atom PDF