From f06ca1cf835b4af55e1ae4c4d71fbdee3bb2228e Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Mon, 29 Dec 2025 15:39:38 +0100 Subject: [PATCH 01/10] obj: disable the POOL_FEAT_CHECK_BAD_BLOCKS flag Signed-off-by: Oksana Salyk --- src/libpmemobj/obj.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/libpmemobj/obj.c b/src/libpmemobj/obj.c index bf2ffc8a6..517054b4a 100644 --- a/src/libpmemobj/obj.c +++ b/src/libpmemobj/obj.c @@ -1059,6 +1059,7 @@ pool_attr_adjust(struct pool_attr *attr) } } else { attr->features.incompat &= ~POOL_FEAT_SDS; /* off */ + attr->features.compat &= ~POOL_FEAT_CHECK_BAD_BLOCKS; } return 0; From d9aa386b6fa19ddddf7c71a1aaedcaa7d01b1729 Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Tue, 30 Dec 2025 14:26:08 +0100 Subject: [PATCH 02/10] common: add corrections after review Signed-off-by: Oksana Salyk --- src/common/set.c | 4 ++++ src/libpmemobj/obj.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/common/set.c b/src/common/set.c index f82e9fd51..a3e9b80be 100644 --- a/src/common/set.c +++ b/src/common/set.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: BSD-3-Clause /* Copyright 2015-2024, Intel Corporation */ +/* Copyright 2025, Hewlett Packard Enterprise Development LP */ /* * Copyright (c) 2016, Microsoft Corporation. All rights reserved. * @@ -3042,6 +3043,9 @@ util_pool_open(struct pool_set **setp, const char *path, size_t minpartsize, goto err_poolset_free; } + /* filter out unsupported or turned off features */ + compat_features &= attr->features.compat; + if (compat_features & POOL_FEAT_CHECK_BAD_BLOCKS) { /* check if any bad block recovery file exists */ int bfe = badblocks_recovery_file_exists(set); diff --git a/src/libpmemobj/obj.c b/src/libpmemobj/obj.c index 517054b4a..b5f4f924f 100644 --- a/src/libpmemobj/obj.c +++ b/src/libpmemobj/obj.c @@ -1059,7 +1059,7 @@ pool_attr_adjust(struct pool_attr *attr) } } else { attr->features.incompat &= ~POOL_FEAT_SDS; /* off */ - attr->features.compat &= ~POOL_FEAT_CHECK_BAD_BLOCKS; + attr->features.compat &= ~POOL_FEAT_CHECK_BAD_BLOCKS; /* off */ } return 0; From 81a2c81e8497f3ebe5e10fe685656549b4c59105 Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Wed, 31 Dec 2025 08:47:17 +0100 Subject: [PATCH 03/10] test: fix obj_pool tests Signed-off-by: Oksana Salyk --- src/test/obj_pool/TEST32 | 2 ++ src/test/obj_pool/TEST33 | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/test/obj_pool/TEST32 b/src/test/obj_pool/TEST32 index 2d463de02..6a09e9462 100755 --- a/src/test/obj_pool/TEST32 +++ b/src/test/obj_pool/TEST32 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2019, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # src/test/obj_pool/TEST32 -- unit test for pmemobj_open @@ -10,6 +11,7 @@ . ../unittest/unittest.sh require_test_type medium +require_fs_type pmem setup diff --git a/src/test/obj_pool/TEST33 b/src/test/obj_pool/TEST33 index b76fb41a0..2df4bb88d 100755 --- a/src/test/obj_pool/TEST33 +++ b/src/test/obj_pool/TEST33 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2019, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # src/test/obj_pool/TEST33 -- unit test for pmemobj_open @@ -10,6 +11,7 @@ . ../unittest/unittest.sh require_test_type medium +require_fs_type pmem setup From 197a18cc28be44d31305d09b2ba760402a8d9a8d Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Wed, 31 Dec 2025 09:30:38 +0100 Subject: [PATCH 04/10] common: add a new function that checks if we have a real PMEM Signed-off-by: Oksana Salyk --- src/test/obj_pool/TEST32 | 2 +- src/test/obj_pool/TEST33 | 2 +- src/test/unittest/unittest.sh | 22 ++++++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/test/obj_pool/TEST32 b/src/test/obj_pool/TEST32 index 6a09e9462..edb531957 100755 --- a/src/test/obj_pool/TEST32 +++ b/src/test/obj_pool/TEST32 @@ -11,7 +11,7 @@ . ../unittest/unittest.sh require_test_type medium -require_fs_type pmem +require_real_pmem setup diff --git a/src/test/obj_pool/TEST33 b/src/test/obj_pool/TEST33 index 2df4bb88d..01a7065df 100755 --- a/src/test/obj_pool/TEST33 +++ b/src/test/obj_pool/TEST33 @@ -11,7 +11,7 @@ . ../unittest/unittest.sh require_test_type medium -require_fs_type pmem +require_real_pmem setup diff --git a/src/test/unittest/unittest.sh b/src/test/unittest/unittest.sh index 00ad1ba27..0dfb36798 100644 --- a/src/test/unittest/unittest.sh +++ b/src/test/unittest/unittest.sh @@ -2610,3 +2610,25 @@ function set_test_labels() { verbose_msg "$UNITTEST_NAME: SKIP ($TEST/$REAL_FS/$BUILD$MCSTR$PROV$PM) test-labels: $* ($TEST_LABEL required)" exit 0 } + +# +# require_real_pmem -- run tests only on real pmem +# +function require_real_pmem() { + local path="$1" + if [ -z "$path" ]; then + path="$DIR" + fi + if [ "$PMEM_IS_PMEM_FORCE" != "" ]; then + echo "require_real_pmem: PMEM is forced (PMEM_IS_PMEM_FORCE=$PMEM_IS_PMEM_FORCE)" + exit 0 + fi + case "$REAL_FS" in + pmem) + ;; + *) + echo "require_real_pmem: REAL_FS=$REAL_FS, this is not real PMEM" + exit 0 + ;; + esac +} From c249b43674552b7e7bfaf3f618617d1bf3ddb51d Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Wed, 31 Dec 2025 09:51:54 +0100 Subject: [PATCH 05/10] test: fix pmempool_sync tests Signed-off-by: Oksana Salyk --- src/test/pmempool_sync/TEST32 | 2 ++ src/test/pmempool_sync/TEST33 | 2 ++ src/test/pmempool_sync/TEST34 | 2 ++ src/test/pmempool_sync/TEST35 | 2 ++ src/test/pmempool_sync/TEST36 | 2 ++ src/test/pmempool_sync/TEST37 | 2 ++ src/test/pmempool_sync/TEST43 | 2 ++ src/test/pmempool_sync/TEST44 | 2 ++ src/test/pmempool_sync/TEST45 | 2 ++ src/test/pmempool_sync/TEST46 | 2 ++ src/test/pmempool_sync/TEST47 | 2 ++ src/test/pmempool_sync/TEST48 | 2 ++ src/test/pmempool_sync/TEST49 | 2 ++ src/test/pmempool_sync/TEST50 | 2 ++ src/test/pmempool_sync/TEST51 | 2 ++ src/test/pmempool_sync/TEST52 | 2 ++ src/test/pmempool_sync/TEST53 | 2 ++ 17 files changed, 34 insertions(+) diff --git a/src/test/pmempool_sync/TEST32 b/src/test/pmempool_sync/TEST32 index 3f00abade..139104887 100755 --- a/src/test/pmempool_sync/TEST32 +++ b/src/test/pmempool_sync/TEST32 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST32 -- test for sync command @@ -12,6 +13,7 @@ . ../unittest/unittest.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST33 b/src/test/pmempool_sync/TEST33 index d6ec59271..6e735575d 100755 --- a/src/test/pmempool_sync/TEST33 +++ b/src/test/pmempool_sync/TEST33 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST33 -- test for sync command @@ -12,6 +13,7 @@ . ../unittest/unittest.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST34 b/src/test/pmempool_sync/TEST34 index 72e18b4aa..bd0c5c6c3 100755 --- a/src/test/pmempool_sync/TEST34 +++ b/src/test/pmempool_sync/TEST34 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST34 -- test for sync command @@ -14,6 +15,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST35 b/src/test/pmempool_sync/TEST35 index 5a4368fea..73379ae32 100755 --- a/src/test/pmempool_sync/TEST35 +++ b/src/test/pmempool_sync/TEST35 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST35 -- test for sync command @@ -14,6 +15,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST36 b/src/test/pmempool_sync/TEST36 index 3eac293e5..2a742e4ab 100755 --- a/src/test/pmempool_sync/TEST36 +++ b/src/test/pmempool_sync/TEST36 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST36 -- test for sync command @@ -15,6 +16,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST37 b/src/test/pmempool_sync/TEST37 index 9f8798218..03b247a80 100755 --- a/src/test/pmempool_sync/TEST37 +++ b/src/test/pmempool_sync/TEST37 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST37 -- test for sync command @@ -15,6 +16,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST43 b/src/test/pmempool_sync/TEST43 index d46eeda96..86ab559d0 100755 --- a/src/test/pmempool_sync/TEST43 +++ b/src/test/pmempool_sync/TEST43 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST43 -- test for sync command with badblocks @@ -11,6 +12,7 @@ . ../unittest/unittest.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST44 b/src/test/pmempool_sync/TEST44 index da8b2a07f..74ce57caf 100755 --- a/src/test/pmempool_sync/TEST44 +++ b/src/test/pmempool_sync/TEST44 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST44 -- test for sync command with badblocks @@ -16,6 +17,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST45 b/src/test/pmempool_sync/TEST45 index b28b086a7..67b79532a 100755 --- a/src/test/pmempool_sync/TEST45 +++ b/src/test/pmempool_sync/TEST45 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST45 -- test for sync command with badblocks @@ -14,6 +15,7 @@ . ../unittest/unittest.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST46 b/src/test/pmempool_sync/TEST46 index 6758b2e95..b78d19b9e 100755 --- a/src/test/pmempool_sync/TEST46 +++ b/src/test/pmempool_sync/TEST46 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST46 -- test for sync command with badblocks @@ -14,6 +15,7 @@ . ../unittest/unittest.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST47 b/src/test/pmempool_sync/TEST47 index 19f769567..7beb00895 100755 --- a/src/test/pmempool_sync/TEST47 +++ b/src/test/pmempool_sync/TEST47 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST47 -- test for sync command with badblocks @@ -15,6 +16,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST48 b/src/test/pmempool_sync/TEST48 index 27d85005b..2015ee763 100755 --- a/src/test/pmempool_sync/TEST48 +++ b/src/test/pmempool_sync/TEST48 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST48 -- test for sync command with badblocks @@ -18,6 +19,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST49 b/src/test/pmempool_sync/TEST49 index 4db82bf4c..e9279dbca 100755 --- a/src/test/pmempool_sync/TEST49 +++ b/src/test/pmempool_sync/TEST49 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2011-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST49 -- test for sync command with badblocks @@ -19,6 +20,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST50 b/src/test/pmempool_sync/TEST50 index 963cf1cf2..0ab62e01c 100755 --- a/src/test/pmempool_sync/TEST50 +++ b/src/test/pmempool_sync/TEST50 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST50 -- test for sync command with badblocks @@ -19,6 +20,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST51 b/src/test/pmempool_sync/TEST51 index 5902a6863..e35b1bb1a 100755 --- a/src/test/pmempool_sync/TEST51 +++ b/src/test/pmempool_sync/TEST51 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST51 -- test for sync command with badblocks @@ -20,6 +21,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST52 b/src/test/pmempool_sync/TEST52 index 721eeb534..ebf20e556 100755 --- a/src/test/pmempool_sync/TEST52 +++ b/src/test/pmempool_sync/TEST52 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST52 -- test for sync command with badblocks @@ -15,6 +16,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/pmempool_sync/TEST53 b/src/test/pmempool_sync/TEST53 index abd2e08eb..441055510 100755 --- a/src/test/pmempool_sync/TEST53 +++ b/src/test/pmempool_sync/TEST53 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2011-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST53 -- test for sync command with badblocks @@ -17,6 +18,7 @@ . setup.sh +require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug From 410ac2dd5acf2d77d856d4c64df088f382f788b4 Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Mon, 5 Jan 2026 11:30:23 +0100 Subject: [PATCH 06/10] common: improve the condition in the require_real_pmem function Signed-off-by: Oksana Salyk --- src/test/obj_pool/TEST32 | 1 + src/test/obj_pool/TEST33 | 1 + src/test/pmempool_sync/TEST32 | 2 -- src/test/unittest/unittest.sh | 6 +++--- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/test/obj_pool/TEST32 b/src/test/obj_pool/TEST32 index edb531957..d31b592ad 100755 --- a/src/test/obj_pool/TEST32 +++ b/src/test/obj_pool/TEST32 @@ -11,6 +11,7 @@ . ../unittest/unittest.sh require_test_type medium +# For non-pmem POOL_FEAT_CHECK_BAD_BLOCKS is turned off via PMEMOBJ_CONF="sds.at_create=0" require_real_pmem setup diff --git a/src/test/obj_pool/TEST33 b/src/test/obj_pool/TEST33 index 01a7065df..2b63bb07e 100755 --- a/src/test/obj_pool/TEST33 +++ b/src/test/obj_pool/TEST33 @@ -11,6 +11,7 @@ . ../unittest/unittest.sh require_test_type medium +# For non-pmem POOL_FEAT_CHECK_BAD_BLOCKS is turned off via PMEMOBJ_CONF="sds.at_create=0" require_real_pmem setup diff --git a/src/test/pmempool_sync/TEST32 b/src/test/pmempool_sync/TEST32 index 139104887..3f00abade 100755 --- a/src/test/pmempool_sync/TEST32 +++ b/src/test/pmempool_sync/TEST32 @@ -1,7 +1,6 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation -# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST32 -- test for sync command @@ -13,7 +12,6 @@ . ../unittest/unittest.sh -require_real_pmem require_test_type medium require_fs_type non-pmem require_build_type debug nondebug diff --git a/src/test/unittest/unittest.sh b/src/test/unittest/unittest.sh index 0dfb36798..0b297d5f6 100644 --- a/src/test/unittest/unittest.sh +++ b/src/test/unittest/unittest.sh @@ -2619,15 +2619,15 @@ function require_real_pmem() { if [ -z "$path" ]; then path="$DIR" fi - if [ "$PMEM_IS_PMEM_FORCE" != "" ]; then - echo "require_real_pmem: PMEM is forced (PMEM_IS_PMEM_FORCE=$PMEM_IS_PMEM_FORCE)" + if [ "$PMEM_IS_PMEM_FORCE" == "1" ]; then + verbose_msg "$UNITTEST_NAME: SKIP ($TEST/$REAL_FS/$BUILD$MCSTR$PROV$PM) PMEM is forced (PMEM_IS_PMEM_FORCE=$PMEM_IS_PMEM_FORCE), real PMEM required" exit 0 fi case "$REAL_FS" in pmem) ;; *) - echo "require_real_pmem: REAL_FS=$REAL_FS, this is not real PMEM" + verbose_msg "$UNITTEST_NAME: SKIP ($TEST/$REAL_FS/$BUILD$MCSTR$PROV$PM) REAL_FS $REAL_FS (pmem required)" exit 0 ;; esac From 16722ba10ab2b7015618f38f9675c2b0ec6d4a20 Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Mon, 5 Jan 2026 12:38:08 +0100 Subject: [PATCH 07/10] test: improve TEST32 from the pmempool_sync Signed-off-by: Oksana Salyk --- src/test/pmempool_sync/TEST32 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/pmempool_sync/TEST32 b/src/test/pmempool_sync/TEST32 index 3f00abade..05d86ac88 100755 --- a/src/test/pmempool_sync/TEST32 +++ b/src/test/pmempool_sync/TEST32 @@ -1,6 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation +# Copyright 2025, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST32 -- test for sync command @@ -12,8 +13,8 @@ . ../unittest/unittest.sh +require_real_pmem require_test_type medium -require_fs_type non-pmem require_build_type debug nondebug require_linked_with_ndctl $PMEMPOOL$EXESUFFIX From f4e0d1219d08c2abb485114b85556ddf83615bf2 Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Wed, 7 Jan 2026 10:54:03 +0100 Subject: [PATCH 08/10] test: update tests Signed-off-by: Oksana Salyk --- src/test/obj_pool/TEST32 | 3 ++- src/test/obj_pool/TEST33 | 3 ++- src/test/pmempool_sync/TEST32 | 4 +--- src/test/pmempool_sync/TEST33 | 3 +-- src/test/pmempool_sync/TEST34 | 3 +-- src/test/pmempool_sync/TEST35 | 3 +-- src/test/pmempool_sync/TEST36 | 3 +-- src/test/pmempool_sync/TEST37 | 3 +-- src/test/util_sds_check/TEST0 | 4 +++- src/test/util_sds_check/TEST1 | 4 +++- src/test/util_sds_check/TEST2 | 4 +++- src/test/util_sds_check/TEST3 | 4 +++- src/test/util_sds_check/TEST4 | 4 +++- src/test/util_sds_check/TEST5 | 4 +++- src/test/util_sds_check/TEST6 | 4 +++- src/test/util_sds_check/TEST7 | 4 +++- 16 files changed, 34 insertions(+), 23 deletions(-) diff --git a/src/test/obj_pool/TEST32 b/src/test/obj_pool/TEST32 index d31b592ad..2e9644273 100755 --- a/src/test/obj_pool/TEST32 +++ b/src/test/obj_pool/TEST32 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2019, Intel Corporation -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/obj_pool/TEST32 -- unit test for pmemobj_open @@ -13,6 +13,7 @@ require_test_type medium # For non-pmem POOL_FEAT_CHECK_BAD_BLOCKS is turned off via PMEMOBJ_CONF="sds.at_create=0" require_real_pmem +require_badblock_tests_enabled $DIR/testfile setup diff --git a/src/test/obj_pool/TEST33 b/src/test/obj_pool/TEST33 index 2b63bb07e..b1236ccd8 100755 --- a/src/test/obj_pool/TEST33 +++ b/src/test/obj_pool/TEST33 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2019, Intel Corporation -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/obj_pool/TEST33 -- unit test for pmemobj_open @@ -13,6 +13,7 @@ require_test_type medium # For non-pmem POOL_FEAT_CHECK_BAD_BLOCKS is turned off via PMEMOBJ_CONF="sds.at_create=0" require_real_pmem +require_badblock_tests_enabled $DIR/testset1 setup diff --git a/src/test/pmempool_sync/TEST32 b/src/test/pmempool_sync/TEST32 index 05d86ac88..670ed31da 100755 --- a/src/test/pmempool_sync/TEST32 +++ b/src/test/pmempool_sync/TEST32 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST32 -- test for sync command @@ -36,8 +36,6 @@ expect_normal_exit $PMEMPOOL$EXESUFFIX create obj --layout pmempool$SUFFIX $POOL expect_normal_exit "$OBJ_VERIFY$EXESUFFIX $POOLSET pmempool$SUFFIX c v &>> $LOG" -turn_on_checking_bad_blocks $POOLSET - # zero blocks: offset: 2 length: 250 zero_blocks $DIR/testfile0 2 250 diff --git a/src/test/pmempool_sync/TEST33 b/src/test/pmempool_sync/TEST33 index 6e735575d..9a5ca2b9f 100755 --- a/src/test/pmempool_sync/TEST33 +++ b/src/test/pmempool_sync/TEST33 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST33 -- test for sync command @@ -15,7 +15,6 @@ require_real_pmem require_test_type medium -require_fs_type non-pmem require_build_type debug nondebug require_linked_with_ndctl $PMEMPOOL$EXESUFFIX diff --git a/src/test/pmempool_sync/TEST34 b/src/test/pmempool_sync/TEST34 index bd0c5c6c3..0d0e0ce6c 100755 --- a/src/test/pmempool_sync/TEST34 +++ b/src/test/pmempool_sync/TEST34 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST34 -- test for sync command @@ -17,7 +17,6 @@ require_real_pmem require_test_type medium -require_fs_type non-pmem require_build_type debug nondebug require_linked_with_ndctl $PMEMPOOL$EXESUFFIX diff --git a/src/test/pmempool_sync/TEST35 b/src/test/pmempool_sync/TEST35 index 73379ae32..055415611 100755 --- a/src/test/pmempool_sync/TEST35 +++ b/src/test/pmempool_sync/TEST35 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST35 -- test for sync command @@ -17,7 +17,6 @@ require_real_pmem require_test_type medium -require_fs_type non-pmem require_build_type debug nondebug require_linked_with_ndctl $PMEMPOOL$EXESUFFIX diff --git a/src/test/pmempool_sync/TEST36 b/src/test/pmempool_sync/TEST36 index 2a742e4ab..19739f767 100755 --- a/src/test/pmempool_sync/TEST36 +++ b/src/test/pmempool_sync/TEST36 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST36 -- test for sync command @@ -18,7 +18,6 @@ require_real_pmem require_test_type medium -require_fs_type non-pmem require_build_type debug nondebug require_linked_with_ndctl $PMEMPOOL$EXESUFFIX diff --git a/src/test/pmempool_sync/TEST37 b/src/test/pmempool_sync/TEST37 index 03b247a80..bc9879e5c 100755 --- a/src/test/pmempool_sync/TEST37 +++ b/src/test/pmempool_sync/TEST37 @@ -1,7 +1,7 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018-2024, Intel Corporation -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # # pmempool_sync/TEST37 -- test for sync command @@ -18,7 +18,6 @@ require_real_pmem require_test_type medium -require_fs_type non-pmem require_build_type debug nondebug require_linked_with_ndctl $PMEMPOOL$EXESUFFIX diff --git a/src/test/util_sds_check/TEST0 b/src/test/util_sds_check/TEST0 index 14ff63eb3..86cbacc32 100755 --- a/src/test/util_sds_check/TEST0 +++ b/src/test/util_sds_check/TEST0 @@ -1,6 +1,6 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/util_sds_check/TEST0 -- unittest for shutdown_state_check @@ -14,6 +14,8 @@ require_fs_type none require_build_type debug +require_sds ./util_sds_check + setup expect_normal_exit ./util_sds_check test_dirty_clear diff --git a/src/test/util_sds_check/TEST1 b/src/test/util_sds_check/TEST1 index f2417575a..dee535927 100755 --- a/src/test/util_sds_check/TEST1 +++ b/src/test/util_sds_check/TEST1 @@ -1,6 +1,6 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/util_sds_check/TEST1 -- unittest for shutdown_state_check @@ -14,6 +14,8 @@ require_fs_type none require_build_type debug +require_sds ./util_sds_check + setup expect_normal_exit ./util_sds_check test_invalid_checksum diff --git a/src/test/util_sds_check/TEST2 b/src/test/util_sds_check/TEST2 index 54cc7aece..0b9dc9ed7 100755 --- a/src/test/util_sds_check/TEST2 +++ b/src/test/util_sds_check/TEST2 @@ -1,6 +1,6 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/util_sds_check/TEST2 -- unittest for shutdown_state_check @@ -14,6 +14,8 @@ require_fs_type none require_build_type debug +require_sds ./util_sds_check + setup expect_normal_exit ./util_sds_check test_dirty_set diff --git a/src/test/util_sds_check/TEST3 b/src/test/util_sds_check/TEST3 index 958df6eb8..d3ccc46cd 100755 --- a/src/test/util_sds_check/TEST3 +++ b/src/test/util_sds_check/TEST3 @@ -1,6 +1,6 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/util_sds_check/TEST3 -- unittest for shutdown_state_check @@ -14,6 +14,8 @@ require_fs_type none require_build_type debug +require_sds ./util_sds_check + setup expect_normal_exit ./util_sds_check test_invalid_uuid diff --git a/src/test/util_sds_check/TEST4 b/src/test/util_sds_check/TEST4 index 79d1e9acc..6026bf7be 100755 --- a/src/test/util_sds_check/TEST4 +++ b/src/test/util_sds_check/TEST4 @@ -1,6 +1,6 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/util_sds_check/TEST4 -- unittest for shutdown_state_check @@ -14,6 +14,8 @@ require_fs_type none require_build_type debug +require_sds ./util_sds_check + setup expect_normal_exit ./util_sds_check test_invalid_uuid_set_dirty diff --git a/src/test/util_sds_check/TEST5 b/src/test/util_sds_check/TEST5 index ccf7de34d..a15d99599 100755 --- a/src/test/util_sds_check/TEST5 +++ b/src/test/util_sds_check/TEST5 @@ -1,6 +1,6 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/util_sds_check/TEST5 -- unittest for shutdown_state_check @@ -14,6 +14,8 @@ require_fs_type none require_build_type debug +require_sds ./util_sds_check + setup expect_normal_exit ./util_sds_check test_invalid_usc diff --git a/src/test/util_sds_check/TEST6 b/src/test/util_sds_check/TEST6 index aa9038ec3..e138f6a93 100755 --- a/src/test/util_sds_check/TEST6 +++ b/src/test/util_sds_check/TEST6 @@ -1,6 +1,6 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/util_sds_check/TEST6 -- unittest for shutdown_state_check @@ -14,6 +14,8 @@ require_fs_type none require_build_type debug +require_sds ./util_sds_check + setup expect_normal_exit ./util_sds_check test_invalid_usc_set_dirty diff --git a/src/test/util_sds_check/TEST7 b/src/test/util_sds_check/TEST7 index beed80e62..2b5142c91 100755 --- a/src/test/util_sds_check/TEST7 +++ b/src/test/util_sds_check/TEST7 @@ -1,6 +1,6 @@ #!/usr/bin/env bash # SPDX-License-Identifier: BSD-3-Clause -# Copyright 2025, Hewlett Packard Enterprise Development LP +# Copyright 2025-2026, Hewlett Packard Enterprise Development LP # # src/test/util_sds_check/TEST7 -- unittest for shutdown_state_check @@ -14,6 +14,8 @@ require_fs_type none require_build_type debug +require_sds ./util_sds_check + setup expect_normal_exit ./util_sds_check test_happy_day From af6486e6c60390635559ad7012923c304df1de94 Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Wed, 7 Jan 2026 14:40:19 +0100 Subject: [PATCH 09/10] test: fix obj_pool tests Signed-off-by: Oksana Salyk --- src/test/obj_pool/TEST32 | 2 +- src/test/obj_pool/TEST33 | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/obj_pool/TEST32 b/src/test/obj_pool/TEST32 index 2e9644273..024f22cd1 100755 --- a/src/test/obj_pool/TEST32 +++ b/src/test/obj_pool/TEST32 @@ -13,7 +13,7 @@ require_test_type medium # For non-pmem POOL_FEAT_CHECK_BAD_BLOCKS is turned off via PMEMOBJ_CONF="sds.at_create=0" require_real_pmem -require_badblock_tests_enabled $DIR/testfile +require_sds ./obj_pool setup diff --git a/src/test/obj_pool/TEST33 b/src/test/obj_pool/TEST33 index b1236ccd8..299291164 100755 --- a/src/test/obj_pool/TEST33 +++ b/src/test/obj_pool/TEST33 @@ -13,7 +13,7 @@ require_test_type medium # For non-pmem POOL_FEAT_CHECK_BAD_BLOCKS is turned off via PMEMOBJ_CONF="sds.at_create=0" require_real_pmem -require_badblock_tests_enabled $DIR/testset1 +require_sds ./obj_pool setup From c393468219747dcdebee39b6e86f548f8e4a8831 Mon Sep 17 00:00:00 2001 From: Oksana Salyk Date: Wed, 7 Jan 2026 16:12:10 +0100 Subject: [PATCH 10/10] common: update Changelog Signed-off-by: Oksana Salyk Co-authored-by: Jan Michalski --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index d3b83eee0..a0c5f31b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ XXX * Version X.X.X + - Expand the sds.at_create CTL to also cover the POOL_FEAT_CHECK_BAD_BLOCKS feature (daos-stack/pmdk#28, DAOS-18296). + - Until now, it controlled only the POOL_FEAT_SDS feature, but both may use NDCTL calls and increase stack usage. - Fix an issue in the PMEMOBJ allocator with a potential to corrupt the allocator's metadata (daos-stack/pmdk#24, DAOS-18195). - Fix compilation error on LoongArch. Thank you @liuxiang88 and @bgermann for your persistence in making it happen! (daos-stack/pmdk#29, pmem/pmdk#5957).