mirror of
https://github.com/ceph/ceph
synced 2024-12-22 11:31:55 +00:00
54853a5ae7
ubbd (Userspace Backend Block Device) is a method to build block device and handle IO by process started in userspace. That means we can provide a generic block device to user and handle IO requests by librbd in linux. This way, we can allow user to use rbd image as a linux block device supporting full image features, especial the journaling feature, which is not supported by krbd. For more information: https://github.com/DataTravelGuide/ubbd Signed-off-by: Dongsheng Yang <dongsheng.yang.linux@gmail.com>
23 lines
628 B
CMake
23 lines
628 B
CMake
function(build_ubbd)
|
|
include(FindMake)
|
|
find_make("MAKE_EXECUTABLE" "make_cmd")
|
|
|
|
include(ExternalProject)
|
|
ExternalProject_Add(ubbd_ext
|
|
UPDATE_COMMAND "" # this disables rebuild on each run
|
|
GIT_REPOSITORY "https://github.com/DataTravelGuide/ubbd.git"
|
|
GIT_CONFIG advice.detachedHead=false
|
|
GIT_SHALLOW 1
|
|
GIT_TAG "v0.1.4"
|
|
SOURCE_DIR "${CMAKE_BINARY_DIR}/src/ubbd"
|
|
BUILD_IN_SOURCE 1
|
|
CONFIGURE_COMMAND ""
|
|
BUILD_COMMAND ${make_cmd} libubbd
|
|
INSTALL_COMMAND ""
|
|
LOG_CONFIGURE ON
|
|
LOG_BUILD ON
|
|
LOG_INSTALL ON
|
|
LOG_MERGED_STDOUTERR ON
|
|
LOG_OUTPUT_ON_FAILURE ON)
|
|
endfunction()
|