Project

General

Profile

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

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

  1. Add an copy-on-read option
  2. In function rbd_img_obj_request_submit(), sending read request to parent.

Build / release tasks

  1. Task 1
  2. Task 2
  3. Task 3

Documentation tasks

  1. Task 1
  2. Task 2
  3. Task 3

Deprecation tasks

  1. Task 1
  2. Task 2
  3. Task 3