diff --git a/util-linux-fix-tests-with-64k-pagesize.patch b/util-linux-fix-tests-with-64k-pagesize.patch new file mode 100644 index 0000000..3996bae --- /dev/null +++ b/util-linux-fix-tests-with-64k-pagesize.patch @@ -0,0 +1,276 @@ +From 8b36444f447949c3ab477f2c43b45a94c30ee7bf Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= +Date: Sun, 21 May 2023 21:42:14 +0200 +Subject: [PATCH 1/4] fadvise: (test) dynamically calculate expected test + values +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Signed-off-by: Thomas Weißschuh +--- + tests/ts/fadvise/drop | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/tests/ts/fadvise/drop b/tests/ts/fadvise/drop +index 7c7eee5dc..86c0d5b0a 100755 +--- a/tests/ts/fadvise/drop ++++ b/tests/ts/fadvise/drop +@@ -16,7 +16,7 @@ ts_check_prog "sleep" + ts_cd "$TS_OUTDIR" + + FILE="ddtest" +-BS=4k ++BS=4096 + COUNT=8 + + FILE_FS="$("$TS_CMD_FINDMNT" -nr -o FSTYPE -T "$PWD")" +@@ -41,22 +41,22 @@ create_file() { + echo + + create_file +- echo "offset: 8192" +- "$TS_CMD_FADVISE" -o 8192 "$FILE" ++ echo "offset: $(( 2 * $BS ))" ++ "$TS_CMD_FADVISE" -o $(( 2 * $BS )) "$FILE" + echo status: $? + "$TS_CMD_FINCORE" "$FILE" + echo + + create_file +- echo "length: 16384" +- "$TS_CMD_FADVISE" -l 16384 "$FILE" ++ echo "length: $(( 4 * $BS ))" ++ "$TS_CMD_FADVISE" -l $(( 4 * $BS )) "$FILE" + echo status: $? + "$TS_CMD_FINCORE" "$FILE" + echo + + create_file +- echo "offset: 8192, length: 16384 fd: 42" +- "$TS_CMD_FADVISE" -o 8192 -l 16384 --fd 42 42<"$FILE" ++ echo "offset: $(( 2 * $BS )), length: $(( 4 * $BS )) fd: 42" ++ "$TS_CMD_FADVISE" -o $(( 2 * $BS )) -l $(( 4 * $BS )) --fd 42 42<"$FILE" + echo status: $? + "$TS_CMD_FINCORE" "$FILE" + echo +-- +2.40.0 + + +From e5009e773fc801eca887dd43b721cd1b1aa327be Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= +Date: Sun, 21 May 2023 21:43:38 +0200 +Subject: [PATCH 2/4] fadvise: (tests) factor out calls to "fincore" +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This will make it easier to pass argument later. + +Signed-off-by: Thomas Weißschuh +--- + tests/ts/fadvise/drop | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/tests/ts/fadvise/drop b/tests/ts/fadvise/drop +index 86c0d5b0a..8869b7da4 100755 +--- a/tests/ts/fadvise/drop ++++ b/tests/ts/fadvise/drop +@@ -28,37 +28,41 @@ create_file() { + dd if=/dev/zero of="$FILE" bs=$BS count=$COUNT conv=fsync >& /dev/null + } + ++do_fincore() { ++ "$TS_CMD_FINCORE" "$FILE" ++} ++ + { + create_file +- "$TS_CMD_FINCORE" "$FILE" ++ do_fincore + echo + + create_file + echo "whole file" + "$TS_CMD_FADVISE" "$FILE" + echo status: $? +- "$TS_CMD_FINCORE" "$FILE" ++ do_fincore + echo + + create_file + echo "offset: $(( 2 * $BS ))" + "$TS_CMD_FADVISE" -o $(( 2 * $BS )) "$FILE" + echo status: $? +- "$TS_CMD_FINCORE" "$FILE" ++ do_fincore + echo + + create_file + echo "length: $(( 4 * $BS ))" + "$TS_CMD_FADVISE" -l $(( 4 * $BS )) "$FILE" + echo status: $? +- "$TS_CMD_FINCORE" "$FILE" ++ do_fincore + echo + + create_file + echo "offset: $(( 2 * $BS )), length: $(( 4 * $BS )) fd: 42" + "$TS_CMD_FADVISE" -o $(( 2 * $BS )) -l $(( 4 * $BS )) --fd 42 42<"$FILE" + echo status: $? +- "$TS_CMD_FINCORE" "$FILE" ++ do_fincore + echo + + rm "$FILE" +-- +2.40.0 + + +From 33980996d0b429fc59c40f8352633c0a21a0f96a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= +Date: Sun, 21 May 2023 21:44:20 +0200 +Subject: [PATCH 3/4] fadvise: (test) don't compare fincore page counts +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +These depend on the machines pagesize and are therefore not a good +comparision. + +Signed-off-by: Thomas Weißschuh +--- + tests/expected/fadvise/drop | 20 ++++++++++---------- + tests/ts/fadvise/drop | 2 +- + 2 files changed, 11 insertions(+), 11 deletions(-) + +diff --git a/tests/expected/fadvise/drop b/tests/expected/fadvise/drop +index f2360b56f..25f23e050 100644 +--- a/tests/expected/fadvise/drop ++++ b/tests/expected/fadvise/drop +@@ -1,23 +1,23 @@ +- RES PAGES SIZE FILE +- 32K 8 32K ddtest ++ RES SIZE FILE ++ 32K 32K ddtest + + whole file + status: 0 +-RES PAGES SIZE FILE +- 0B 0 32K ddtest ++RES SIZE FILE ++ 0B 32K ddtest + + offset: 8192 + status: 0 +-RES PAGES SIZE FILE +- 8K 2 32K ddtest ++RES SIZE FILE ++ 8K 32K ddtest + + length: 16384 + status: 0 +- RES PAGES SIZE FILE +- 16K 4 32K ddtest ++ RES SIZE FILE ++ 16K 32K ddtest + + offset: 8192, length: 16384 fd: 42 + status: 0 +- RES PAGES SIZE FILE +- 16K 4 32K ddtest ++ RES SIZE FILE ++ 16K 32K ddtest + +diff --git a/tests/ts/fadvise/drop b/tests/ts/fadvise/drop +index 8869b7da4..6c4298e87 100755 +--- a/tests/ts/fadvise/drop ++++ b/tests/ts/fadvise/drop +@@ -29,7 +29,7 @@ create_file() { + } + + do_fincore() { +- "$TS_CMD_FINCORE" "$FILE" ++ "$TS_CMD_FINCORE" -o RES,SIZE,FILE "$FILE" + } + + { +-- +2.40.0 + + +From c0f31b79f5d1c665cdc057fb32f4d161d28aa5b2 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= +Date: Sun, 21 May 2023 21:45:10 +0200 +Subject: [PATCH 4/4] fadvise: (test) test with 64k blocks +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +This will allow the tests to also pass on systems with 64k pagesizes. + +Closes #2249 +Signed-off-by: Thomas Weißschuh +--- + tests/expected/fadvise/drop | 26 +++++++++++++------------- + tests/ts/fadvise/drop | 2 +- + 2 files changed, 14 insertions(+), 14 deletions(-) + +diff --git a/tests/expected/fadvise/drop b/tests/expected/fadvise/drop +index 25f23e050..e7bb26b6e 100644 +--- a/tests/expected/fadvise/drop ++++ b/tests/expected/fadvise/drop +@@ -1,23 +1,23 @@ +- RES SIZE FILE +- 32K 32K ddtest ++ RES SIZE FILE ++ 512K 512K ddtest + + whole file + status: 0 +-RES SIZE FILE +- 0B 32K ddtest ++RES SIZE FILE ++ 0B 512K ddtest + +-offset: 8192 ++offset: 131072 + status: 0 +-RES SIZE FILE +- 8K 32K ddtest ++ RES SIZE FILE ++ 128K 512K ddtest + +-length: 16384 ++length: 262144 + status: 0 +- RES SIZE FILE +- 16K 32K ddtest ++ RES SIZE FILE ++ 256K 512K ddtest + +-offset: 8192, length: 16384 fd: 42 ++offset: 131072, length: 262144 fd: 42 + status: 0 +- RES SIZE FILE +- 16K 32K ddtest ++ RES SIZE FILE ++ 256K 512K ddtest + +diff --git a/tests/ts/fadvise/drop b/tests/ts/fadvise/drop +index 6c4298e87..45dcb9110 100755 +--- a/tests/ts/fadvise/drop ++++ b/tests/ts/fadvise/drop +@@ -16,7 +16,7 @@ ts_check_prog "sleep" + ts_cd "$TS_OUTDIR" + + FILE="ddtest" +-BS=4096 ++BS=65536 + COUNT=8 + + FILE_FS="$("$TS_CMD_FINDMNT" -nr -o FSTYPE -T "$PWD")" +-- +2.40.0 + diff --git a/util-linux.changes b/util-linux.changes index 745f3ef..28962a6 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Aug 4 18:17:29 UTC 2023 - Antonio Teixeira + +- Re-add util-linux-fix-tests-with-64k-pagesize.patch because it is + not in 2.39.1 + ------------------------------------------------------------------- Wed Aug 2 07:36:09 UTC 2023 - Thorsten Kukuk diff --git a/util-linux.spec b/util-linux.spec index e0eb28c..0e68ca5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -112,6 +112,8 @@ Patch2: Add-documentation-on-blacklisted-modules-to-mount-8-.patch Patch3: util-linux-bash-completion-su-chsh-l.patch # https://github.com/util-linux/util-linux/pull/2373 Patch4: 0001-Revert-libblkid-try-LUKS2-first-when-probing.patch +# PATCH-FIX-UPSTREAM util-linux-fix-tests-with-64k-pagesize.patch -- fadvise: fix tests with 64k pagesize +Patch5: util-linux-fix-tests-with-64k-pagesize.patch BuildRequires: audit-devel BuildRequires: bc