From 9a47aae72b52a28ac657cdc345d4858f77e0175f Mon Sep 17 00:00:00 2001 From: Lukasz Dorau Date: Wed, 23 Oct 2024 10:57:25 +0200 Subject: [PATCH 1/4] Fix file_open_ipc_handle() Remove the wrong check - the paths: file_ipc_data->path and file_provider->path should be different. Signed-off-by: Lukasz Dorau --- src/provider/provider_file_memory.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/provider/provider_file_memory.c b/src/provider/provider_file_memory.c index 274aab0b2..73f78186e 100644 --- a/src/provider/provider_file_memory.c +++ b/src/provider/provider_file_memory.c @@ -665,10 +665,6 @@ static umf_result_t file_open_ipc_handle(void *provider, void *providerIpcData, umf_result_t ret = UMF_RESULT_SUCCESS; int fd; - if (strncmp(file_ipc_data->path, file_provider->path, PATH_MAX)) { - return UMF_RESULT_ERROR_INVALID_ARGUMENT; - } - fd = utils_file_open(file_ipc_data->path); if (fd == -1) { LOG_PERR("opening the file to be mapped (%s) failed", From 319d1978c8c58115621aa9373a04043558867897 Mon Sep 17 00:00:00 2001 From: Lukasz Dorau Date: Wed, 23 Oct 2024 10:42:36 +0200 Subject: [PATCH 2/4] Fix ipc_file_prov test: should use two different files Fix ipc_file_prov test: producer and consumer should use two different files. Signed-off-by: Lukasz Dorau --- test/ipc_file_prov.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/ipc_file_prov.sh b/test/ipc_file_prov.sh index 6807f4009..b3e3091a8 100755 --- a/test/ipc_file_prov.sh +++ b/test/ipc_file_prov.sh @@ -20,13 +20,13 @@ UMF_LOG_VAL="level:debug;flush:debug;output:stderr;pid:yes" rm -f ${FILE_NAME} echo "Starting ipc_file_prov CONSUMER on port $PORT ..." -UMF_LOG=$UMF_LOG_VAL ./umf_test-ipc_file_prov_consumer $PORT $FILE_NAME & +UMF_LOG=$UMF_LOG_VAL ./umf_test-ipc_file_prov_consumer $PORT ${FILE_NAME}_consumer & echo "Waiting 1 sec ..." sleep 1 echo "Starting ipc_file_prov PRODUCER on port $PORT ..." -UMF_LOG=$UMF_LOG_VAL ./umf_test-ipc_file_prov_producer $PORT $FILE_NAME +UMF_LOG=$UMF_LOG_VAL ./umf_test-ipc_file_prov_producer $PORT ${FILE_NAME}_producer # remove the SHM file rm -f ${FILE_NAME} From 6694f845c980cd12fae36ba23dcbee9d9090e124 Mon Sep 17 00:00:00 2001 From: Lukasz Dorau Date: Wed, 23 Oct 2024 11:15:35 +0200 Subject: [PATCH 3/4] Fix ipc_file_prov_fsdax test: should use two different files Fix ipc_file_prov_fsdax test: producer and consumer should use two different FSDAX files. Signed-off-by: Lukasz Dorau --- test/ipc_file_prov_fsdax.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/test/ipc_file_prov_fsdax.sh b/test/ipc_file_prov_fsdax.sh index 56c540a65..6f8d75541 100755 --- a/test/ipc_file_prov_fsdax.sh +++ b/test/ipc_file_prov_fsdax.sh @@ -14,7 +14,13 @@ if [ "$UMF_TESTS_FSDAX_PATH" = "" ]; then exit 0 fi +if [ "$UMF_TESTS_FSDAX_PATH_2" = "" ]; then + echo "$0: Test skipped, UMF_TESTS_FSDAX_PATH_2 is not set"; + exit 0 +fi + FILE_NAME="$UMF_TESTS_FSDAX_PATH" +FILE_NAME_2="$UMF_TESTS_FSDAX_PATH_2" # port should be a number from the range <1024, 65535> PORT=$(( 1024 + ( $$ % ( 65535 - 1024 )))) @@ -31,7 +37,7 @@ echo "Waiting 1 sec ..." sleep 1 echo "Starting ipc_file_prov_fsdax PRODUCER on port $PORT ..." -UMF_LOG=$UMF_LOG_VAL ./umf_test-ipc_file_prov_producer $PORT $FILE_NAME "FSDAX" +UMF_LOG=$UMF_LOG_VAL ./umf_test-ipc_file_prov_producer $PORT $FILE_NAME_2 "FSDAX" # remove the SHM file rm -f ${FILE_NAME} From ddab0e68b997968a6b44f793d635e4022c7413c2 Mon Sep 17 00:00:00 2001 From: Lukasz Dorau Date: Wed, 23 Oct 2024 12:10:36 +0200 Subject: [PATCH 4/4] Add UMF_TESTS_FSDAX_PATH_2 to CI Signed-off-by: Lukasz Dorau --- .github/workflows/reusable_dax.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/reusable_dax.yml b/.github/workflows/reusable_dax.yml index b776d3eff..24e5a1bdb 100644 --- a/.github/workflows/reusable_dax.yml +++ b/.github/workflows/reusable_dax.yml @@ -26,6 +26,7 @@ env: FSDAX_NAMESPACE : "1.0" FSDAX_PMEM: "pmem1" UMF_TESTS_FSDAX_PATH: "/mnt/pmem1/file" + UMF_TESTS_FSDAX_PATH_2: "/mnt/pmem1/file_2" BUILD_DIR : "${{github.workspace}}/build" INSTL_DIR : "${{github.workspace}}/../install-dir" COVERAGE_DIR : "${{github.workspace}}/coverage" @@ -55,11 +56,12 @@ jobs: run: | echo FSDAX_NAMESPACE="${{env.FSDAX_NAMESPACE}}" echo UMF_TESTS_FSDAX_PATH="${{env.UMF_TESTS_FSDAX_PATH}}" + echo UMF_TESTS_FSDAX_PATH_2="${{env.UMF_TESTS_FSDAX_PATH_2}}" ndctl list --namespace=namespace${{env.FSDAX_NAMESPACE}} ls -al /dev/${{env.FSDAX_PMEM}} /mnt/${{env.FSDAX_PMEM}} mount | grep -e "/dev/${{env.FSDAX_PMEM}}" - touch ${{env.UMF_TESTS_FSDAX_PATH}} - rm -f ${{env.UMF_TESTS_FSDAX_PATH}} + touch ${{env.UMF_TESTS_FSDAX_PATH}} ${{env.UMF_TESTS_FSDAX_PATH_2}} + rm -f ${{env.UMF_TESTS_FSDAX_PATH}} ${{env.UMF_TESTS_FSDAX_PATH_2}} - name: Checkout uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 @@ -100,9 +102,9 @@ jobs: - name: Run the FSDAX tests working-directory: ${{env.BUILD_DIR}} run: | - UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}} ctest -C ${{matrix.build_type}} -R umf-provider_file_memory -V - UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}} ctest -C ${{matrix.build_type}} -R umf_example_dram_and_fsdax -V - UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}} ctest -C ${{matrix.build_type}} -R umf-ipc_file_prov_fsdax -V + UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}} UMF_TESTS_FSDAX_PATH_2=${{env.UMF_TESTS_FSDAX_PATH_2}} ctest -C ${{matrix.build_type}} -R umf-provider_file_memory -V + UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}} UMF_TESTS_FSDAX_PATH_2=${{env.UMF_TESTS_FSDAX_PATH_2}} ctest -C ${{matrix.build_type}} -R umf_example_dram_and_fsdax -V + UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}} UMF_TESTS_FSDAX_PATH_2=${{env.UMF_TESTS_FSDAX_PATH_2}} ctest -C ${{matrix.build_type}} -R umf-ipc_file_prov_fsdax -V - name: Check coverage if: ${{ matrix.build_type == 'Debug' }}