]>
Commit | Line | Data |
---|---|---|
f67539c2 | 1 | set(librbd_types_srcs |
7c673cae FG |
2 | journal/Types.cc |
3 | mirroring_watcher/Types.cc | |
11fdf7f2 | 4 | trash_watcher/Types.cc |
7c673cae FG |
5 | watcher/Types.cc |
6 | WatchNotifyTypes.cc) | |
7 | ||
f67539c2 TL |
8 | if(WITH_RBD_RWL OR WITH_RBD_SSD_CACHE) |
9 | list(APPEND librbd_types_srcs cache/pwl/Types.cc) | |
10 | endif() | |
11 | ||
12 | add_library(rbd_types STATIC | |
13 | ${librbd_types_srcs}) | |
14 | ||
15 | if (WITH_RBD_RWL) | |
16 | target_link_libraries(rbd_types | |
17 | PUBLIC pmem::pmemobj) | |
18 | endif() | |
19 | ||
7c673cae | 20 | set(librbd_internal_srcs |
f67539c2 | 21 | AsioEngine.cc |
7c673cae | 22 | AsyncObjectThrottle.cc |
7c673cae | 23 | AsyncRequest.cc |
f6b5b4d7 | 24 | ConfigWatcher.cc |
11fdf7f2 | 25 | DeepCopyRequest.cc |
7c673cae FG |
26 | ExclusiveLock.cc |
27 | ImageCtx.cc | |
28 | ImageState.cc | |
29 | ImageWatcher.cc | |
30 | internal.cc | |
31 | Journal.cc | |
32 | LibrbdAdminSocketHook.cc | |
7c673cae FG |
33 | ManagedLock.cc |
34 | MirroringWatcher.cc | |
35 | ObjectMap.cc | |
36 | Operations.cc | |
f67539c2 | 37 | PluginRegistry.cc |
11fdf7f2 | 38 | TrashWatcher.cc |
7c673cae FG |
39 | Utils.cc |
40 | Watcher.cc | |
11fdf7f2 | 41 | api/Config.cc |
7c673cae | 42 | api/DiffIterate.cc |
11fdf7f2 | 43 | api/Group.cc |
7c673cae | 44 | api/Image.cc |
f67539c2 | 45 | api/Io.cc |
11fdf7f2 | 46 | api/Migration.cc |
7c673cae | 47 | api/Mirror.cc |
11fdf7f2 TL |
48 | api/Namespace.cc |
49 | api/Pool.cc | |
50 | api/PoolMetadata.cc | |
51 | api/Snapshot.cc | |
52 | api/Trash.cc | |
f67539c2 TL |
53 | api/Utils.cc |
54 | asio/ContextWQ.cc | |
7c673cae | 55 | cache/ImageWriteback.cc |
11fdf7f2 | 56 | cache/ObjectCacherObjectDispatch.cc |
9f95a23c | 57 | cache/ObjectCacherWriteback.cc |
9f95a23c | 58 | cache/WriteAroundObjectDispatch.cc |
f67539c2 TL |
59 | crypto/BlockCrypto.cc |
60 | crypto/CryptoContextPool.cc | |
61 | crypto/CryptoImageDispatch.cc | |
62 | crypto/CryptoObjectDispatch.cc | |
63 | crypto/FormatRequest.cc | |
64 | crypto/LoadRequest.cc | |
65 | crypto/ShutDownCryptoRequest.cc | |
66 | crypto/Utils.cc | |
67 | crypto/openssl/DataCryptor.cc | |
11fdf7f2 TL |
68 | deep_copy/ImageCopyRequest.cc |
69 | deep_copy/MetadataCopyRequest.cc | |
70 | deep_copy/ObjectCopyRequest.cc | |
71 | deep_copy/SetHeadRequest.cc | |
72 | deep_copy/SnapshotCopyRequest.cc | |
73 | deep_copy/SnapshotCreateRequest.cc | |
74 | deep_copy/Utils.cc | |
7c673cae | 75 | exclusive_lock/AutomaticPolicy.cc |
f67539c2 | 76 | exclusive_lock/ImageDispatch.cc |
7c673cae FG |
77 | exclusive_lock/PreAcquireRequest.cc |
78 | exclusive_lock/PostAcquireRequest.cc | |
79 | exclusive_lock/PreReleaseRequest.cc | |
80 | exclusive_lock/StandardPolicy.cc | |
11fdf7f2 TL |
81 | image/AttachChildRequest.cc |
82 | image/AttachParentRequest.cc | |
7c673cae FG |
83 | image/CloneRequest.cc |
84 | image/CloseRequest.cc | |
85 | image/CreateRequest.cc | |
11fdf7f2 TL |
86 | image/DetachChildRequest.cc |
87 | image/DetachParentRequest.cc | |
9f95a23c | 88 | image/GetMetadataRequest.cc |
11fdf7f2 | 89 | image/ListWatchersRequest.cc |
7c673cae | 90 | image/OpenRequest.cc |
11fdf7f2 | 91 | image/PreRemoveRequest.cc |
7c673cae FG |
92 | image/RefreshParentRequest.cc |
93 | image/RefreshRequest.cc | |
94 | image/RemoveRequest.cc | |
95 | image/SetFlagsRequest.cc | |
96 | image/SetSnapRequest.cc | |
11fdf7f2 | 97 | image/ValidatePoolRequest.cc |
7c673cae FG |
98 | image_watcher/NotifyLockOwner.cc |
99 | io/AioCompletion.cc | |
31f18b77 | 100 | io/AsyncOperation.cc |
7c673cae | 101 | io/CopyupRequest.cc |
f6b5b4d7 | 102 | io/FlushTracker.cc |
f67539c2 | 103 | io/ImageDispatch.cc |
11fdf7f2 | 104 | io/ImageDispatchSpec.cc |
f67539c2 | 105 | io/ImageDispatcher.cc |
7c673cae | 106 | io/ImageRequest.cc |
11fdf7f2 TL |
107 | io/ObjectDispatch.cc |
108 | io/ObjectDispatchSpec.cc | |
109 | io/ObjectDispatcher.cc | |
7c673cae | 110 | io/ObjectRequest.cc |
f67539c2 TL |
111 | io/QosImageDispatch.cc |
112 | io/QueueImageDispatch.cc | |
7c673cae | 113 | io/ReadResult.cc |
f67539c2 | 114 | io/RefreshImageDispatch.cc |
9f95a23c | 115 | io/SimpleSchedulerObjectDispatch.cc |
f67539c2 | 116 | io/Types.cc |
11fdf7f2 | 117 | io/Utils.cc |
f67539c2 | 118 | io/WriteBlockImageDispatch.cc |
20effc67 | 119 | io/IoOperations.cc |
7c673cae FG |
120 | journal/CreateRequest.cc |
121 | journal/DemoteRequest.cc | |
11fdf7f2 | 122 | journal/ObjectDispatch.cc |
7c673cae FG |
123 | journal/OpenRequest.cc |
124 | journal/PromoteRequest.cc | |
125 | journal/RemoveRequest.cc | |
126 | journal/Replay.cc | |
11fdf7f2 | 127 | journal/ResetRequest.cc |
7c673cae FG |
128 | journal/StandardPolicy.cc |
129 | journal/Utils.cc | |
130 | managed_lock/AcquireRequest.cc | |
131 | managed_lock/BreakRequest.cc | |
132 | managed_lock/GetLockerRequest.cc | |
133 | managed_lock/ReacquireRequest.cc | |
134 | managed_lock/ReleaseRequest.cc | |
135 | managed_lock/Utils.cc | |
f67539c2 TL |
136 | migration/FileStream.cc |
137 | migration/HttpClient.cc | |
138 | migration/HttpStream.cc | |
139 | migration/ImageDispatch.cc | |
140 | migration/NativeFormat.cc | |
141 | migration/OpenSourceImageRequest.cc | |
142 | migration/QCOWFormat.cc | |
143 | migration/RawFormat.cc | |
144 | migration/RawSnapshot.cc | |
145 | migration/S3Stream.cc | |
146 | migration/SourceSpecBuilder.cc | |
147 | migration/Utils.cc | |
7c673cae FG |
148 | mirror/DemoteRequest.cc |
149 | mirror/DisableRequest.cc | |
150 | mirror/EnableRequest.cc | |
151 | mirror/GetInfoRequest.cc | |
152 | mirror/GetStatusRequest.cc | |
9f95a23c TL |
153 | mirror/GetUuidRequest.cc |
154 | mirror/ImageRemoveRequest.cc | |
155 | mirror/ImageStateUpdateRequest.cc | |
7c673cae | 156 | mirror/PromoteRequest.cc |
9f95a23c TL |
157 | mirror/snapshot/CreateNonPrimaryRequest.cc |
158 | mirror/snapshot/CreatePrimaryRequest.cc | |
159 | mirror/snapshot/DemoteRequest.cc | |
160 | mirror/snapshot/GetImageStateRequest.cc | |
161 | mirror/snapshot/ImageMeta.cc | |
162 | mirror/snapshot/PromoteRequest.cc | |
163 | mirror/snapshot/RemoveImageStateRequest.cc | |
164 | mirror/snapshot/SetImageStateRequest.cc | |
165 | mirror/snapshot/Types.cc | |
166 | mirror/snapshot/UnlinkPeerRequest.cc | |
167 | mirror/snapshot/Utils.cc | |
168 | mirror/snapshot/WriteImageStateRequest.cc | |
7c673cae | 169 | object_map/CreateRequest.cc |
9f95a23c | 170 | object_map/DiffRequest.cc |
7c673cae FG |
171 | object_map/InvalidateRequest.cc |
172 | object_map/LockRequest.cc | |
173 | object_map/RefreshRequest.cc | |
174 | object_map/RemoveRequest.cc | |
175 | object_map/Request.cc | |
176 | object_map/ResizeRequest.cc | |
177 | object_map/SnapshotCreateRequest.cc | |
178 | object_map/SnapshotRemoveRequest.cc | |
179 | object_map/SnapshotRollbackRequest.cc | |
180 | object_map/UnlockRequest.cc | |
181 | object_map/UpdateRequest.cc | |
182 | operation/DisableFeaturesRequest.cc | |
183 | operation/EnableFeaturesRequest.cc | |
184 | operation/FlattenRequest.cc | |
185 | operation/MetadataRemoveRequest.cc | |
186 | operation/MetadataSetRequest.cc | |
11fdf7f2 | 187 | operation/MigrateRequest.cc |
7c673cae FG |
188 | operation/ObjectMapIterate.cc |
189 | operation/RebuildObjectMapRequest.cc | |
190 | operation/RenameRequest.cc | |
191 | operation/Request.cc | |
192 | operation/ResizeRequest.cc | |
193 | operation/SnapshotCreateRequest.cc | |
194 | operation/SnapshotProtectRequest.cc | |
195 | operation/SnapshotRemoveRequest.cc | |
196 | operation/SnapshotRenameRequest.cc | |
197 | operation/SnapshotRollbackRequest.cc | |
198 | operation/SnapshotUnprotectRequest.cc | |
199 | operation/SnapshotLimitRequest.cc | |
11fdf7f2 | 200 | operation/SparsifyRequest.cc |
7c673cae | 201 | operation/TrimRequest.cc |
f67539c2 | 202 | plugin/Api.cc |
11fdf7f2 | 203 | trash/MoveRequest.cc |
eafe8130 | 204 | trash/RemoveRequest.cc |
7c673cae FG |
205 | watcher/Notifier.cc |
206 | watcher/RewatchRequest.cc | |
207 | ${CMAKE_SOURCE_DIR}/src/common/ContextCompletion.cc) | |
208 | ||
9f95a23c TL |
209 | if(WITH_EVENTTRACE) |
210 | list(APPEND librbd_internal_srcs ../common/EventTrace.cc) | |
211 | endif() | |
212 | ||
f67539c2 TL |
213 | if(LINUX AND HAVE_LIBCRYPTSETUP) |
214 | list(APPEND librbd_internal_srcs | |
215 | crypto/luks/EncryptionFormat.cc | |
216 | crypto/luks/Header.cc | |
217 | crypto/luks/FormatRequest.cc | |
218 | crypto/luks/LoadRequest.cc) | |
9f95a23c TL |
219 | endif() |
220 | ||
7c673cae FG |
221 | add_library(rbd_api STATIC librbd.cc) |
222 | add_library(rbd_internal STATIC | |
223 | ${librbd_internal_srcs} | |
224 | $<TARGET_OBJECTS:rados_snap_set_diff_obj>) | |
225 | if(WITH_LTTNG) | |
11fdf7f2 TL |
226 | # librbd.cc includes tracing/librbd.h |
227 | add_dependencies(rbd_api librbd-tp) | |
228 | # io/AioCompletion.cc includes tracing/librbd.h | |
7c673cae FG |
229 | add_dependencies(rbd_internal librbd-tp) |
230 | endif() | |
9f95a23c | 231 | if(WITH_EVENTTRACE) |
11fdf7f2 TL |
232 | add_dependencies(rbd_internal eventtrace_tp) |
233 | endif() | |
234 | target_link_libraries(rbd_internal PRIVATE | |
f67539c2 TL |
235 | osdc rbd_types |
236 | OpenSSL::SSL) | |
237 | target_include_directories(rbd_internal PRIVATE ${OPENSSL_INCLUDE_DIR}) | |
238 | if(LINUX AND HAVE_LIBCRYPTSETUP) | |
239 | target_include_directories(rbd_internal PRIVATE ${LIBCRYPTSETUP_INCLUDE_DIR}) | |
240 | target_link_libraries(rbd_internal PRIVATE ${LIBCRYPTSETUP_LIBRARIES}) | |
241 | endif() | |
242 | ||
243 | add_custom_target(librbd_plugins) | |
244 | set(librbd_plugins_dir ${CEPH_INSTALL_PKGLIBDIR}/librbd) | |
245 | ||
246 | set(rbd_plugin_parent_cache_srcs | |
247 | cache/ParentCacheObjectDispatch.cc | |
248 | plugin/ParentCache.cc) | |
249 | add_library(librbd_plugin_parent_cache SHARED | |
250 | ${rbd_plugin_parent_cache_srcs}) | |
251 | target_link_libraries(librbd_plugin_parent_cache PRIVATE | |
252 | ceph_immutable_object_cache_lib ceph-common librbd | |
253 | libneorados | |
254 | librados) | |
255 | set_target_properties(librbd_plugin_parent_cache PROPERTIES | |
256 | OUTPUT_NAME ceph_librbd_parent_cache | |
257 | VERSION 1.0.0 | |
258 | SOVERSION 1) | |
259 | install(TARGETS librbd_plugin_parent_cache DESTINATION ${librbd_plugins_dir}) | |
260 | add_dependencies(librbd_plugins librbd_plugin_parent_cache) | |
261 | ||
262 | if(WITH_RBD_RWL OR WITH_RBD_SSD_CACHE) | |
263 | set(rbd_plugin_pwl_srcs | |
264 | cache/WriteLogImageDispatch.cc | |
265 | cache/pwl/AbstractWriteLog.cc | |
266 | cache/pwl/DiscardRequest.cc | |
267 | cache/pwl/ImageCacheState.cc | |
268 | cache/pwl/InitRequest.cc | |
269 | cache/pwl/LogEntry.cc | |
270 | cache/pwl/LogMap.cc | |
271 | cache/pwl/LogOperation.cc | |
272 | cache/pwl/Request.cc | |
273 | cache/pwl/ShutdownRequest.cc | |
274 | cache/pwl/SyncPoint.cc | |
275 | cache/pwl/Types.cc | |
276 | plugin/WriteLogImageCache.cc) | |
277 | ||
278 | if(WITH_RBD_SSD_CACHE) | |
279 | set(rbd_plugin_pwl_srcs | |
280 | ${rbd_plugin_pwl_srcs} | |
281 | cache/pwl/ssd/LogEntry.cc | |
282 | cache/pwl/ssd/LogOperation.cc | |
283 | cache/pwl/ssd/ReadRequest.cc | |
284 | cache/pwl/ssd/Request.cc | |
285 | cache/pwl/ssd/WriteLog.cc) | |
286 | endif() | |
287 | if(WITH_RBD_RWL) | |
288 | set(rbd_plugin_pwl_srcs | |
289 | ${rbd_plugin_pwl_srcs} | |
290 | cache/pwl/rwl/WriteLog.cc | |
291 | cache/pwl/rwl/LogEntry.cc | |
292 | cache/pwl/rwl/LogOperation.cc | |
293 | cache/pwl/rwl/ReadRequest.cc | |
294 | cache/pwl/rwl/Request.cc) | |
295 | endif() | |
296 | ||
297 | add_library(librbd_plugin_pwl_cache SHARED | |
298 | ${rbd_plugin_pwl_srcs}) | |
299 | target_link_libraries(librbd_plugin_pwl_cache PRIVATE | |
300 | blk | |
301 | ceph-common | |
302 | cls_rbd_client | |
303 | libneorados | |
304 | librados | |
305 | StdFilesystem::filesystem) | |
306 | ||
307 | if(WITH_RBD_RWL) | |
308 | target_link_libraries(librbd_plugin_pwl_cache | |
309 | PUBLIC pmem::pmemobj | |
310 | PRIVATE pmem::pmem) | |
311 | endif() | |
7c673cae | 312 | |
f67539c2 TL |
313 | set_target_properties(librbd_plugin_pwl_cache PROPERTIES |
314 | OUTPUT_NAME ceph_librbd_pwl_cache | |
315 | VERSION 1.0.0 | |
316 | SOVERSION 1) | |
317 | install(TARGETS librbd_plugin_pwl_cache DESTINATION ${librbd_plugins_dir}) | |
318 | add_dependencies(librbd_plugins librbd_plugin_pwl_cache) | |
9f95a23c TL |
319 | endif() |
320 | ||
7c673cae FG |
321 | add_library(librbd ${CEPH_SHARED} |
322 | librbd.cc) | |
11fdf7f2 TL |
323 | if(WITH_LTTNG) |
324 | add_dependencies(librbd librbd-tp) | |
325 | endif() | |
7c673cae | 326 | |
11fdf7f2 | 327 | target_link_libraries(librbd PRIVATE |
7c673cae FG |
328 | rbd_internal |
329 | rbd_types | |
330 | journal | |
f67539c2 TL |
331 | cls_rbd_client |
332 | cls_lock_client | |
333 | cls_journal_client | |
334 | libneorados | |
11fdf7f2 | 335 | librados |
7c673cae FG |
336 | ceph-common |
337 | pthread | |
338 | ${CMAKE_DL_LIBS} | |
11fdf7f2 | 339 | ${EXTRALIBS} ${GSSAPI_LIBRARIES}) |
7c673cae | 340 | if(HAVE_UDEV) |
11fdf7f2 | 341 | target_link_libraries(librbd PRIVATE |
7c673cae FG |
342 | udev) |
343 | endif() | |
344 | if(ENABLE_SHARED) | |
345 | set_target_properties(librbd PROPERTIES | |
346 | OUTPUT_NAME rbd | |
20effc67 | 347 | VERSION 1.17.0 |
7c673cae | 348 | SOVERSION 1 |
11fdf7f2 TL |
349 | CXX_VISIBILITY_PRESET hidden |
350 | VISIBILITY_INLINES_HIDDEN ON) | |
f67539c2 | 351 | if(NOT APPLE AND NOT WIN32) |
11fdf7f2 TL |
352 | set_property(TARGET librbd APPEND_STRING PROPERTY |
353 | LINK_FLAGS " -Wl,--exclude-libs,ALL") | |
354 | endif() | |
7c673cae FG |
355 | endif(ENABLE_SHARED) |
356 | install(TARGETS librbd DESTINATION ${CMAKE_INSTALL_LIBDIR}) |