Project

General

Profile

Source tree restructuring » History » Version 3

Jos Collin, 04/21/2017 06:46 AM

1 1 Jessica Mack
h1. Source tree restructuring
2 1 Jessica Mack
3 1 Jessica Mack
h3. Summary
4 1 Jessica Mack
5 1 Jessica Mack
During the makefile cleanup, there was some mention on the mailing list about a possible 'phase 2' - the cleanup of the source tree.
6 1 Jessica Mack
I've got a scratchbook file with an idea of how the source tree could look like. I thought it might be good to share that and use it as a basis for discussion.
7 1 Jessica Mack
I invite people to add comments to the 'detailed description' below.
8 1 Jessica Mack
9 1 Jessica Mack
h3. Owners
10 1 Jessica Mack
11 1 Jessica Mack
* Roald van Loon (roaldvanloon@gmail.com)
12 1 Jessica Mack
* Name (Affiliation)
13 1 Jessica Mack
* Name
14 1 Jessica Mack
15 1 Jessica Mack
h3. Interested Parties
16 1 Jessica Mack
17 3 Jos Collin
* Jos Collin
18 1 Jessica Mack
* Name (Affiliation)
19 1 Jessica Mack
* Name
20 1 Jessica Mack
21 1 Jessica Mack
h3. Current Status
22 1 Jessica Mack
 
