Project

General

Profile

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
}}