Rbd - Copy-on-read for clones in kernel rbd client¶
Summary¶
Add feature copy-on-read in kernel rbd client to improve read performance of clones
Owners¶
- Min Chen (minchen@ubuntukylin.com)
- Li Wang (liwang@ubuntukylin.com)
- Name
Interested Parties¶
- Name (Affiliation)
- Name (Affiliation)
- Name
Current Status¶
The kernel rbd client does not support clones copy-on-read. We have implement it in librbd
at https://github.com/ceph/ceph/pull/1808
Detailed Description¶
Network latency will be the bottleneck of reading object not exist in clone , because it will read object
from parent. We will use the same algorithm of copy-on-read in librbd. Firstly, read data from clone if
it exists, or else send request to its parent. Secondly, after get the object from parent, in callback function
write it directly into clone asynchronously with cls copyup. In addition, read the entire object from parent.
Work items¶
Coding tasks¶
- Add an copy-on-read option
- In function rbd_img_obj_request_submit(), sending read request to parent.
Build / release tasks¶
- Task 1
- Task 2
- Task 3
Documentation tasks¶
- Task 1
- Task 2
- Task 3
Deprecation tasks¶
- Task 1
- Task 2
- Task 3