Rbd - Copy-on-read for clones in kernel rbd client » History » Version 1
Jessica Mack, 07/03/2015 09:32 PM
1 | 1 | Jessica Mack | h1. Rbd - Copy-on-read for clones in kernel rbd client |
---|---|---|---|
2 | |||
3 | h3. Summary |
||
4 | |||
5 | Add feature copy-on-read in kernel rbd client to improve read performance of clones |
||
6 | |||
7 | h3. Owners |
||
8 | |||
9 | * Min Chen (minchen@ubuntukylin.com) |
||
10 | * Li Wang (liwang@ubuntukylin.com) |
||
11 | * Name |
||
12 | |||
13 | h3. Interested Parties |
||
14 | |||
15 | * Name (Affiliation) |
||
16 | * Name (Affiliation) |
||
17 | * Name |
||
18 | |||
19 | h3. Current Status |
||
20 | |||
21 | The kernel rbd client does not support clones copy-on-read. We have implement it in librbd |
||
22 | at File:/C:\Users\ADMINI~1\AppData\Local\Temp\[5UQ[BL(6~BS2JV6W}N6[%S.pnghttps://github.com/ceph/ceph/pull/1808 |
||
23 | |||
24 | h3. Detailed Description |
||
25 | |||
26 | Network latency will be the bottleneck of reading object not exist in clone , because it will read object |
||
27 | from parent. We will use the same algorithm of copy-on-read in librbd. Firstly, read data from clone if |
||
28 | it exists, or else send request to its parent. Secondly, after get the object from parent, in callback function |
||
29 | write it directly into clone asynchronously with cls copyup. In addition, read the entire object from parent. |
||
30 | |||
31 | h3. Work items |
||
32 | |||
33 | h4. Coding tasks |
||
34 | |||
35 | # Add an copy-on-read option |
||
36 | # In function rbd_img_obj_request_submit(), sending read request to parent. |
||
37 | |||
38 | h4. Build / release tasks |
||
39 | |||
40 | # Task 1 |
||
41 | # Task 2 |
||
42 | # Task 3 |
||
43 | |||
44 | h4. Documentation tasks |
||
45 | |||
46 | # Task 1 |
||
47 | # Task 2 |
||
48 | # Task 3 |
||
49 | |||
50 | h4. Deprecation tasks |
||
51 | |||
52 | # Task 1 |
||
53 | # Task 2 |
||
54 | # Task 3 |