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' }} 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", 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} 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}