diff --git a/CMakeLists.txt b/CMakeLists.txt index db3622d0..83014777 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,187 +2,4 @@ cmake_minimum_required(VERSION 2.8) project(vitastor) -include(GNUInstallDirs) - -set(QEMU_PLUGINDIR qemu CACHE STRING "QEMU plugin directory suffix (qemu-kvm on RHEL)") -set(WITH_ASAN false CACHE BOOL "Build with AddressSanitizer") -if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/local/?$") - if(EXISTS "/etc/debian_version") - set(CMAKE_INSTALL_LIBDIR "lib/${CMAKE_LIBRARY_ARCHITECTURE}") - endif() - set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") -endif() - -add_definitions(-DVERSION="0.6-dev") -add_definitions(-Wall -Wno-sign-compare -Wno-comment -Wno-parentheses -Wno-pointer-arith) -if (${WITH_ASAN}) - add_definitions(-fsanitize=address -fno-omit-frame-pointer) - add_link_options(-fsanitize=address -fno-omit-frame-pointer) -endif (${WITH_ASAN}) - -set(CMAKE_BUILD_TYPE RelWithDebInfo) -string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") -string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}") -string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") -string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") -string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}") -string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") -string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") -string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") -string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") -string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") -string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") -string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") - -find_package(PkgConfig) -pkg_check_modules(LIBURING REQUIRED liburing) -pkg_check_modules(GLIB REQUIRED glib-2.0) - -include_directories( - src - /usr/include/jerasure - ${LIBURING_INCLUDE_DIRS} -) - -# libvitastor_blk.so -add_library(vitastor_blk SHARED - allocator.cpp blockstore.cpp blockstore_impl.cpp blockstore_init.cpp blockstore_open.cpp blockstore_journal.cpp blockstore_read.cpp - blockstore_write.cpp blockstore_sync.cpp blockstore_stable.cpp blockstore_rollback.cpp blockstore_flush.cpp crc32c.c ringloop.cpp -) -target_link_libraries(vitastor_blk - ${LIBURING_LIBRARIES} - tcmalloc_minimal -) - -# libfio_vitastor_blk.so -add_library(fio_vitastor_blk SHARED - fio_engine.cpp - json11/json11.cpp -) -target_link_libraries(fio_vitastor_blk - vitastor_blk -) - -# vitastor-osd -add_executable(vitastor-osd - osd_main.cpp osd.cpp osd_secondary.cpp msgr_receive.cpp msgr_send.cpp osd_peering.cpp osd_flush.cpp osd_peering_pg.cpp - osd_primary.cpp osd_primary_subops.cpp etcd_state_client.cpp messenger.cpp osd_cluster.cpp http_client.cpp osd_ops.cpp pg_states.cpp - osd_rmw.cpp base64.cpp timerfd_manager.cpp epoll_manager.cpp json11/json11.cpp -) -target_link_libraries(vitastor-osd - vitastor_blk - Jerasure -) - -# libfio_vitastor_sec.so -add_library(fio_vitastor_sec SHARED - fio_sec_osd.cpp - rw_blocking.cpp -) -target_link_libraries(fio_vitastor_sec - tcmalloc_minimal -) - -# libvitastor_client.so -add_library(vitastor_client SHARED - cluster_client.cpp epoll_manager.cpp etcd_state_client.cpp - messenger.cpp msgr_send.cpp msgr_receive.cpp ringloop.cpp json11/json11.cpp - http_client.cpp osd_ops.cpp pg_states.cpp timerfd_manager.cpp base64.cpp -) -target_link_libraries(vitastor_client - tcmalloc_minimal - ${LIBURING_LIBRARIES} -) - -# libfio_vitastor.so -add_library(fio_vitastor SHARED - fio_cluster.cpp -) -target_link_libraries(fio_vitastor - vitastor_client -) - -# vitastor-nbd -add_executable(vitastor-nbd - nbd_proxy.cpp -) -target_link_libraries(vitastor-nbd - vitastor_client -) - -# vitastor-rm -add_executable(vitastor-rm - rm_inode.cpp -) -target_link_libraries(vitastor-rm - vitastor_client -) - -# vitastor-dump-journal -add_executable(vitastor-dump-journal - dump_journal.cpp crc32c.c -) - -# qemu_driver.so -add_library(qemu_proxy STATIC qemu_proxy.cpp) -target_compile_options(qemu_proxy PUBLIC -fPIC) -target_include_directories(qemu_proxy PUBLIC - qemu/b/qemu - qemu/include - ${GLIB_INCLUDE_DIRS} -) -target_link_libraries(qemu_proxy - vitastor_client -) -add_library(qemu_vitastor SHARED - qemu_driver.c -) -target_link_libraries(qemu_vitastor - qemu_proxy -) -set_target_properties(qemu_vitastor PROPERTIES - PREFIX "" - OUTPUT_NAME "block-vitastor" -) - -### Test stubs - -# stub_osd, stub_bench, osd_test -add_executable(stub_osd stub_osd.cpp rw_blocking.cpp) -target_link_libraries(stub_osd tcmalloc_minimal) -add_executable(stub_bench stub_bench.cpp rw_blocking.cpp) -target_link_libraries(stub_bench tcmalloc_minimal) -add_executable(osd_test osd_test.cpp rw_blocking.cpp) -target_link_libraries(osd_test tcmalloc_minimal) - -# osd_rmw_test -add_executable(osd_rmw_test osd_rmw_test.cpp allocator.cpp) -target_link_libraries(osd_rmw_test Jerasure tcmalloc_minimal) - -# stub_uring_osd -add_executable(stub_uring_osd - stub_uring_osd.cpp epoll_manager.cpp messenger.cpp msgr_send.cpp msgr_receive.cpp ringloop.cpp timerfd_manager.cpp json11/json11.cpp -) -target_link_libraries(stub_uring_osd - ${LIBURING_LIBRARIES} - tcmalloc_minimal -) - -# osd_peering_pg_test -add_executable(osd_peering_pg_test osd_peering_pg_test.cpp osd_peering_pg.cpp) -target_link_libraries(osd_peering_pg_test tcmalloc_minimal) - -# test_allocator -add_executable(test_allocator test_allocator.cpp allocator.cpp) - -## test_blockstore, test_shit -#add_executable(test_blockstore test_blockstore.cpp timerfd_interval.cpp) -#target_link_libraries(test_blockstore blockstore) -#add_executable(test_shit test_shit.cpp osd_peering_pg.cpp) -#target_link_libraries(test_shit ${LIBURING_LIBRARIES} m) - -### Install - -install(TARGETS vitastor-osd vitastor-dump-journal vitastor-nbd vitastor-rm RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) -install(TARGETS fio_vitastor fio_vitastor_blk fio_vitastor_sec vitastor_blk vitastor_client LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -install(TARGETS qemu_vitastor LIBRARY DESTINATION /usr/${CMAKE_INSTALL_LIBDIR}/${QEMU_PLUGINDIR}) +add_subdirectory(src) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 00000000..aa33e395 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,188 @@ +cmake_minimum_required(VERSION 2.8) + +project(vitastor) + +include(GNUInstallDirs) + +set(QEMU_PLUGINDIR qemu CACHE STRING "QEMU plugin directory suffix (qemu-kvm on RHEL)") +set(WITH_ASAN false CACHE BOOL "Build with AddressSanitizer") +if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/local/?$") + if(EXISTS "/etc/debian_version") + set(CMAKE_INSTALL_LIBDIR "lib/${CMAKE_LIBRARY_ARCHITECTURE}") + endif() + set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") +endif() + +add_definitions(-DVERSION="0.6-dev") +add_definitions(-Wall -Wno-sign-compare -Wno-comment -Wno-parentheses -Wno-pointer-arith) +if (${WITH_ASAN}) + add_definitions(-fsanitize=address -fno-omit-frame-pointer) + add_link_options(-fsanitize=address -fno-omit-frame-pointer) +endif (${WITH_ASAN}) + +set(CMAKE_BUILD_TYPE RelWithDebInfo) +string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") +string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}") +string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") +string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") +string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}") +string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") +string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") +string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") +string(REGEX REPLACE "([\\/\\-]O)[12]?" "\\13" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") +string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") +string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") +string(REGEX REPLACE "([\\/\\-]D) *NDEBUG" "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") + +find_package(PkgConfig) +pkg_check_modules(LIBURING REQUIRED liburing) +pkg_check_modules(GLIB REQUIRED glib-2.0) + +include_directories( + ../ + /usr/include/jerasure + ${LIBURING_INCLUDE_DIRS} +) + +# libvitastor_blk.so +add_library(vitastor_blk SHARED + allocator.cpp blockstore.cpp blockstore_impl.cpp blockstore_init.cpp blockstore_open.cpp blockstore_journal.cpp blockstore_read.cpp + blockstore_write.cpp blockstore_sync.cpp blockstore_stable.cpp blockstore_rollback.cpp blockstore_flush.cpp crc32c.c ringloop.cpp +) +target_link_libraries(vitastor_blk + ${LIBURING_LIBRARIES} + tcmalloc_minimal +) + +# libfio_vitastor_blk.so +add_library(fio_vitastor_blk SHARED + fio_engine.cpp + ../json11/json11.cpp +) +target_link_libraries(fio_vitastor_blk + vitastor_blk +) + +# vitastor-osd +add_executable(vitastor-osd + osd_main.cpp osd.cpp osd_secondary.cpp msgr_receive.cpp msgr_send.cpp osd_peering.cpp osd_flush.cpp osd_peering_pg.cpp + osd_primary.cpp osd_primary_subops.cpp etcd_state_client.cpp messenger.cpp osd_cluster.cpp http_client.cpp osd_ops.cpp pg_states.cpp + osd_rmw.cpp base64.cpp timerfd_manager.cpp epoll_manager.cpp ../json11/json11.cpp +) +target_link_libraries(vitastor-osd + vitastor_blk + Jerasure +) + +# libfio_vitastor_sec.so +add_library(fio_vitastor_sec SHARED + fio_sec_osd.cpp + rw_blocking.cpp +) +target_link_libraries(fio_vitastor_sec + tcmalloc_minimal +) + +# libvitastor_client.so +add_library(vitastor_client SHARED + cluster_client.cpp epoll_manager.cpp etcd_state_client.cpp + messenger.cpp msgr_send.cpp msgr_receive.cpp ringloop.cpp ../json11/json11.cpp + http_client.cpp osd_ops.cpp pg_states.cpp timerfd_manager.cpp base64.cpp +) +target_link_libraries(vitastor_client + tcmalloc_minimal + ${LIBURING_LIBRARIES} +) + +# libfio_vitastor.so +add_library(fio_vitastor SHARED + fio_cluster.cpp +) +target_link_libraries(fio_vitastor + vitastor_client +) + +# vitastor-nbd +add_executable(vitastor-nbd + nbd_proxy.cpp +) +target_link_libraries(vitastor-nbd + vitastor_client +) + +# vitastor-rm +add_executable(vitastor-rm + rm_inode.cpp +) +target_link_libraries(vitastor-rm + vitastor_client +) + +# vitastor-dump-journal +add_executable(vitastor-dump-journal + dump_journal.cpp crc32c.c +) + +# qemu_driver.so +add_library(qemu_proxy STATIC qemu_proxy.cpp) +target_compile_options(qemu_proxy PUBLIC -fPIC) +target_include_directories(qemu_proxy PUBLIC + ../qemu/b/qemu + ../qemu/include + ${GLIB_INCLUDE_DIRS} +) +target_link_libraries(qemu_proxy + vitastor_client +) +add_library(qemu_vitastor SHARED + qemu_driver.c +) +target_link_libraries(qemu_vitastor + qemu_proxy +) +set_target_properties(qemu_vitastor PROPERTIES + PREFIX "" + OUTPUT_NAME "block-vitastor" +) + +### Test stubs + +# stub_osd, stub_bench, osd_test +add_executable(stub_osd stub_osd.cpp rw_blocking.cpp) +target_link_libraries(stub_osd tcmalloc_minimal) +add_executable(stub_bench stub_bench.cpp rw_blocking.cpp) +target_link_libraries(stub_bench tcmalloc_minimal) +add_executable(osd_test osd_test.cpp rw_blocking.cpp) +target_link_libraries(osd_test tcmalloc_minimal) + +# osd_rmw_test +add_executable(osd_rmw_test osd_rmw_test.cpp allocator.cpp) +target_link_libraries(osd_rmw_test Jerasure tcmalloc_minimal) + +# stub_uring_osd +add_executable(stub_uring_osd + stub_uring_osd.cpp epoll_manager.cpp messenger.cpp msgr_send.cpp msgr_receive.cpp ringloop.cpp timerfd_manager.cpp ../json11/json11.cpp +) +target_link_libraries(stub_uring_osd + ${LIBURING_LIBRARIES} + tcmalloc_minimal +) + +# osd_peering_pg_test +add_executable(osd_peering_pg_test osd_peering_pg_test.cpp osd_peering_pg.cpp) +target_link_libraries(osd_peering_pg_test tcmalloc_minimal) + +# test_allocator +add_executable(test_allocator test_allocator.cpp allocator.cpp) + +## test_blockstore, test_shit +#add_executable(test_blockstore test_blockstore.cpp timerfd_interval.cpp) +#target_link_libraries(test_blockstore blockstore) +#add_executable(test_shit test_shit.cpp osd_peering_pg.cpp) +#target_link_libraries(test_shit ${LIBURING_LIBRARIES} m) + +### Install + +install(TARGETS vitastor-osd vitastor-dump-journal vitastor-nbd vitastor-rm RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +install(TARGETS fio_vitastor fio_vitastor_blk fio_vitastor_sec vitastor_blk vitastor_client LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(TARGETS qemu_vitastor LIBRARY DESTINATION /usr/${CMAKE_INSTALL_LIBDIR}/${QEMU_PLUGINDIR}) diff --git a/allocator.cpp b/src/allocator.cpp similarity index 100% rename from allocator.cpp rename to src/allocator.cpp diff --git a/allocator.h b/src/allocator.h similarity index 100% rename from allocator.h rename to src/allocator.h diff --git a/base64.cpp b/src/base64.cpp similarity index 100% rename from base64.cpp rename to src/base64.cpp diff --git a/base64.h b/src/base64.h similarity index 100% rename from base64.h rename to src/base64.h diff --git a/blockstore.cpp b/src/blockstore.cpp similarity index 100% rename from blockstore.cpp rename to src/blockstore.cpp diff --git a/blockstore.h b/src/blockstore.h similarity index 100% rename from blockstore.h rename to src/blockstore.h diff --git a/blockstore_flush.cpp b/src/blockstore_flush.cpp similarity index 100% rename from blockstore_flush.cpp rename to src/blockstore_flush.cpp diff --git a/blockstore_flush.h b/src/blockstore_flush.h similarity index 100% rename from blockstore_flush.h rename to src/blockstore_flush.h diff --git a/blockstore_impl.cpp b/src/blockstore_impl.cpp similarity index 100% rename from blockstore_impl.cpp rename to src/blockstore_impl.cpp diff --git a/blockstore_impl.h b/src/blockstore_impl.h similarity index 100% rename from blockstore_impl.h rename to src/blockstore_impl.h diff --git a/blockstore_init.cpp b/src/blockstore_init.cpp similarity index 100% rename from blockstore_init.cpp rename to src/blockstore_init.cpp diff --git a/blockstore_init.h b/src/blockstore_init.h similarity index 100% rename from blockstore_init.h rename to src/blockstore_init.h diff --git a/blockstore_journal.cpp b/src/blockstore_journal.cpp similarity index 100% rename from blockstore_journal.cpp rename to src/blockstore_journal.cpp diff --git a/blockstore_journal.h b/src/blockstore_journal.h similarity index 100% rename from blockstore_journal.h rename to src/blockstore_journal.h diff --git a/blockstore_open.cpp b/src/blockstore_open.cpp similarity index 100% rename from blockstore_open.cpp rename to src/blockstore_open.cpp diff --git a/blockstore_read.cpp b/src/blockstore_read.cpp similarity index 100% rename from blockstore_read.cpp rename to src/blockstore_read.cpp diff --git a/blockstore_rollback.cpp b/src/blockstore_rollback.cpp similarity index 100% rename from blockstore_rollback.cpp rename to src/blockstore_rollback.cpp diff --git a/blockstore_stable.cpp b/src/blockstore_stable.cpp similarity index 100% rename from blockstore_stable.cpp rename to src/blockstore_stable.cpp diff --git a/blockstore_sync.cpp b/src/blockstore_sync.cpp similarity index 100% rename from blockstore_sync.cpp rename to src/blockstore_sync.cpp diff --git a/blockstore_write.cpp b/src/blockstore_write.cpp similarity index 100% rename from blockstore_write.cpp rename to src/blockstore_write.cpp diff --git a/cluster_client.cpp b/src/cluster_client.cpp similarity index 100% rename from cluster_client.cpp rename to src/cluster_client.cpp diff --git a/cluster_client.h b/src/cluster_client.h similarity index 100% rename from cluster_client.h rename to src/cluster_client.h diff --git a/crc32c.c b/src/crc32c.c similarity index 100% rename from crc32c.c rename to src/crc32c.c diff --git a/crc32c.h b/src/crc32c.h similarity index 100% rename from crc32c.h rename to src/crc32c.h diff --git a/dump_journal.cpp b/src/dump_journal.cpp similarity index 100% rename from dump_journal.cpp rename to src/dump_journal.cpp diff --git a/epoll_manager.cpp b/src/epoll_manager.cpp similarity index 100% rename from epoll_manager.cpp rename to src/epoll_manager.cpp diff --git a/epoll_manager.h b/src/epoll_manager.h similarity index 100% rename from epoll_manager.h rename to src/epoll_manager.h diff --git a/etcd_state_client.cpp b/src/etcd_state_client.cpp similarity index 100% rename from etcd_state_client.cpp rename to src/etcd_state_client.cpp diff --git a/etcd_state_client.h b/src/etcd_state_client.h similarity index 100% rename from etcd_state_client.h rename to src/etcd_state_client.h diff --git a/fio_cluster.cpp b/src/fio_cluster.cpp similarity index 100% rename from fio_cluster.cpp rename to src/fio_cluster.cpp diff --git a/fio_engine.cpp b/src/fio_engine.cpp similarity index 100% rename from fio_engine.cpp rename to src/fio_engine.cpp diff --git a/fio_headers.h b/src/fio_headers.h similarity index 100% rename from fio_headers.h rename to src/fio_headers.h diff --git a/fio_sec_osd.cpp b/src/fio_sec_osd.cpp similarity index 100% rename from fio_sec_osd.cpp rename to src/fio_sec_osd.cpp diff --git a/http_client.cpp b/src/http_client.cpp similarity index 100% rename from http_client.cpp rename to src/http_client.cpp diff --git a/http_client.h b/src/http_client.h similarity index 100% rename from http_client.h rename to src/http_client.h diff --git a/malloc_or_die.h b/src/malloc_or_die.h similarity index 100% rename from malloc_or_die.h rename to src/malloc_or_die.h diff --git a/messenger.cpp b/src/messenger.cpp similarity index 100% rename from messenger.cpp rename to src/messenger.cpp diff --git a/messenger.h b/src/messenger.h similarity index 100% rename from messenger.h rename to src/messenger.h diff --git a/msgr_receive.cpp b/src/msgr_receive.cpp similarity index 100% rename from msgr_receive.cpp rename to src/msgr_receive.cpp diff --git a/msgr_send.cpp b/src/msgr_send.cpp similarity index 100% rename from msgr_send.cpp rename to src/msgr_send.cpp diff --git a/nbd_proxy.cpp b/src/nbd_proxy.cpp similarity index 100% rename from nbd_proxy.cpp rename to src/nbd_proxy.cpp diff --git a/object_id.h b/src/object_id.h similarity index 100% rename from object_id.h rename to src/object_id.h diff --git a/osd.cpp b/src/osd.cpp similarity index 100% rename from osd.cpp rename to src/osd.cpp diff --git a/osd.h b/src/osd.h similarity index 100% rename from osd.h rename to src/osd.h diff --git a/osd_cluster.cpp b/src/osd_cluster.cpp similarity index 100% rename from osd_cluster.cpp rename to src/osd_cluster.cpp diff --git a/osd_flush.cpp b/src/osd_flush.cpp similarity index 100% rename from osd_flush.cpp rename to src/osd_flush.cpp diff --git a/osd_id.h b/src/osd_id.h similarity index 100% rename from osd_id.h rename to src/osd_id.h diff --git a/osd_main.cpp b/src/osd_main.cpp similarity index 100% rename from osd_main.cpp rename to src/osd_main.cpp diff --git a/osd_ops.cpp b/src/osd_ops.cpp similarity index 100% rename from osd_ops.cpp rename to src/osd_ops.cpp diff --git a/osd_ops.h b/src/osd_ops.h similarity index 100% rename from osd_ops.h rename to src/osd_ops.h diff --git a/osd_peering.cpp b/src/osd_peering.cpp similarity index 100% rename from osd_peering.cpp rename to src/osd_peering.cpp diff --git a/osd_peering_pg.cpp b/src/osd_peering_pg.cpp similarity index 100% rename from osd_peering_pg.cpp rename to src/osd_peering_pg.cpp diff --git a/osd_peering_pg.h b/src/osd_peering_pg.h similarity index 100% rename from osd_peering_pg.h rename to src/osd_peering_pg.h diff --git a/osd_peering_pg_test.cpp b/src/osd_peering_pg_test.cpp similarity index 100% rename from osd_peering_pg_test.cpp rename to src/osd_peering_pg_test.cpp diff --git a/osd_primary.cpp b/src/osd_primary.cpp similarity index 100% rename from osd_primary.cpp rename to src/osd_primary.cpp diff --git a/osd_primary.h b/src/osd_primary.h similarity index 100% rename from osd_primary.h rename to src/osd_primary.h diff --git a/osd_primary_subops.cpp b/src/osd_primary_subops.cpp similarity index 100% rename from osd_primary_subops.cpp rename to src/osd_primary_subops.cpp diff --git a/osd_rmw.cpp b/src/osd_rmw.cpp similarity index 100% rename from osd_rmw.cpp rename to src/osd_rmw.cpp diff --git a/osd_rmw.h b/src/osd_rmw.h similarity index 100% rename from osd_rmw.h rename to src/osd_rmw.h diff --git a/osd_rmw_test.cpp b/src/osd_rmw_test.cpp similarity index 100% rename from osd_rmw_test.cpp rename to src/osd_rmw_test.cpp diff --git a/osd_secondary.cpp b/src/osd_secondary.cpp similarity index 100% rename from osd_secondary.cpp rename to src/osd_secondary.cpp diff --git a/osd_test.cpp b/src/osd_test.cpp similarity index 100% rename from osd_test.cpp rename to src/osd_test.cpp diff --git a/pg_states.cpp b/src/pg_states.cpp similarity index 100% rename from pg_states.cpp rename to src/pg_states.cpp diff --git a/pg_states.h b/src/pg_states.h similarity index 100% rename from pg_states.h rename to src/pg_states.h diff --git a/qemu_driver.c b/src/qemu_driver.c similarity index 100% rename from qemu_driver.c rename to src/qemu_driver.c diff --git a/qemu_proxy.cpp b/src/qemu_proxy.cpp similarity index 100% rename from qemu_proxy.cpp rename to src/qemu_proxy.cpp diff --git a/qemu_proxy.h b/src/qemu_proxy.h similarity index 100% rename from qemu_proxy.h rename to src/qemu_proxy.h diff --git a/ringloop.cpp b/src/ringloop.cpp similarity index 100% rename from ringloop.cpp rename to src/ringloop.cpp diff --git a/ringloop.h b/src/ringloop.h similarity index 100% rename from ringloop.h rename to src/ringloop.h diff --git a/rm_inode.cpp b/src/rm_inode.cpp similarity index 100% rename from rm_inode.cpp rename to src/rm_inode.cpp diff --git a/rw_blocking.cpp b/src/rw_blocking.cpp similarity index 100% rename from rw_blocking.cpp rename to src/rw_blocking.cpp diff --git a/rw_blocking.h b/src/rw_blocking.h similarity index 100% rename from rw_blocking.h rename to src/rw_blocking.h diff --git a/stub_bench.cpp b/src/stub_bench.cpp similarity index 100% rename from stub_bench.cpp rename to src/stub_bench.cpp diff --git a/stub_osd.cpp b/src/stub_osd.cpp similarity index 100% rename from stub_osd.cpp rename to src/stub_osd.cpp diff --git a/stub_uring_osd.cpp b/src/stub_uring_osd.cpp similarity index 100% rename from stub_uring_osd.cpp rename to src/stub_uring_osd.cpp diff --git a/test_allocator.cpp b/src/test_allocator.cpp similarity index 100% rename from test_allocator.cpp rename to src/test_allocator.cpp diff --git a/test_blockstore.cpp b/src/test_blockstore.cpp similarity index 100% rename from test_blockstore.cpp rename to src/test_blockstore.cpp diff --git a/test_pattern.h b/src/test_pattern.h similarity index 100% rename from test_pattern.h rename to src/test_pattern.h diff --git a/test_shit.cpp b/src/test_shit.cpp similarity index 100% rename from test_shit.cpp rename to src/test_shit.cpp diff --git a/timerfd_interval.cpp b/src/timerfd_interval.cpp similarity index 100% rename from timerfd_interval.cpp rename to src/timerfd_interval.cpp diff --git a/timerfd_interval.h b/src/timerfd_interval.h similarity index 100% rename from timerfd_interval.h rename to src/timerfd_interval.h diff --git a/timerfd_manager.cpp b/src/timerfd_manager.cpp similarity index 100% rename from timerfd_manager.cpp rename to src/timerfd_manager.cpp diff --git a/timerfd_manager.h b/src/timerfd_manager.h similarity index 100% rename from timerfd_manager.h rename to src/timerfd_manager.h diff --git a/xor.h b/src/xor.h similarity index 100% rename from xor.h rename to src/xor.h diff --git a/tests/test_write.sh b/tests/test_write.sh index 53112dba..4da0cfb3 100755 --- a/tests/test_write.sh +++ b/tests/test_write.sh @@ -6,11 +6,11 @@ dd if=/dev/zero of=./testdata/test_osd1.bin bs=1024 count=1 seek=$((1024*1024-1) dd if=/dev/zero of=./testdata/test_osd2.bin bs=1024 count=1 seek=$((1024*1024-1)) dd if=/dev/zero of=./testdata/test_osd3.bin bs=1024 count=1 seek=$((1024*1024-1)) -build/vitastor-osd --osd_num 1 --bind_address 127.0.0.1 --etcd_address $ETCD_URL $(node mon/simple-offsets.js --format options --device ./testdata/test_osd1.bin 2>/dev/null) &>./testdata/osd1.log & +build/src/vitastor-osd --osd_num 1 --bind_address 127.0.0.1 --etcd_address $ETCD_URL $(node mon/simple-offsets.js --format options --device ./testdata/test_osd1.bin 2>/dev/null) &>./testdata/osd1.log & OSD1_PID=$! -build/vitastor-osd --osd_num 2 --bind_address 127.0.0.1 --etcd_address $ETCD_URL $(node mon/simple-offsets.js --format options --device ./testdata/test_osd2.bin 2>/dev/null) &>./testdata/osd2.log & +build/src/vitastor-osd --osd_num 2 --bind_address 127.0.0.1 --etcd_address $ETCD_URL $(node mon/simple-offsets.js --format options --device ./testdata/test_osd2.bin 2>/dev/null) &>./testdata/osd2.log & OSD2_PID=$! -build/vitastor-osd --osd_num 3 --bind_address 127.0.0.1 --etcd_address $ETCD_URL $(node mon/simple-offsets.js --format options --device ./testdata/test_osd3.bin 2>/dev/null) &>./testdata/osd3.log & +build/src/vitastor-osd --osd_num 3 --bind_address 127.0.0.1 --etcd_address $ETCD_URL $(node mon/simple-offsets.js --format options --device ./testdata/test_osd3.bin 2>/dev/null) &>./testdata/osd3.log & OSD3_PID=$! cd mon @@ -38,9 +38,9 @@ echo leak:librbd >> testdata/lsan-suppress.txt echo leak:_M_mutate >> testdata/lsan-suppress.txt echo leak:_M_assign >> testdata/lsan-suppress.txt #LSAN_OPTIONS=suppressions=`pwd`/testdata/lsan-suppress.txt LD_PRELOAD=libasan.so.5 \ -# fio -thread -name=test -ioengine=build/libfio_vitastor_sec.so -bs=4k -fsync=128 `$ETCDCTL get /vitastor/osd/state/1 --print-value-only | jq -r '"-host="+.addresses[0]+" -port="+(.port|tostring)'` -rw=write -size=32M +# fio -thread -name=test -ioengine=build/src/libfio_vitastor_sec.so -bs=4k -fsync=128 `$ETCDCTL get /vitastor/osd/state/1 --print-value-only | jq -r '"-host="+.addresses[0]+" -port="+(.port|tostring)'` -rw=write -size=32M LSAN_OPTIONS=suppressions=`pwd`/testdata/lsan-suppress.txt LD_PRELOAD=libasan.so.5 \ - fio -thread -name=test -ioengine=build/libfio_vitastor.so -bs=4M -direct=1 -iodepth=1 -fsync=1 -rw=write -etcd=$ETCD_URL -pool=1 -inode=1 -size=1G -cluster_log_level=10 + fio -thread -name=test -ioengine=build/src/libfio_vitastor.so -bs=4M -direct=1 -iodepth=1 -fsync=1 -rw=write -etcd=$ETCD_URL -pool=1 -inode=1 -size=1G -cluster_log_level=10 format_green OK