23 1 Jessica Mack
h3. Detailed Description
24 1 Jessica Mack
25 1 Jessica Mack
<pre>
26 1 Jessica Mack
/Makefile.am
27 1 Jessica Mack
/configure.ac
28 1 Jessica Mack
/autogen.sh
29 1 Jessica Mack
/AUTHORS, /COPYING, /README, etc
30 1 Jessica Mack
/SubmittingPatches
31 1 Jessica Mack
/Doxyfile
32 1 Jessica Mack
/ChangeLog
33 1 Jessica Mack
/CodingStyle
34 1 Jessica Mack
/PendingReleaseNotes
35 1 Jessica Mack
36 1 Jessica Mack
/contrib -- scripts and extras (/admin, /keys, /share, /src/script, /src/bash_completion)
37 1 Jessica Mack
/contrib/dist -- distro stuff for rpm/debian/etc (including /udev, /src/upstart)
38 1 Jessica Mack
/contrib/m4 -- autotools scripts
39 1 Jessica Mack
/contrib/qa
40 1 Jessica Mack
/contrib/wireshark
41 1 Jessica Mack
/contrib/gtest
42 1 Jessica Mack
/contrib/libs3
43 1 Jessica Mack
/contrib/pybind
44 1 Jessica Mack
45 1 Jessica Mack
/examples
46 1 Jessica Mack
47 1 Jessica Mack
/doc
48 1 Jessica Mack
49 1 Jessica Mack
/rados -- librados (installed as librados.so)
50 1 Jessica Mack
/rados/include -- exports will become "#include <ceph/rados/XYZ>"
51 1 Jessica Mack
/rados/src
52 1 Jessica Mack
/rados/test
53 1 Jessica Mack
54 1 Jessica Mack
/rbd -- librbd (installed as librbd.so)
55 1 Jessica Mack
/rbd/include -- exports will become "#include <ceph/rbd/XYZ>"
56 1 Jessica Mack
/rbd/src
57 1 Jessica Mack
/rbd/fuse
58 1 Jessica Mack
/rbd/test
59 1 Jessica Mack
60 1 Jessica Mack
# Uses msgr, messages, osdc, and osdmap/mdsmap/monmap
61 1 Jessica Mack
# Maybe better to also put MonClient in here?
62 1 Jessica Mack
/client -- libclient (install as libcephclient.so, or only use as convenience lib?)
63 1 Jessica Mack
/client/include -- exports will become "#include <ceph/client/XYZ>"
64 1 Jessica Mack
/client/src
65 1 Jessica Mack
/client/test
66 1 Jessica Mack
67 1 Jessica Mack
# Or is this nicer in /client/cephfs, /client/hadoop, /client/cephfs_jni or something?
68 1 Jessica Mack
/cephfs -- libcephfs (installed as libcephfs.so)
69 1 Jessica Mack
/cephfs/include -- exports will become "#include <ceph/cephfs/XYZ>"
70 1 Jessica Mack
/cephfs/src
71 1 Jessica Mack
/cephfs/jni
72 1 Jessica Mack
/cephfs/hadoop
73 1 Jessica Mack
/cephfs/test
74 1 Jessica Mack
75 1 Jessica Mack
/rgw -- librgw (future, install as librgw.so)
76 1 Jessica Mack
/rgw/include -- exports will become "#include <ceph/rgw/XYZ>"
77 1 Jessica Mack
/rgw/src
78 1 Jessica Mack
/rgw/test
79 1 Jessica Mack
80 1 Jessica Mack
# Do we want this standalone? It's also used by cephfs, rgw, 
81 1 Jessica Mack
/auth -- libauth (install as libcephauth.so, or only use as convenience lib?)
82 1 Jessica Mack
/auth/src
83 1 Jessica Mack
/auth/test
84 1 Jessica Mack
85 1 Jessica Mack
# Do we want os + backends standalone, or shall we put it in /ceph/os ?
86 1 Jessica Mack
/os -- libos (install as libcephos.so, or only use as convenience lib?)
87 1 Jessica Mack
/os/include -- exports will become "#include <ceph/os/XYZ>"
88 1 Jessica Mack
/os/test
89 1 Jessica Mack
90 1 Jessica Mack
# This can be completely standalone
91 1 Jessica Mack
/crush -- libcrush (installed as libcrush.so)
92 1 Jessica Mack
/crush/include -- exports will become "#include <ceph/crush/XYZ>"
93 1 Jessica Mack
/crush/src
94 1 Jessica Mack
/crush/tools -- like crushtool
95 1 Jessica Mack
/crush/test
96 1 Jessica Mack
97 1 Jessica Mack
/ceph
98 1 Jessica Mack
/ceph/include -- exports will become "#include <ceph/XYZ>"
99 1 Jessica Mack
/ceph/common
100 1 Jessica Mack
/ceph/src -- main daemons like ceph_mon.cc etc
101 1 Jessica Mack
/ceph/mon -- current /src/mon/*
102 1 Jessica Mack
/ceph/mds
103 1 Jessica Mack
/ceph/osd
104 1 Jessica Mack
/ceph/osdc
105 1 Jessica Mack
/ceph/msg -- should this be here?
106 1 Jessica Mack
/ceph/test
107 1 Jessica Mack
/ceph/tools
108 1 Jessica Mack
109 1 Jessica Mack
# What about msg/messages? And events?
110 1 Jessica Mack
</pre>
111 1 Jessica Mack
 
112 1 Jessica Mack
h3. Work items
113 1 Jessica Mack
114 1 Jessica Mack
h3. Coding tasks
115 1 Jessica Mack
116 1 Jessica Mack
# Task 1
117 1 Jessica Mack
# Task 2
118 1 Jessica Mack
# Task 3
119 1 Jessica Mack
120 1 Jessica Mack
h3. Build / release tasks
121 1 Jessica Mack
122 1 Jessica Mack
# Task 1
123 1 Jessica Mack
# Task 2
124 1 Jessica Mack
# Task 3
125 1 Jessica Mack
126 1 Jessica Mack
h3. Documentation tasks
127 1 Jessica Mack
128 1 Jessica Mack
# Task 1
129 1 Jessica Mack
# Task 2
130 1 Jessica Mack
# Task 3
131 1 Jessica Mack
132 1 Jessica Mack
h3. Deprecation tasks
133 1 Jessica Mack
134 1 Jessica Mack
# Task 1
135 1 Jessica Mack
# Task 2
136 1 Jessica Mack
# Task 3