From c78bf93d62126d1e777f4f72322290b40f0121f4 Mon Sep 17 00:00:00 2001 From: "Czarnowski, Przemyslaw" Date: Wed, 28 Apr 2021 11:40:39 +0200 Subject: Moving sockets from /tmp to /run Socket files needed to serve virtual media devices are created in /tmp directory which is temporary tmpfs mount. All temporary directories are subject of systemd's systemd-tmpfiles-clean.service which cleanes up them basing on age. Systemd-tmpfiles-clean uses tmpfiles.d entries to manage all temporary directories. This change moves creation of VM socket directory to tmpfiles.d - appropriate config has been added for Virtual Media. The entry will create socket directory without Age limitation. Socket location is moved from /tmp to /run. Is it more appropriate place where all daemons should have it's working files located. Tested: Manually mounting proxy and legacy cifs/https share, running systemd-tmpfiles-clean.service does not render any problems. Change-Id: I29ace61894587e03449e29c2459930008a2a1d99 Signed-off-by: Czarnowski, Przemyslaw --- CMakeLists.txt | 111 ++++++++++++++++-------------------------- tmpfiles.d/virtual-media.conf | 1 + virtual-media.json | 8 +-- 3 files changed, 47 insertions(+), 73 deletions(-) create mode 100644 tmpfiles.d/virtual-media.conf diff --git a/CMakeLists.txt b/CMakeLists.txt index 71e82ac..6bc3452 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,62 +25,33 @@ option(LEGACY_MODE_ENABLED if(NOT ${YOCTO_DEPENDENCIES}) include(ExternalProject) - externalproject_add(sdbusplus-project - PREFIX - ${CMAKE_BINARY_DIR}/sdbusplus-project - GIT_REPOSITORY - https://github.com/openbmc/sdbusplus.git - GIT_TAG - c08cf5283b80a071d19506d9a462f6c69e1797f1 - SOURCE_DIR - ${CMAKE_BINARY_DIR}/sdbusplus-src - BINARY_DIR - ${CMAKE_BINARY_DIR}/sdbusplus-build - CONFIGURE_COMMAND - "" - BUILD_COMMAND - cd - ${CMAKE_BINARY_DIR}/sdbusplus-src - && - ./bootstrap.sh - && - ./configure - --enable-transaction - && - make - -j - libsdbusplus.la - INSTALL_COMMAND - "" - LOG_DOWNLOAD - ON - UPDATE_COMMAND - "") - - externalproject_add(nlohmann-json - GIT_REPOSITORY - "https://github.com/nlohmann/json.git" - GIT_TAG - aafad2be1f3cd259a1e79d2f6fcf267d1ede9ec7 - SOURCE_DIR - "${CMAKE_BINARY_DIR}/nlohmann-json-src" - BINARY_DIR - "${CMAKE_BINARY_DIR}/nlohmann-json-build" - CONFIGURE_COMMAND - "" - BUILD_COMMAND - "" - INSTALL_COMMAND - mkdir - -p - "${CMAKE_BINARY_DIR}/prefix/include/nlohmann" - && - cp - -r - "${CMAKE_BINARY_DIR}/nlohmann-json-src/include/nlohmann" - "${CMAKE_BINARY_DIR}/prefix/include" - UPDATE_COMMAND - "") + ExternalProject_Add( + sdbusplus-project + PREFIX ${CMAKE_BINARY_DIR}/sdbusplus-project + GIT_REPOSITORY https://github.com/openbmc/sdbusplus.git + GIT_TAG c08cf5283b80a071d19506d9a462f6c69e1797f1 + SOURCE_DIR ${CMAKE_BINARY_DIR}/sdbusplus-src + BINARY_DIR ${CMAKE_BINARY_DIR}/sdbusplus-build + CONFIGURE_COMMAND "" + BUILD_COMMAND cd ${CMAKE_BINARY_DIR}/sdbusplus-src && ./bootstrap.sh && + ./configure --enable-transaction && make -j libsdbusplus.la + INSTALL_COMMAND "" + LOG_DOWNLOAD ON + UPDATE_COMMAND "") + + ExternalProject_Add( + nlohmann-json + GIT_REPOSITORY "https://github.com/nlohmann/json.git" + GIT_TAG aafad2be1f3cd259a1e79d2f6fcf267d1ede9ec7 + SOURCE_DIR "${CMAKE_BINARY_DIR}/nlohmann-json-src" + BINARY_DIR "${CMAKE_BINARY_DIR}/nlohmann-json-build" + CONFIGURE_COMMAND "" + BUILD_COMMAND "" + INSTALL_COMMAND + mkdir -p "${CMAKE_BINARY_DIR}/prefix/include/nlohmann" && cp -r + "${CMAKE_BINARY_DIR}/nlohmann-json-src/include/nlohmann" + "${CMAKE_BINARY_DIR}/prefix/include" + UPDATE_COMMAND "") include_directories(${CMAKE_BINARY_DIR}/prefix/include) include_directories(${CMAKE_BINARY_DIR}/sdbusplus-src) @@ -135,20 +106,22 @@ target_link_libraries(virtual-media -lboost_context) install(TARGETS virtual-media DESTINATION sbin) # Options based compile definitions -target_compile_definitions(virtual-media - PRIVATE - $<$: - -DBOOST_USE_VALGRIND> - $<$: - -DVM_VERBOSE_NBDKIT_LOGS> - $<$: - -DLEGACY_MODE_ENABLED> - $<$: - -DCUSTOM_DBUS_PATH="${CUSTOM_DBUS_PATH}">) +target_compile_definitions( + virtual-media + PRIVATE $<$: + -DBOOST_USE_VALGRIND> + $<$: + -DVM_VERBOSE_NBDKIT_LOGS> + $<$: + -DLEGACY_MODE_ENABLED> + $<$: + -DCUSTOM_DBUS_PATH="${CUSTOM_DBUS_PATH}">) if(CMAKE_INSTALL_SYSCONFDIR) - install(FILES ${PROJECT_SOURCE_DIR}/virtual-media.json DESTINATION - ${CMAKE_INSTALL_SYSCONFDIR}) + install(FILES ${PROJECT_SOURCE_DIR}/virtual-media.json + DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}) endif() install(FILES ${PROJECT_SOURCE_DIR}/xyz.openbmc_project.VirtualMedia.service - DESTINATION /lib/systemd/system/) + DESTINATION /lib/systemd/system/) +install(FILES ${PROJECT_SOURCE_DIR}/tmpfiles.d/virtual-media.conf + DESTINATION /etc/tmpfiles.d/) diff --git a/tmpfiles.d/virtual-media.conf b/tmpfiles.d/virtual-media.conf new file mode 100644 index 0000000..02ff6bc --- /dev/null +++ b/tmpfiles.d/virtual-media.conf @@ -0,0 +1 @@ +d /run/virtual-media 0700 root root diff --git a/virtual-media.json b/virtual-media.json index c5c53ed..688b74a 100644 --- a/virtual-media.json +++ b/virtual-media.json @@ -5,7 +5,7 @@ "EndpointId": "/nbd/0", "Mode": 0, "NBDDevice": "nbd0", - "UnixSocket": "/tmp/sock/nbd0.sock", + "UnixSocket": "/run/virtual-media/nbd0.sock", "Timeout": 30, "BlockSize": 512 }, @@ -13,7 +13,7 @@ "EndpointId": "/nbd/1", "Mode": 0, "NBDDevice": "nbd1", - "UnixSocket": "/tmp/sock/nbd1.sock", + "UnixSocket": "/run/virtual-media/nbd1.sock", "Timeout": 30, "BlockSize": 512 }, @@ -21,7 +21,7 @@ "EndpointId": "", "Mode": 1, "NBDDevice": "nbd2", - "UnixSocket": "/tmp/sock/nbd2.sock", + "UnixSocket": "/run/virtual-media/nbd2.sock", "Timeout": 90, "BlockSize": 512 }, @@ -29,7 +29,7 @@ "EndpointId": "", "Mode": 1, "NBDDevice": "nbd3", - "UnixSocket": "/tmp/sock/nbd3.sock", + "UnixSocket": "/run/virtual-media/nbd3.sock", "Timeout": 90, "BlockSize": 512 } -- cgit v1.2.3