Create crush library » History » Version 1
Jessica Mack, 06/07/2015 12:50 AM
1 | 1 | Jessica Mack | h1. Create crush library |
---|---|---|---|
2 | |||
3 | h3. Summary |
||
4 | |||
5 | CRUSH is relatively self-contained, but is statically linked into Ceph and difficult to use externally. Several people have expressed interest in building CRUSH has a standalone shared library for easier consumption. |
||
6 | |||
7 | h3. Owners |
||
8 | |||
9 | * Name (Affiliation) |
||
10 | |||
11 | h3. Interested Parties |
||
12 | |||
13 | * Sage Weil |
||
14 | * Danny Al-Gaaf |
||
15 | * Josh Durgin |
||
16 | * Loic Dachary |
||
17 | * Christophe Courtaut christophe.courtaut@gmail.com |
||
18 | * Xiaobing Zhou(xzhou40 (AT) hawk.iit.edu) |
||
19 | |||
20 | h3. Current Status |
||
21 | |||
22 | Linked statically. Mostly self-contained. |
||
23 | Mix of C and C++ code and implementation: core mapping functionality is C, but map manipulation is C++ only. |
||
24 | Standalone 'crushtool' binary for manipulating maps. |
||
25 | |||
26 | h3. Detailed Description. |
||
27 | |||
28 | There are two general categories of code: the mapping code, which is all in C and shared with the Linux kernel, and the map manipulation, which is all C++ and userland only. A shared library means building a single API for both, or possibly separating into two libraries (one for mapping and one more map manipulation). Lots of interface cleanup. and some build changes. |
||
29 | |||
30 | h3. Work items |
||
31 | |||
32 | %{color:red}reference to undefined name 'etherpad' Exception of type 'MindTouch.Deki.Script.Runtime.DekiScriptUndefinedNameException' was thrown.%{{collapse(View details...) |
||
33 | <pre> |
||
34 | Callstack: |
||
35 | at Planning/Sideboard/create_crush_library |
||
36 | </pre> |
||
37 | }} |