* [PATCH 00/10] Extend kdevops-ci to support more workflows
@ 2025-06-15 9:58 Daniel Gomez
2025-06-15 9:58 ` [PATCH 01/10] .ci: blktests: add 1 section only targets Daniel Gomez
` (10 more replies)
0 siblings, 11 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
This patch series includes Ansible fixes identified while running the
kdevops-ci GitHub Runner and testing the CI_WORKFLOW setup with the
following defconfigs: linux-mm-kpd, linux-modules-kpd, blktests, and
tmpfs.
As part of these fixes, support for tmpfs CI defconfigs is added. I'm
now running all of the above workflows daily, although archiving results
and dashboard are still on my TODO list.
This patch also introduces new Makefile cli parameters to:
* Set selftest timeouts for module testing
* Customize the kdevops repository cloned in guests
For a preliminary check of the kdevops-ci infrastructure, please go to
Actions repository section [1] and check the scheduled workflows and
runs (branch name: testing). Daily, latest linux-next tags are tested
on the above CI matrix strategy. And on Mondays, latest Linus latest tag
is tested.
[1]
https://github.com/linux-kdevops/kdevops-ci/actions
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
Daniel Gomez (10):
.ci: blktests: add 1 section only targets
defconfigs: add tmpfs support
.ci: add tmpfs support
defconfigs: blktests: add blktests_meta support
gen_nodes: selftests: fix hosts names generation
gen_hosts: selftests: fix hosts names generation
fstests: fix ansible range type error
selftests: kmod: add timeout makefile parameter cli support
fstests: tmpfs: expunges: testing
workflows: add support to change kdevops repo in guests via cli
.ci/build-test/blktests_block | 1 +
.ci/build-test/blktests_loop | 1 +
.ci/build-test/blktests_meta | 1 +
.ci/build-test/blktests_nbd | 1 +
.ci/build-test/blktests_nvme | 1 +
.ci/build-test/blktests_nvmemp | 1 +
.ci/build-test/blktests_scsi | 1 +
.ci/build-test/blktests_srp | 1 +
.ci/build-test/blktests_zbd | 1 +
.ci/build-test/tmpfs | 1 +
.ci/build-test/tmpfs_default | 1 +
.ci/build-test/tmpfs_huge | 1 +
.ci/build-test/tmpfs_noswap | 1 +
.ci/results/blktests_block | 1 +
.ci/results/blktests_loop | 1 +
.ci/results/blktests_meta | 1 +
.ci/results/blktests_nbd | 1 +
.ci/results/blktests_nvme | 1 +
.ci/results/blktests_nvmemp | 1 +
.ci/results/blktests_scsi | 1 +
.ci/results/blktests_srp | 1 +
.ci/results/blktests_zbd | 1 +
.ci/results/tmpfs | 10 ++++++
.ci/results/tmpfs_default | 1 +
.ci/results/tmpfs_huge | 1 +
.ci/results/tmpfs_noswap | 1 +
.ci/test/blktests_block | 1 +
.ci/test/blktests_loop | 1 +
.ci/test/blktests_meta | 1 +
.ci/test/blktests_nbd | 1 +
.ci/test/blktests_nvme | 1 +
.ci/test/blktests_nvmemp | 1 +
.ci/test/blktests_scsi | 1 +
.ci/test/blktests_srp | 1 +
.ci/test/blktests_zbd | 1 +
.ci/test/tmpfs | 1 +
.ci/test/tmpfs_default | 1 +
.ci/test/tmpfs_huge | 1 +
.ci/test/tmpfs_noswap | 1 +
defconfigs/blktests_block | 1 +
defconfigs/blktests_loop | 1 +
defconfigs/blktests_meta | 31 +++++++++++++++++++
defconfigs/blktests_nbd | 1 +
defconfigs/blktests_nvme | 1 +
defconfigs/blktests_scsi | 1 +
defconfigs/blktests_srp | 1 +
defconfigs/blktests_zbd | 1 +
defconfigs/tmpfs | 36 ++++++++++++++++++++++
defconfigs/tmpfs_default | 29 +++++++++++++++++
defconfigs/tmpfs_huge | 32 +++++++++++++++++++
defconfigs/tmpfs_noswap | 33 ++++++++++++++++++++
kconfigs/workflows/Kconfig.shared | 23 +++++++++++---
playbooks/roles/fstests/tasks/main.yml | 2 +-
playbooks/roles/gen_hosts/tasks/main.yml | 15 ++++-----
playbooks/roles/gen_nodes/tasks/main.yml | 20 +++++++-----
.../fstests/expunges/any/tmpfs/unassigned/all.txt | 1 +
workflows/selftests/Kconfig | 7 ++++-
57 files changed, 263 insertions(+), 21 deletions(-)
---
base-commit: fd202e05b20b4e36e32a169a28061fbc5989d3d5
change-id: 20250615-ci-workflow-d3e2aa78b22d
Best regards,
--
Daniel Gomez <da.gomez@samsung.com>
^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH 01/10] .ci: blktests: add 1 section only targets
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-15 9:58 ` [PATCH 02/10] defconfigs: add tmpfs support Daniel Gomez
` (9 subsequent siblings)
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
This allows to configure the CI workflow to run using 1 section only
blktests configurations.
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
.ci/build-test/blktests_block | 1 +
.ci/build-test/blktests_loop | 1 +
.ci/build-test/blktests_meta | 1 +
.ci/build-test/blktests_nbd | 1 +
.ci/build-test/blktests_nvme | 1 +
.ci/build-test/blktests_nvmemp | 1 +
.ci/build-test/blktests_scsi | 1 +
.ci/build-test/blktests_srp | 1 +
.ci/build-test/blktests_zbd | 1 +
.ci/results/blktests_block | 1 +
.ci/results/blktests_loop | 1 +
.ci/results/blktests_meta | 1 +
.ci/results/blktests_nbd | 1 +
.ci/results/blktests_nvme | 1 +
.ci/results/blktests_nvmemp | 1 +
.ci/results/blktests_scsi | 1 +
.ci/results/blktests_srp | 1 +
.ci/results/blktests_zbd | 1 +
.ci/test/blktests_block | 1 +
.ci/test/blktests_loop | 1 +
.ci/test/blktests_meta | 1 +
.ci/test/blktests_nbd | 1 +
.ci/test/blktests_nvme | 1 +
.ci/test/blktests_nvmemp | 1 +
.ci/test/blktests_scsi | 1 +
.ci/test/blktests_srp | 1 +
.ci/test/blktests_zbd | 1 +
27 files changed, 27 insertions(+)
diff --git a/.ci/build-test/blktests_block b/.ci/build-test/blktests_block
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/build-test/blktests_block
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/build-test/blktests_loop b/.ci/build-test/blktests_loop
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/build-test/blktests_loop
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/build-test/blktests_meta b/.ci/build-test/blktests_meta
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/build-test/blktests_meta
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/build-test/blktests_nbd b/.ci/build-test/blktests_nbd
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/build-test/blktests_nbd
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/build-test/blktests_nvme b/.ci/build-test/blktests_nvme
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/build-test/blktests_nvme
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/build-test/blktests_nvmemp b/.ci/build-test/blktests_nvmemp
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/build-test/blktests_nvmemp
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/build-test/blktests_scsi b/.ci/build-test/blktests_scsi
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/build-test/blktests_scsi
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/build-test/blktests_srp b/.ci/build-test/blktests_srp
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/build-test/blktests_srp
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/build-test/blktests_zbd b/.ci/build-test/blktests_zbd
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/build-test/blktests_zbd
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/results/blktests_block b/.ci/results/blktests_block
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/results/blktests_block
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/results/blktests_loop b/.ci/results/blktests_loop
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/results/blktests_loop
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/results/blktests_meta b/.ci/results/blktests_meta
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/results/blktests_meta
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/results/blktests_nbd b/.ci/results/blktests_nbd
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/results/blktests_nbd
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/results/blktests_nvme b/.ci/results/blktests_nvme
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/results/blktests_nvme
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/results/blktests_nvmemp b/.ci/results/blktests_nvmemp
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/results/blktests_nvmemp
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/results/blktests_scsi b/.ci/results/blktests_scsi
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/results/blktests_scsi
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/results/blktests_srp b/.ci/results/blktests_srp
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/results/blktests_srp
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/results/blktests_zbd b/.ci/results/blktests_zbd
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/results/blktests_zbd
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/test/blktests_block b/.ci/test/blktests_block
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/test/blktests_block
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/test/blktests_loop b/.ci/test/blktests_loop
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/test/blktests_loop
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/test/blktests_meta b/.ci/test/blktests_meta
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/test/blktests_meta
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/test/blktests_nbd b/.ci/test/blktests_nbd
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/test/blktests_nbd
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/test/blktests_nvme b/.ci/test/blktests_nvme
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/test/blktests_nvme
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/test/blktests_nvmemp b/.ci/test/blktests_nvmemp
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/test/blktests_nvmemp
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/test/blktests_scsi b/.ci/test/blktests_scsi
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/test/blktests_scsi
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/test/blktests_srp b/.ci/test/blktests_srp
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/test/blktests_srp
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
diff --git a/.ci/test/blktests_zbd b/.ci/test/blktests_zbd
new file mode 120000
index 0000000000000000000000000000000000000000..86d7fbaf676c857a9d775890a7fe715afd345acf
--- /dev/null
+++ b/.ci/test/blktests_zbd
@@ -0,0 +1 @@
+blktests
\ No newline at end of file
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 02/10] defconfigs: add tmpfs support
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
2025-06-15 9:58 ` [PATCH 01/10] .ci: blktests: add 1 section only targets Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-15 9:58 ` [PATCH 03/10] .ci: " Daniel Gomez
` (8 subsequent siblings)
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Add tmpfs support. Include section defconfigs too but do not slit
sections in more for now.
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
defconfigs/tmpfs | 36 ++++++++++++++++++++++++++++++++++++
defconfigs/tmpfs_default | 29 +++++++++++++++++++++++++++++
defconfigs/tmpfs_huge | 32 ++++++++++++++++++++++++++++++++
defconfigs/tmpfs_noswap | 33 +++++++++++++++++++++++++++++++++
4 files changed, 130 insertions(+)
diff --git a/defconfigs/tmpfs b/defconfigs/tmpfs
new file mode 100644
index 0000000000000000000000000000000000000000..9601417c386ba6624f16a0c7d4738c5e44748bd0
--- /dev/null
+++ b/defconfigs/tmpfs
@@ -0,0 +1,36 @@
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+CONFIG_GUESTFS_BRINGUP_DEBUG_1=y
+
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+
+CONFIG_LIBVIRT_EXTRA_STORAGE_DRIVE_NVME=y
+
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_FSTESTS=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_FSTESTS=y
+
+CONFIG_FSTESTS_TMPFS_ENABLE=y
+CONFIG_FSTESTS_TMPFS=y
+CONFIG_FSTESTS_FSTYP="tmpfs"
+
+CONFIG_FSTESTS_TMPFS_MANUAL_COVERAGE=y
+CONFIG_FSTESTS_TMPFS_SECTION_DEFAULT=y
+CONFIG_FSTESTS_TMPFS_ENABLE_NOSWAP=y
+CONFIG_FSTESTS_TMPFS_SECTION_NOSWAP_HUGE_NEVER=y
+CONFIG_FSTESTS_TMPFS_SECTION_NOSWAP_HUGE_ALWAYS=y
+CONFIG_FSTESTS_TMPFS_SECTION_NOSWAP_HUGE_WITHIN_SIZE=y
+CONFIG_FSTESTS_TMPFS_SECTION_NOSWAP_HUGE_ADVISE=y
+CONFIG_FSTESTS_TMPFS_ENABLE_HUGE=y
+CONFIG_FSTESTS_TMPFS_SECTION_HUGE_ALWAYS=y
+CONFIG_FSTESTS_TMPFS_SECTION_HUGE_WITHIN_SIZE=y
+CONFIG_FSTESTS_TMPFS_SECTION_HUGE_ADVISE=y
+
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
diff --git a/defconfigs/tmpfs_default b/defconfigs/tmpfs_default
new file mode 100644
index 0000000000000000000000000000000000000000..529a8286da562f5bbfc840459e7497119ef0674f
--- /dev/null
+++ b/defconfigs/tmpfs_default
@@ -0,0 +1,29 @@
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+CONFIG_GUESTFS_BRINGUP_DEBUG_1=y
+
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+
+CONFIG_LIBVIRT_EXTRA_STORAGE_DRIVE_NVME=y
+
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_FSTESTS=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_FSTESTS=y
+
+CONFIG_FSTESTS_TMPFS_ENABLE=y
+CONFIG_FSTESTS_TMPFS=y
+CONFIG_FSTESTS_FSTYP="tmpfs"
+
+CONFIG_FSTESTS_TMPFS_MANUAL_COVERAGE=y
+CONFIG_FSTESTS_TMPFS_SECTION_DEFAULT=y
+CONFIG_FSTESTS_TMPFS_ENABLE_NOSWAP=n
+CONFIG_FSTESTS_TMPFS_ENABLE_HUGE=n
+
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
diff --git a/defconfigs/tmpfs_huge b/defconfigs/tmpfs_huge
new file mode 100644
index 0000000000000000000000000000000000000000..b2806cf25c3ef6e372c66f5d4c61b6844edc41b5
--- /dev/null
+++ b/defconfigs/tmpfs_huge
@@ -0,0 +1,32 @@
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+CONFIG_GUESTFS_BRINGUP_DEBUG_1=y
+
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+
+CONFIG_LIBVIRT_EXTRA_STORAGE_DRIVE_NVME=y
+
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_FSTESTS=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_FSTESTS=y
+
+CONFIG_FSTESTS_TMPFS_ENABLE=y
+CONFIG_FSTESTS_TMPFS=y
+CONFIG_FSTESTS_FSTYP="tmpfs"
+
+CONFIG_FSTESTS_TMPFS_MANUAL_COVERAGE=y
+CONFIG_FSTESTS_TMPFS_SECTION_DEFAULT=n
+CONFIG_FSTESTS_TMPFS_ENABLE_NOSWAP=n
+CONFIG_FSTESTS_TMPFS_ENABLE_HUGE=y
+CONFIG_FSTESTS_TMPFS_SECTION_HUGE_ALWAYS=y
+CONFIG_FSTESTS_TMPFS_SECTION_HUGE_WITHIN_SIZE=y
+CONFIG_FSTESTS_TMPFS_SECTION_HUGE_ADVISE=y
+
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
diff --git a/defconfigs/tmpfs_noswap b/defconfigs/tmpfs_noswap
new file mode 100644
index 0000000000000000000000000000000000000000..be1ec3454c84499734adaf0a7ad8fac973691b75
--- /dev/null
+++ b/defconfigs/tmpfs_noswap
@@ -0,0 +1,33 @@
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+CONFIG_GUESTFS_BRINGUP_DEBUG_1=y
+
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+
+CONFIG_LIBVIRT_EXTRA_STORAGE_DRIVE_NVME=y
+
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_FSTESTS=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_FSTESTS=y
+
+CONFIG_FSTESTS_TMPFS_ENABLE=y
+CONFIG_FSTESTS_TMPFS=y
+CONFIG_FSTESTS_FSTYP="tmpfs"
+
+CONFIG_FSTESTS_TMPFS_MANUAL_COVERAGE=y
+CONFIG_FSTESTS_TMPFS_SECTION_DEFAULT=n
+CONFIG_FSTESTS_TMPFS_ENABLE_NOSWAP=y
+CONFIG_FSTESTS_TMPFS_SECTION_NOSWAP_HUGE_NEVER=y
+CONFIG_FSTESTS_TMPFS_SECTION_NOSWAP_HUGE_ALWAYS=y
+CONFIG_FSTESTS_TMPFS_SECTION_NOSWAP_HUGE_WITHIN_SIZE=y
+CONFIG_FSTESTS_TMPFS_SECTION_NOSWAP_HUGE_ADVISE=y
+CONFIG_FSTESTS_TMPFS_ENABLE_HUGE=n
+
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 03/10] .ci: add tmpfs support
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
2025-06-15 9:58 ` [PATCH 01/10] .ci: blktests: add 1 section only targets Daniel Gomez
2025-06-15 9:58 ` [PATCH 02/10] defconfigs: add tmpfs support Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-15 9:58 ` [PATCH 04/10] defconfigs: blktests: add blktests_meta support Daniel Gomez
` (7 subsequent siblings)
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Add tmpfs support for ci workflow.
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
.ci/build-test/tmpfs | 1 +
.ci/build-test/tmpfs_default | 1 +
.ci/build-test/tmpfs_huge | 1 +
.ci/build-test/tmpfs_noswap | 1 +
.ci/results/tmpfs | 10 ++++++++++
.ci/results/tmpfs_default | 1 +
.ci/results/tmpfs_huge | 1 +
.ci/results/tmpfs_noswap | 1 +
.ci/test/tmpfs | 1 +
.ci/test/tmpfs_default | 1 +
.ci/test/tmpfs_huge | 1 +
.ci/test/tmpfs_noswap | 1 +
12 files changed, 21 insertions(+)
diff --git a/.ci/build-test/tmpfs b/.ci/build-test/tmpfs
new file mode 100644
index 0000000000000000000000000000000000000000..5a65e4d608ac919a5930770e0d4bb2209e0acea7
--- /dev/null
+++ b/.ci/build-test/tmpfs
@@ -0,0 +1 @@
+make fstests
diff --git a/.ci/build-test/tmpfs_default b/.ci/build-test/tmpfs_default
new file mode 120000
index 0000000000000000000000000000000000000000..11a52458e7acbc095b101f9a66d9e3a1fe62bb32
--- /dev/null
+++ b/.ci/build-test/tmpfs_default
@@ -0,0 +1 @@
+tmpfs
\ No newline at end of file
diff --git a/.ci/build-test/tmpfs_huge b/.ci/build-test/tmpfs_huge
new file mode 120000
index 0000000000000000000000000000000000000000..11a52458e7acbc095b101f9a66d9e3a1fe62bb32
--- /dev/null
+++ b/.ci/build-test/tmpfs_huge
@@ -0,0 +1 @@
+tmpfs
\ No newline at end of file
diff --git a/.ci/build-test/tmpfs_noswap b/.ci/build-test/tmpfs_noswap
new file mode 120000
index 0000000000000000000000000000000000000000..11a52458e7acbc095b101f9a66d9e3a1fe62bb32
--- /dev/null
+++ b/.ci/build-test/tmpfs_noswap
@@ -0,0 +1 @@
+tmpfs
\ No newline at end of file
diff --git a/.ci/results/tmpfs b/.ci/results/tmpfs
new file mode 100644
index 0000000000000000000000000000000000000000..d82e8d1fb422082e4505c96cdfbdb6113376ff0f
--- /dev/null
+++ b/.ci/results/tmpfs
@@ -0,0 +1,10 @@
+workflows/fstests/results/
+guestfs/*/*.xml
+guestfs/*/*.log
+journal/*
+.config
+extra_vars.yaml
+linux/.config
+ci.log
+.kernel.ci.*
+crashes
diff --git a/.ci/results/tmpfs_default b/.ci/results/tmpfs_default
new file mode 120000
index 0000000000000000000000000000000000000000..11a52458e7acbc095b101f9a66d9e3a1fe62bb32
--- /dev/null
+++ b/.ci/results/tmpfs_default
@@ -0,0 +1 @@
+tmpfs
\ No newline at end of file
diff --git a/.ci/results/tmpfs_huge b/.ci/results/tmpfs_huge
new file mode 120000
index 0000000000000000000000000000000000000000..11a52458e7acbc095b101f9a66d9e3a1fe62bb32
--- /dev/null
+++ b/.ci/results/tmpfs_huge
@@ -0,0 +1 @@
+tmpfs
\ No newline at end of file
diff --git a/.ci/results/tmpfs_noswap b/.ci/results/tmpfs_noswap
new file mode 120000
index 0000000000000000000000000000000000000000..11a52458e7acbc095b101f9a66d9e3a1fe62bb32
--- /dev/null
+++ b/.ci/results/tmpfs_noswap
@@ -0,0 +1 @@
+tmpfs
\ No newline at end of file
diff --git a/.ci/test/tmpfs b/.ci/test/tmpfs
new file mode 100644
index 0000000000000000000000000000000000000000..9d3a7ee14ab11a977f29666d44d5d8d56a05a7ea
--- /dev/null
+++ b/.ci/test/tmpfs
@@ -0,0 +1 @@
+make fstests-baseline
diff --git a/.ci/test/tmpfs_default b/.ci/test/tmpfs_default
new file mode 120000
index 0000000000000000000000000000000000000000..11a52458e7acbc095b101f9a66d9e3a1fe62bb32
--- /dev/null
+++ b/.ci/test/tmpfs_default
@@ -0,0 +1 @@
+tmpfs
\ No newline at end of file
diff --git a/.ci/test/tmpfs_huge b/.ci/test/tmpfs_huge
new file mode 120000
index 0000000000000000000000000000000000000000..11a52458e7acbc095b101f9a66d9e3a1fe62bb32
--- /dev/null
+++ b/.ci/test/tmpfs_huge
@@ -0,0 +1 @@
+tmpfs
\ No newline at end of file
diff --git a/.ci/test/tmpfs_noswap b/.ci/test/tmpfs_noswap
new file mode 120000
index 0000000000000000000000000000000000000000..11a52458e7acbc095b101f9a66d9e3a1fe62bb32
--- /dev/null
+++ b/.ci/test/tmpfs_noswap
@@ -0,0 +1 @@
+tmpfs
\ No newline at end of file
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 04/10] defconfigs: blktests: add blktests_meta support
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
` (2 preceding siblings ...)
2025-06-15 9:58 ` [PATCH 03/10] .ci: " Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-15 9:58 ` [PATCH 05/10] gen_nodes: selftests: fix hosts names generation Daniel Gomez
` (6 subsequent siblings)
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Add blktests_meta and ensure all blktests defconfigs disable META
profile.
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
defconfigs/blktests_block | 1 +
defconfigs/blktests_loop | 1 +
defconfigs/blktests_meta | 31 +++++++++++++++++++++++++++++++
defconfigs/blktests_nbd | 1 +
defconfigs/blktests_nvme | 1 +
defconfigs/blktests_scsi | 1 +
defconfigs/blktests_srp | 1 +
defconfigs/blktests_zbd | 1 +
8 files changed, 38 insertions(+)
diff --git a/defconfigs/blktests_block b/defconfigs/blktests_block
index 2c182448b2ece2efeae6670dcedcde51a76a97c5..2720435fbba9af8d0b9c0570a10facbbb5f06763 100644
--- a/defconfigs/blktests_block
+++ b/defconfigs/blktests_block
@@ -21,6 +21,7 @@ CONFIG_BLKTESTS_RESULTS_ALL=y
CONFIG_BLKTESTS_MANUAL_COVERAGE=y
CONFIG_BLKTESTS_SECTION_BLOCK=y
CONFIG_BLKTESTS_SECTION_LOOP=n
+CONFIG_BLKTESTS_SECTION_META=n
CONFIG_BLKTESTS_SECTION_NBD=n
CONFIG_BLKTESTS_SECTION_NVME=n
CONFIG_BLKTESTS_SECTION_SCSI=n
diff --git a/defconfigs/blktests_loop b/defconfigs/blktests_loop
index eb2d5747796cb56cd403eeec3aa19c59aa1a7f22..b366d103dd3fe87027be8165d183bd28c7c97df5 100644
--- a/defconfigs/blktests_loop
+++ b/defconfigs/blktests_loop
@@ -21,6 +21,7 @@ CONFIG_BLKTESTS_RESULTS_ALL=y
CONFIG_BLKTESTS_MANUAL_COVERAGE=y
CONFIG_BLKTESTS_SECTION_BLOCK=n
CONFIG_BLKTESTS_SECTION_LOOP=y
+CONFIG_BLKTESTS_SECTION_META=n
CONFIG_BLKTESTS_SECTION_NBD=n
CONFIG_BLKTESTS_SECTION_NVME=n
CONFIG_BLKTESTS_SECTION_SCSI=n
diff --git a/defconfigs/blktests_meta b/defconfigs/blktests_meta
new file mode 100644
index 0000000000000000000000000000000000000000..64502fb7e52b9918730b4a8a43a2b047199321e9
--- /dev/null
+++ b/defconfigs/blktests_meta
@@ -0,0 +1,31 @@
+CONFIG_GUESTFS=y
+CONFIG_LIBVIRT=y
+
+CONFIG_WORKFLOWS=y
+CONFIG_WORKFLOW_LINUX_CUSTOM=y
+
+CONFIG_GUESTFS_BRINGUP_DEBUG_1=y
+
+CONFIG_BOOTLINUX=y
+CONFIG_BOOTLINUX_9P=y
+
+CONFIG_LIBVIRT_EXTRA_STORAGE_DRIVE_NVME=y
+
+CONFIG_WORKFLOWS_TESTS=y
+CONFIG_WORKFLOWS_LINUX_TESTS=y
+CONFIG_WORKFLOWS_DEDICATED_WORKFLOW=y
+CONFIG_KDEVOPS_WORKFLOW_DEDICATE_BLKTESTS=y
+CONFIG_KDEVOPS_WORKFLOW_ENABLE_BLKTESTS=y
+
+CONFIG_BLKTESTS_RESULTS_ALL=y
+CONFIG_BLKTESTS_MANUAL_COVERAGE=y
+CONFIG_BLKTESTS_SECTION_BLOCK=n
+CONFIG_BLKTESTS_SECTION_LOOP=n
+CONFIG_BLKTESTS_SECTION_META=y
+CONFIG_BLKTESTS_SECTION_NBD=n
+CONFIG_BLKTESTS_SECTION_NVME=n
+CONFIG_BLKTESTS_SECTION_SCSI=n
+CONFIG_BLKTESTS_SECTION_SRP=n
+CONFIG_BLKTESTS_SECTION_ZBD=n
+
+CONFIG_DEVCONFIG_ENABLE_SYSTEMD_JOURNAL_REMOTE=y
diff --git a/defconfigs/blktests_nbd b/defconfigs/blktests_nbd
index 6544fcbe099ac5c9843656c03d51d781464fb867..fe958a72963d26d4d30abacf72e8b3cde93ba713 100644
--- a/defconfigs/blktests_nbd
+++ b/defconfigs/blktests_nbd
@@ -21,6 +21,7 @@ CONFIG_BLKTESTS_RESULTS_ALL=y
CONFIG_BLKTESTS_MANUAL_COVERAGE=y
CONFIG_BLKTESTS_SECTION_BLOCK=n
CONFIG_BLKTESTS_SECTION_LOOP=n
+CONFIG_BLKTESTS_SECTION_META=n
CONFIG_BLKTESTS_SECTION_NBD=y
CONFIG_BLKTESTS_SECTION_NVME=n
CONFIG_BLKTESTS_SECTION_SCSI=n
diff --git a/defconfigs/blktests_nvme b/defconfigs/blktests_nvme
index cb14c5bb4e34977951c8749477da290f54ed9deb..e504f18a83419aa0feb36e2e208e611b58ace7a9 100644
--- a/defconfigs/blktests_nvme
+++ b/defconfigs/blktests_nvme
@@ -21,6 +21,7 @@ CONFIG_BLKTESTS_RESULTS_ALL=y
CONFIG_BLKTESTS_MANUAL_COVERAGE=y
CONFIG_BLKTESTS_SECTION_BLOCK=n
CONFIG_BLKTESTS_SECTION_LOOP=n
+CONFIG_BLKTESTS_SECTION_META=n
CONFIG_BLKTESTS_SECTION_NBD=n
CONFIG_BLKTESTS_SECTION_NVME=y
CONFIG_BLKTESTS_SECTION_SCSI=n
diff --git a/defconfigs/blktests_scsi b/defconfigs/blktests_scsi
index 12603bcf037212cf6108b484d9970c073766258f..d49e72893690eb4b386a2f6c1d34778e18aecef9 100644
--- a/defconfigs/blktests_scsi
+++ b/defconfigs/blktests_scsi
@@ -21,6 +21,7 @@ CONFIG_BLKTESTS_RESULTS_ALL=y
CONFIG_BLKTESTS_MANUAL_COVERAGE=y
CONFIG_BLKTESTS_SECTION_BLOCK=n
CONFIG_BLKTESTS_SECTION_LOOP=n
+CONFIG_BLKTESTS_SECTION_META=n
CONFIG_BLKTESTS_SECTION_NBD=n
CONFIG_BLKTESTS_SECTION_NVME=n
CONFIG_BLKTESTS_SECTION_SCSI=y
diff --git a/defconfigs/blktests_srp b/defconfigs/blktests_srp
index d4ad7be05e694268c2df4d176d0f263753d65382..fccf4f0b625ca6c460b96db08b25a95ebbe912aa 100644
--- a/defconfigs/blktests_srp
+++ b/defconfigs/blktests_srp
@@ -21,6 +21,7 @@ CONFIG_BLKTESTS_RESULTS_ALL=y
CONFIG_BLKTESTS_MANUAL_COVERAGE=y
CONFIG_BLKTESTS_SECTION_BLOCK=n
CONFIG_BLKTESTS_SECTION_LOOP=n
+CONFIG_BLKTESTS_SECTION_META=n
CONFIG_BLKTESTS_SECTION_NBD=n
CONFIG_BLKTESTS_SECTION_NVME=n
CONFIG_BLKTESTS_SECTION_SCSI=n
diff --git a/defconfigs/blktests_zbd b/defconfigs/blktests_zbd
index d29014d454e9c435357111dfd0e7710ebe82cfa4..b2cf9ff5bd1f58132e8e1044df0ad6b2d6f58faa 100644
--- a/defconfigs/blktests_zbd
+++ b/defconfigs/blktests_zbd
@@ -21,6 +21,7 @@ CONFIG_BLKTESTS_RESULTS_ALL=y
CONFIG_BLKTESTS_MANUAL_COVERAGE=y
CONFIG_BLKTESTS_SECTION_BLOCK=n
CONFIG_BLKTESTS_SECTION_LOOP=n
+CONFIG_BLKTESTS_SECTION_META=n
CONFIG_BLKTESTS_SECTION_NBD=n
CONFIG_BLKTESTS_SECTION_NVME=n
CONFIG_BLKTESTS_SECTION_SCSI=n
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 05/10] gen_nodes: selftests: fix hosts names generation
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
` (3 preceding siblings ...)
2025-06-15 9:58 ` [PATCH 04/10] defconfigs: blktests: add blktests_meta support Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-15 9:58 ` [PATCH 06/10] gen_hosts: " Daniel Gomez
` (5 subsequent siblings)
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Fix hosts names variable expansion as in change 00c23b1 ("gen_nodes:
blktests: fix hosts names generation").
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/roles/gen_nodes/tasks/main.yml | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/playbooks/roles/gen_nodes/tasks/main.yml b/playbooks/roles/gen_nodes/tasks/main.yml
index 5be8ca183bbd5dcfa9459948226f7d185c91ab08..ef68742f9166617a8523502420b9086d20c53f99 100644
--- a/playbooks/roles/gen_nodes/tasks/main.yml
+++ b/playbooks/roles/gen_nodes/tasks/main.yml
@@ -365,13 +365,19 @@
- ansible_nodes_template.stat.exists
- name: Infer enabled selftests test section types
- vars:
- kdevops_config_data: "{{ lookup('file', topdir_path + '/.config') }}"
- config_val: "CONFIG_SELFTESTS_SECTION_"
- config_selftests_test_types: "{{ kdevops_config_data | regex_findall('^' + config_val + '(.*)=y$', multiline=True) }}"
- config_selftests_test_type_names: "{{ config_selftests_test_types | lower }}"
- set_fact:
- selftests_enabled_test_types: "{{ [kdevops_host_prefix + '-'] | product(config_selftests_test_type_names) | map('join') | list }}"
+ ansible.builtin.set_fact:
+ selftests_enabled_test_types: >-
+ {{
+ [kdevops_host_prefix + '-']
+ | product(
+ lookup('file', topdir_path + '/.config')
+ | regex_findall('^CONFIG_SELFTESTS_SECTION_(.*)=y$', multiline=True)
+ | map('lower')
+ | list
+ )
+ | map('join')
+ | list
+ }}
when:
- kdevops_workflows_dedicated_workflow
- kdevops_workflow_enable_selftests
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 06/10] gen_hosts: selftests: fix hosts names generation
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
` (4 preceding siblings ...)
2025-06-15 9:58 ` [PATCH 05/10] gen_nodes: selftests: fix hosts names generation Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-15 9:58 ` [PATCH 07/10] fstests: fix ansible range type error Daniel Gomez
` (4 subsequent siblings)
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Fix hosts names variable expansion as in change 2ad69dc ("gen_hosts:
blktests: fix hosts names generation").
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/roles/gen_hosts/tasks/main.yml | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/playbooks/roles/gen_hosts/tasks/main.yml b/playbooks/roles/gen_hosts/tasks/main.yml
index b7fb7a930cdd64db93fbf1fa9202b463a147f854..5f5234591acb878a77c7a0e99fa546d4395e91f1 100644
--- a/playbooks/roles/gen_hosts/tasks/main.yml
+++ b/playbooks/roles/gen_hosts/tasks/main.yml
@@ -245,13 +245,14 @@
- ansible_hosts_template.stat.exists
- name: Infer enabled selftests test section types
- vars:
- kdevops_config_data: "{{ lookup('file', topdir_path + '/.config') }}"
- config_val: "CONFIG_SELFTESTS_SECTION_"
- config_selftests_test_types: "{{ kdevops_config_data | regex_findall('^' + config_val + '(.*)=y$', multiline=True) }}"
- config_selftests_test_type_names: "{{ config_selftests_test_types | lower }}"
- set_fact:
- selftests_enabled_test_types: "{{ config_selftests_test_type_names }}"
+ ansible.builtin.set_fact:
+ selftests_enabled_test_types: >-
+ {{
+ lookup('file', topdir_path + '/.config')
+ | regex_findall('^CONFIG_SELFTESTS_SECTION_(.*)=y$', multiline=True)
+ | map('lower')
+ | list
+ }}
when:
- kdevops_workflows_dedicated_workflow
- kdevops_workflow_enable_selftests
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 07/10] fstests: fix ansible range type error
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
` (5 preceding siblings ...)
2025-06-15 9:58 ` [PATCH 06/10] gen_hosts: " Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-15 9:58 ` [PATCH 08/10] selftests: kmod: add timeout makefile parameter cli support Daniel Gomez
` (3 subsequent siblings)
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Create a list for the loop module fixes error:
TASK [fstests : Create 12 logical partitions on sigle NVMe drive]
[ERROR]: Error rendering template: Type 'range' is unsupported for
variable storage.
Error rendering template.
Origin:
/scratch/gh/actions-runner/_work/kdevops-ci/kdevops-ci/tmpfs_default/kde
vops/playbooks/roles/fstests/tasks/main.yml:617:9
615 part_start: "{{ ((item - 5) * test_partsize ) + 1 }}GiB"
616 part_end: "{{ ((item - 4) * test_partsize ) }}GiB"
617 loop: '{{ range(5, 17) }}'
^ column 9
<<< caused by >>>
Type 'range' is unsupported for variable storage. Origin: <unknown>
range(5, 17)
task path:
/scratch/gh/actions-runner/_work/kdevops-ci/kdevops-ci/tmpfs_default/kde
vops/playbooks/roles/fstests/tasks/main.yml:602
fatal: [c3223240f4b9-tmpfs-default]: FAILED! => {}
MSG:
Error rendering template: Type 'range' is unsupported for variable
storage.
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
playbooks/roles/fstests/tasks/main.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/playbooks/roles/fstests/tasks/main.yml b/playbooks/roles/fstests/tasks/main.yml
index eab35fba026c8f112f7d4b28fe56e1be5b7159ad..2665f693af3c9cc343a8c140df782c83302e1781 100644
--- a/playbooks/roles/fstests/tasks/main.yml
+++ b/playbooks/roles/fstests/tasks/main.yml
@@ -614,7 +614,7 @@
part_type: "logical"
part_start: "{{ ((item - 5) * test_partsize ) + 1 }}GiB"
part_end: "{{ ((item - 4) * test_partsize ) }}GiB"
- loop: '{{ range(5, 17) }}'
+ loop: '{{ range(5, 17) | list }}'
when:
- fstests_testdev_nvme_partition_euis|bool
- nvme_symlinks | length >= 1
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 08/10] selftests: kmod: add timeout makefile parameter cli support
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
` (6 preceding siblings ...)
2025-06-15 9:58 ` [PATCH 07/10] fstests: fix ansible range type error Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-15 9:58 ` [PATCH 09/10] fstests: tmpfs: expunges: testing Daniel Gomez
` (2 subsequent siblings)
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Add makefile parameter support to control SELFTEST_SECTION_KMOD_TIMEOUT
Kconfig option via Makefile cli with KMOD_TIMEOUT. This is needed to
adapt timeout to the machine characteristics.
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
workflows/selftests/Kconfig | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/workflows/selftests/Kconfig b/workflows/selftests/Kconfig
index 1ecfcc6a23aebdd11b2e83cdcbb92d6e9e97744a..ea69775c7f9e0ffb8a6d6e3520dcbddde10d8c57 100644
--- a/workflows/selftests/Kconfig
+++ b/workflows/selftests/Kconfig
@@ -1,5 +1,9 @@
if KDEVOPS_WORKFLOW_ENABLE_SELFTESTS
+config SELFTESTS_KMOD_TIMEOUT_SET_BY_CLI
+ bool
+ default $(shell, scripts/check-cli-set-var.sh KMOD_TIMEOUT)
+
menu "Configure what to test in selftests"
config SELFTESTS_BUILD_RADIX_TREE
@@ -111,7 +115,8 @@ config SELFTESTS_SECTION_KMOD_TIMEOUT
int "kmod timeout"
output yaml
depends on SELFTESTS_SECTION_KMOD
- default 165
+ default 165 if !SELFTESTS_KMOD_TIMEOUT_SET_BY_CLI
+ default $(shell, ./scripts/append-makefile-vars-int.sh $(KMOD_TIMEOUT)) if SELFTESTS_KMOD_TIMEOUT_SET_BY_CLI
help
A default timeout of 45 seconds is used for runner, however each
runner system configuration may also vary. So a timeout is very
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
` (7 preceding siblings ...)
2025-06-15 9:58 ` [PATCH 08/10] selftests: kmod: add timeout makefile parameter cli support Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-15 16:18 ` Chuck Lever
2025-06-15 9:58 ` [PATCH 10/10] workflows: add support to change kdevops repo in guests via cli Daniel Gomez
2025-06-26 18:59 ` [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
10 siblings, 1 reply; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Do not run generic/449 on tmpfs. It does not apply.
This needs to be fixed upstream, but in the meantime, do not delay ci
unnecessarly.
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
workflows/fstests/expunges/any/tmpfs/unassigned/all.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
new file mode 100644
index 0000000000000000000000000000000000000000..755ef4617fdba241e9676bdbc6cec52635cae7d8
--- /dev/null
+++ b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
@@ -0,0 +1 @@
+generic/449
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH 10/10] workflows: add support to change kdevops repo in guests via cli
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
` (8 preceding siblings ...)
2025-06-15 9:58 ` [PATCH 09/10] fstests: tmpfs: expunges: testing Daniel Gomez
@ 2025-06-15 9:58 ` Daniel Gomez
2025-06-26 18:59 ` [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-15 9:58 UTC (permalink / raw)
To: Luis Chamberlain; +Cc: kdevops, Daniel Gomez, Chuck Lever, Daniel Gomez
From: Daniel Gomez <da.gomez@samsung.com>
Add support for GUEST_KDEVOPS_REPO and GUEST_KDEVOPS_REF make cli
variables to be able to change the kdevops repository and git reference
being cloned in the guests. This is useful for developers so they can
easily point to their kdevops' tree.
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
---
kconfigs/workflows/Kconfig.shared | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/kconfigs/workflows/Kconfig.shared b/kconfigs/workflows/Kconfig.shared
index d05f31964684b09cfd787011e442a9a504460e88..29176b89e69faf5078de89fde1c52b96669bba7c 100644
--- a/kconfigs/workflows/Kconfig.shared
+++ b/kconfigs/workflows/Kconfig.shared
@@ -2,6 +2,16 @@ menu "Shared workflow data partition"
source "kconfigs/workflows/Kconfig.data_partition"
endmenu
+config WORKFLOW_KDEVOPS_GIT_SET_BY_CLI
+ bool
+ select HAVE_CUSTOM_KDEVOPS_GIT
+ default $(shell, scripts/check-cli-set-var.sh GUEST_KDEVOPS_REPO)
+
+config WORKFLOW_KDEVOPS_GIT_VERSION_SET_BY_CLI
+ bool
+ select HAVE_CUSTOM_KDEVOPS_GIT_VERSION
+ default $(shell, scripts/check-cli-set-var.sh GUEST_KDEVOPS_REF)
+
config HAVE_CUSTOM_KDEVOPS_GIT
bool
default n
@@ -69,7 +79,7 @@ config WORKFLOW_KDEVOPS_GIT
config WORKFLOW_KDEVOPS_GIT_VERSION
string "Git tree version (branch/tag/commit) of kdevops to clone on targets"
- default "HEAD"
+ default CUSTOM_KDEVOPS_GIT_VERSION if HAVE_CUSTOM_KDEVOPS_GIT_VERSION
help
Specify the verison of the custom kdevops git repository to check out
on each target.
@@ -85,11 +95,12 @@ config HAVE_MIRROR_KDEVOPS
config WORKFLOW_KDEVOPS_GIT
string
- default "https://github.com/linux-kdevops/kdevops.git" if !GIT_ALTERNATIVES && !HAVE_CUSTOM_KDEVOPS_GIT
+ default "https://github.com/linux-kdevops/kdevops.git" if !GIT_ALTERNATIVES && !HAVE_CUSTOM_KDEVOPS_GIT && !WORKFLOW_KDEVOPS_GIT_SET_BY_CLI
default "https://github.com/linux-kdevops/kdevops.git" if GIT_LINUX_KDEVOPS_GITHUB && !HAVE_MIRROR_KDEVOPS
default "https://gitlab.com/linux-kdevops/kdevops.git" if GIT_LINUX_KDEVOPS_GITLAB && !HAVE_MIRROR_KDEVOPS
- default $(shell, scripts/append-makefile-vars.sh git:// $(KDEVOPS_DEFAULT_BRIDGE_IP_VAGRANT) /mirror/kdevops.git) if HAVE_MIRROR_KDEVOPS && VAGRANT
- default $(shell, scripts/append-makefile-vars.sh git:// $(KDEVOPS_DEFAULT_BRIDGE_IP_GUESTFS) /mirror/kdevops.git) if HAVE_MIRROR_KDEVOPS && GUESTFS
+ default $(shell, scripts/append-makefile-vars.sh git:// $(KDEVOPS_DEFAULT_BRIDGE_IP_VAGRANT) /mirror/kdevops.git) if HAVE_MIRROR_KDEVOPS && VAGRANT && !WORKFLOW_KDEVOPS_GIT_SET_BY_CLI
+ default $(shell, scripts/append-makefile-vars.sh git:// $(KDEVOPS_DEFAULT_BRIDGE_IP_GUESTFS) /mirror/kdevops.git) if HAVE_MIRROR_KDEVOPS && GUESTFS && !WORKFLOW_KDEVOPS_GIT_SET_BY_CLI
+ default $(shell, ./scripts/append-makefile-vars.sh $(GUEST_KDEVOPS_REPO)) if WORKFLOW_KDEVOPS_GIT_SET_BY_CLI
help
Some workflows want to also clone a version of kdevops on each target.
An example of this is when using the fstests workflow, which carries
@@ -99,7 +110,9 @@ config WORKFLOW_KDEVOPS_GIT
baseline.
config WORKFLOW_KDEVOPS_GIT_VERSION
- default "HEAD"
+ string
+ default "HEAD" if !WORKFLOW_KDEVOPS_GIT_VERSION_SET_BY_CLI
+ default $(shell, ./scripts/append-makefile-vars.sh $(GUEST_KDEVOPS_REF)) if WORKFLOW_KDEVOPS_GIT_VERSION_SET_BY_CLI
help
Specify the verison of the custom kdevops git repository to check out
on each target.
--
2.49.0
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-15 9:58 ` [PATCH 09/10] fstests: tmpfs: expunges: testing Daniel Gomez
@ 2025-06-15 16:18 ` Chuck Lever
2025-06-16 10:41 ` Daniel Gomez
0 siblings, 1 reply; 21+ messages in thread
From: Chuck Lever @ 2025-06-15 16:18 UTC (permalink / raw)
To: Daniel Gomez, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 6/15/25 5:58 AM, Daniel Gomez wrote:
> From: Daniel Gomez <da.gomez@samsung.com>
>
> Do not run generic/449 on tmpfs. It does not apply.
>
> This needs to be fixed upstream, but in the meantime, do not delay ci
> unnecessarly.
>
> Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
> ---
> workflows/fstests/expunges/any/tmpfs/unassigned/all.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
> new file mode 100644
> index 0000000000000000000000000000000000000000..755ef4617fdba241e9676bdbc6cec52635cae7d8
> --- /dev/null
> +++ b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
> @@ -0,0 +1 @@
> +generic/449
>
For comparison, here is the expunge list I use for tmpfs:
diff --git a/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
new file mode 100644
index 000000000000..86710a98776b
--- /dev/null
+++ b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
@@ -0,0 +1,3 @@
+generic/449
+generic/551
+generic/561
So: agreed on 449. Should we consider skipping generic/551 and
generic/561 too?
--
Chuck Lever
^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-15 16:18 ` Chuck Lever
@ 2025-06-16 10:41 ` Daniel Gomez
2025-06-16 14:31 ` Chuck Lever
0 siblings, 1 reply; 21+ messages in thread
From: Daniel Gomez @ 2025-06-16 10:41 UTC (permalink / raw)
To: Chuck Lever, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 15/06/2025 18.18, Chuck Lever wrote:
> On 6/15/25 5:58 AM, Daniel Gomez wrote:
> For comparison, here is the expunge list I use for tmpfs:
>
> diff --git a/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
> b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
> new file mode 100644
> index 000000000000..86710a98776b
> --- /dev/null
> +++ b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
> @@ -0,0 +1,3 @@
> +generic/449
> +generic/551
> +generic/561
The time spent in generic/449 before it's skipped is quite long, that's why I
added it here.
But rather than augment expunges I think it'd be better to do it directly
in xfstests as done by Hugh [1] in a patch list I got from him some time last
year. (BTW, I think you've probably received the same here [2], right?).
Unfortunately, I got stuck in this review before reaching to that point [3]
and never had the time to follow it up:
[1] https://gitlab.com/da.gomez/xfstests-dev/-/commits/hughd/tmpfs-fixes?ref_type=heads
[2] https://lore.kernel.org/all/5d1e7ea8-be4c-4906-a1d4-835fa46da605@oracle.com/
[3] https://lore.kernel.org/all/20240614061722.1080-1-da.gomez@samsung.com/
This is the actual time spent on generic/449 in my current setup:
[ 1468.203926] run fstests generic/446 at 2025-06-16 08:19:06
[ 1472.522334] run fstests generic/447 at 2025-06-16 08:19:11
[ 1473.208250] run fstests generic/448 at 2025-06-16 08:19:11
[ 1474.527435] run fstests generic/449 at 2025-06-16 08:19:13
[ 6894.771567] run fstests generic/450 at 2025-06-16 09:49:33
[ 6895.431099] run fstests generic/451 at 2025-06-16 09:49:34
>
> So: agreed on 449. Should we consider skipping generic/551 and
> generic/561 too?
>
For generic/551 I'm currently getting this:
[ 7081.496735] run fstests generic/547 at 2025-06-16 09:52:40
[ 7082.015303] run fstests generic/548 at 2025-06-16 09:52:40
[ 7082.689962] run fstests generic/549 at 2025-06-16 09:52:41
[ 7083.406567] run fstests generic/550 at 2025-06-16 09:52:41
[ 7083.887618] run fstests generic/551 at 2025-06-16 09:52:42
[ 7089.441945] aio-dio-write-v invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=250
[ 7089.442675] CPU: 2 UID: 0 PID: 1842847 Comm: aio-dio-write-v Not tainted 6.16.0-rc2 #9 PREEMPT(full)
[ 7089.442677] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 2025.02-6 04/08/2025
[ 7089.442678] Call Trace:
[ 7089.442679] <TASK>
[ 7089.442680] dump_stack_lvl+0x56/0x80
[ 7089.442685] dump_header+0x43/0x1b7
[ 7089.442687] oom_kill_process.cold+0x8/0x90
[ 7089.442689] out_of_memory+0x162/0x4f0
[ 7089.442692] __alloc_pages_slowpath.constprop.0+0x9fc/0xda0
[ 7089.442695] __alloc_frozen_pages_noprof+0x359/0x370
[ 7089.442698] alloc_pages_mpol+0x7d/0x1c0
[ 7089.442700] folio_alloc_mpol_noprof+0x14/0xb0
[ 7089.442702] shmem_alloc_folio+0x9c/0xb0
[ 7089.442705] shmem_alloc_and_add_folio+0x174/0x550
[ 7089.442706] ? shmem_allowable_huge_orders+0xc6/0x140
[ 7089.442708] shmem_get_folio_gfp+0x229/0x740
[ 7089.442709] shmem_write_begin+0x51/0x130
[ 7089.442711] generic_perform_write+0xc7/0x2d0
[ 7089.442713] shmem_file_write_iter+0x82/0x90
[ 7089.442715] aio_write+0x110/0x250
[ 7089.442718] ? __alloc_object+0x2f/0x220
[ 7089.442720] ? __link_object+0x142/0x220
[ 7089.442722] ? _raw_spin_unlock_irqrestore+0x23/0x40
[ 7089.442725] ? __create_object+0x5e/0x90
[ 7089.442726] ? io_submit_one+0x7b/0x970
[ 7089.442727] ? kmem_cache_alloc_noprof+0x310/0x3d0
[ 7089.442730] ? _raw_spin_lock_irqsave+0x23/0x50
[ 7089.442732] ? io_submit_one+0x435/0x970
[ 7089.442733] io_submit_one+0x435/0x970
[ 7089.442735] __x64_sys_io_submit+0x81/0x1c0
[ 7089.442736] do_syscall_64+0x50/0x1e0
[ 7089.442739] entry_SYSCALL_64_after_hwframe+0x76/0x7e
[ 7089.442740] RIP: 0033:0x7f15a5122779
[ 7089.442745] Code: Unable to access opcode bytes at 0x7f15a512274f.
[ 7089.442746] RSP: 002b:00007ffdb85b0288 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1
[ 7089.442747] RAX: ffffffffffffffda RBX: 00007f15a50116c8 RCX: 00007f15a5122779
[ 7089.442748] RDX: 000056050750e0b0 RSI: 0000000000000019 RDI: 00007f15a5214000
[ 7089.442749] RBP: 00007f15a5214000 R08: 0000000000000001 R09: 0000000000000003
[ 7089.442750] R10: 00007f15a51fbac0 R11: 0000000000000246 R12: 0000000000000019
[ 7089.442750] R13: 0000000000000000 R14: 000056050750e0b0 R15: 000056050750e0b0
[ 7089.442753] </TASK>
[ 7089.442753] Mem-Info:
[ 7089.459986] active_anon:922060 inactive_anon:12934 isolated_anon:0
active_file:2 inactive_file:55 isolated_file:0
unevictable:0 dirty:11 writeback:0
slab_reclaimable:3359 slab_unreclaimable:25305
mapped:83 shmem:62663 pagetables:2595
sec_pagetables:0 bounce:0
kernel_misc_reclaimable:0
free:20479 free_pcp:2269 free_cma:0
[ 7089.462234] Node 0 active_anon:3688240kB inactive_anon:51736kB active_file:8kB inactive_file:220kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:332kB dirty:44kB writeback:0kB shmem:250652kB
[ 7089.464097] Node 0 DMA free:14368kB boost:0kB min:248kB low:308kB high:368kB reserved_highatomic:0KB free_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB w
[ 7089.465762] lowmem_reserve[]: 0 1927 3899 3899 3899
[ 7089.466055] Node 0 DMA32 free:33328kB boost:0kB min:32280kB low:40348kB high:48416kB reserved_highatomic:0KB free_highatomic:0KB active_anon:1930668kB inactive_anon:1896kB active_file:0kB inactive_file:68kB
[ 7089.467823] lowmem_reserve[]: 0 0 1971 1971 1971
[ 7089.468099] Node 0 Normal free:34220kB boost:6144kB min:41196kB low:49956kB high:58716kB reserved_highatomic:0KB free_highatomic:0KB active_anon:1727272kB inactive_anon:80140kB active_file:216kB inactive_fi
[ 7089.470959] lowmem_reserve[]: 0 0 0 0 0
[ 7089.471360] Node 0 DMA: 2*4kB (U) 1*8kB (U) 1*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 2*1024kB (U) 2*2048kB (M) 2*4096kB (M) = 14368kB
[ 7089.472594] Node 0 DMA32: 2*4kB (UM) 2*8kB (UM) 4*16kB (UE) 5*32kB (UME) 5*64kB (UE) 3*128kB (UE) 5*256kB (UME) 5*512kB (UME) 12*1024kB (UME) 6*2048kB (M) 1*4096kB (M) = 33464kB
[ 7089.474152] Node 0 Normal: 1439*4kB (UME) 152*8kB (UME) 15*16kB (UME) 26*32kB (UME) 55*64kB (UM) 99*128kB (UME) 39*256kB (UME) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 34220kB
[ 7089.475695] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
[ 7089.476577] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[ 7089.477441] 62699 total pagecache pages
[ 7089.477836] 0 pages in swap cache
[ 7089.478182] Free swap = 0kB
[ 7089.478481] Total swap = 0kB
[ 7089.478825] 1046922 pages RAM
[ 7089.479139] 0 pages HighMem/MovableOnly
[ 7089.479533] 45176 pages reserved
[ 7089.479866] 0 pages cma reserved
[ 7089.480200] 0 pages hwpoisoned
[ 7089.480524] Tasks state (memory values in pages):
[ 7089.481036] [ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
[ 7089.482135] [ 342] 0 342 19052 351 320 29 2 147456 0 -250 systemd-journal
[ 7089.483304] [ 390] 991 390 5859 728 672 56 0 86016 0 0 systemd-resolve
[ 7089.483978] [ 391] 997 391 23058 298 256 42 0 90112 0 0 systemd-timesyn
[ 7089.484657] [ 401] 0 401 8148 573 512 61 0 86016 0 -1000 systemd-udevd
[ 7089.485345] [ 411] 998 411 5242 520 336 184 0 86016 0 0 systemd-network
[ 7089.486005] [ 517] 103 517 1643 179 96 83 0 49152 0 0 rpcbind
[ 7089.486671] [ 614] 996 614 2016 119 64 55 0 61440 0 -900 dbus-daemon
[ 7089.487305] [ 629] 0 629 20227 49 32 17 0 57344 0 0 qemu-ga
[ 7089.487919] [ 630] 0 630 1466 211 160 51 0 53248 0 0 dhclient
[ 7089.488557] [ 633] 0 633 4659 348 288 60 0 73728 0 0 systemd-logind
[ 7089.489243] [ 684] 0 684 1316 58 33 25 0 53248 0 0 blkmapd
[ 7089.489865] [ 773] 63150 773 16062 582 512 70 0 147456 0 0 systemd-journal
[ 7089.490552] [ 783] 0 783 2974 406 320 86 0 65536 0 -1000 sshd
[ 7089.491166] [ 788] 0 788 2042 91 32 59 0 57344 0 0 agetty
[ 7089.491782] [ 789] 0 789 1945 103 32 71 0 61440 0 0 agetty
[ 7089.492474] [ 790] 0 790 4883 579 512 67 0 81920 0 0 sshd-session
[ 7089.493568] [ 795] 1002 795 5507 588 544 44 0 90112 0 100 systemd
[ 7089.494638] [ 799] 1002 799 5587 484 425 59 0 73728 0 100 (sd-pam)
[ 7089.495683] [ 820] 1002 820 5024 695 633 62 0 86016 0 0 sshd-session
[ 7089.496848] [ 1041] 0 1041 4838 545 480 65 0 77824 0 0 sshd-session
[ 7089.497983] [ 1057] 1002 1057 4890 593 521 72 0 73728 0 0 sshd-session
[ 7089.499155] [ 1064] 1002 1064 2262 675 576 99 0 65536 0 0 bash
[ 7089.500220] [ 1119] 1002 1119 672 94 0 94 0 49152 0 0 sh
[ 7089.501316] [ 1120] 1002 1120 4961 338 288 50 0 73728 0 0 sudo
[ 7089.502389] [ 1122] 1002 1122 4961 341 297 44 0 61440 0 0 sudo
[ 7089.503495] [ 1123] 0 1123 2555 153 96 57 0 53248 0 0 su
[ 7089.504540] [ 1125] 0 1125 9117 3472 3418 54 0 110592 0 0 python3
[ 7089.505618] [ 1147] 0 1147 1906 210 160 50 0 57344 0 0 oscheck.sh
[ 7089.506726] [ 1662] 0 1662 2008 1044 992 52 0 61440 0 -500 bash
[ 7089.507603] [ 2357] 1002 2357 4960 375 288 87 0 77824 0 0 sudo
[ 7089.508214] [ 2365] 1002 2365 4960 359 297 62 0 65536 0 0 sudo
[ 7089.508867] [ 2367] 0 2367 1469 104 32 72 0 53248 0 0 dmesg
[ 7089.509482] [1842640] 0 1842640 1779 886 800 86 0 53248 0 250 551
[ 7089.510087] [1842847] 0 1842847 858194 857584 857535 49 0 6922240 0 250 aio-dio-write-v
[ 7089.510794] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/fstests-generic-551.scope,task=aio-dio-write-v,pid=1842847,uid=0
[ 7089.511761] Out of memory: Killed process 1842847 (aio-dio-write-v) total-vm:3432776kB, anon-rss:3430140kB, file-rss:196kB, shmem-rss:0kB, UID:0 pgtables:6760kB oom_score_adj:250
[ 7090.616260] run fstests generic/552 at 2025-06-16 09:52:49
So, why do you want to skip it?
I think Hugh's patch [1] on generic/551 is unrelated to the above. And maybe my
VM just needs more memory to pass this test?
[1] https://gitlab.com/da.gomez/xfstests-dev/-/commit/cfc6b431403123d70bf25842c80d6693f0c9ceb6
And same question for generic/561, why do you want to skip it? I see the time
spent for skipping the test is actually fine:
[ 7103.693096] run fstests generic/559 at 2025-06-16 09:53:02
[ 7104.356919] run fstests generic/560 at 2025-06-16 09:53:02
[ 7105.154012] run fstests generic/561 at 2025-06-16 09:53:03
[ 7105.614221] run fstests generic/562 at 2025-06-16 09:53:04
[ 7106.056302] run fstests generic/563 at 2025-06-16 09:53:04
cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/tmpfs_default/generic/561.notrun
duperemove utility required, skipped this test
cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/tmpfs_default/generic/561.full
umount: /media/scratch: not mounted.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-16 10:41 ` Daniel Gomez
@ 2025-06-16 14:31 ` Chuck Lever
2025-06-16 20:24 ` Daniel Gomez
0 siblings, 1 reply; 21+ messages in thread
From: Chuck Lever @ 2025-06-16 14:31 UTC (permalink / raw)
To: Daniel Gomez, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 6/16/25 6:41 AM, Daniel Gomez wrote:
>
> On 15/06/2025 18.18, Chuck Lever wrote:
>> On 6/15/25 5:58 AM, Daniel Gomez wrote:
>> For comparison, here is the expunge list I use for tmpfs:
>>
>> diff --git a/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
>> b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
>> new file mode 100644
>> index 000000000000..86710a98776b
>> --- /dev/null
>> +++ b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
>> @@ -0,0 +1,3 @@
>> +generic/449
>> +generic/551
>> +generic/561
>
> The time spent in generic/449 before it's skipped is quite long, that's why I
> added it here.
>
> But rather than augment expunges I think it'd be better to do it directly
> in xfstests as done by Hugh [1] in a patch list I got from him some time last
> year. (BTW, I think you've probably received the same here [2], right?).
Yes I have that tarball here somewhere, and no time to run these
all down and submit clean patches upstream. :-(
> Unfortunately, I got stuck in this review before reaching to that point [3]
> and never had the time to follow it up:
>
> [1] https://gitlab.com/da.gomez/xfstests-dev/-/commits/hughd/tmpfs-fixes?ref_type=heads
> [2] https://lore.kernel.org/all/5d1e7ea8-be4c-4906-a1d4-835fa46da605@oracle.com/
> [3] https://lore.kernel.org/all/20240614061722.1080-1-da.gomez@samsung.com/
>
> This is the actual time spent on generic/449 in my current setup:
>
> [ 1468.203926] run fstests generic/446 at 2025-06-16 08:19:06
> [ 1472.522334] run fstests generic/447 at 2025-06-16 08:19:11
> [ 1473.208250] run fstests generic/448 at 2025-06-16 08:19:11
> [ 1474.527435] run fstests generic/449 at 2025-06-16 08:19:13
> [ 6894.771567] run fstests generic/450 at 2025-06-16 09:49:33
> [ 6895.431099] run fstests generic/451 at 2025-06-16 09:49:34
>
>>
>> So: agreed on 449. Should we consider skipping generic/551 and
>> generic/561 too?
>>
>
> For generic/551 I'm currently getting this:
>
> [ 7081.496735] run fstests generic/547 at 2025-06-16 09:52:40
> [ 7082.015303] run fstests generic/548 at 2025-06-16 09:52:40
> [ 7082.689962] run fstests generic/549 at 2025-06-16 09:52:41
> [ 7083.406567] run fstests generic/550 at 2025-06-16 09:52:41
> [ 7083.887618] run fstests generic/551 at 2025-06-16 09:52:42
> [ 7089.441945] aio-dio-write-v invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=250
> [ 7089.442675] CPU: 2 UID: 0 PID: 1842847 Comm: aio-dio-write-v Not tainted 6.16.0-rc2 #9 PREEMPT(full)
> [ 7089.442677] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 2025.02-6 04/08/2025
> [ 7089.442678] Call Trace:
> [ 7089.442679] <TASK>
> [ 7089.442680] dump_stack_lvl+0x56/0x80
> [ 7089.442685] dump_header+0x43/0x1b7
> [ 7089.442687] oom_kill_process.cold+0x8/0x90
> [ 7089.442689] out_of_memory+0x162/0x4f0
> [ 7089.442692] __alloc_pages_slowpath.constprop.0+0x9fc/0xda0
> [ 7089.442695] __alloc_frozen_pages_noprof+0x359/0x370
> [ 7089.442698] alloc_pages_mpol+0x7d/0x1c0
> [ 7089.442700] folio_alloc_mpol_noprof+0x14/0xb0
> [ 7089.442702] shmem_alloc_folio+0x9c/0xb0
> [ 7089.442705] shmem_alloc_and_add_folio+0x174/0x550
> [ 7089.442706] ? shmem_allowable_huge_orders+0xc6/0x140
> [ 7089.442708] shmem_get_folio_gfp+0x229/0x740
> [ 7089.442709] shmem_write_begin+0x51/0x130
> [ 7089.442711] generic_perform_write+0xc7/0x2d0
> [ 7089.442713] shmem_file_write_iter+0x82/0x90
> [ 7089.442715] aio_write+0x110/0x250
> [ 7089.442718] ? __alloc_object+0x2f/0x220
> [ 7089.442720] ? __link_object+0x142/0x220
> [ 7089.442722] ? _raw_spin_unlock_irqrestore+0x23/0x40
> [ 7089.442725] ? __create_object+0x5e/0x90
> [ 7089.442726] ? io_submit_one+0x7b/0x970
> [ 7089.442727] ? kmem_cache_alloc_noprof+0x310/0x3d0
> [ 7089.442730] ? _raw_spin_lock_irqsave+0x23/0x50
> [ 7089.442732] ? io_submit_one+0x435/0x970
> [ 7089.442733] io_submit_one+0x435/0x970
> [ 7089.442735] __x64_sys_io_submit+0x81/0x1c0
> [ 7089.442736] do_syscall_64+0x50/0x1e0
> [ 7089.442739] entry_SYSCALL_64_after_hwframe+0x76/0x7e
> [ 7089.442740] RIP: 0033:0x7f15a5122779
> [ 7089.442745] Code: Unable to access opcode bytes at 0x7f15a512274f.
> [ 7089.442746] RSP: 002b:00007ffdb85b0288 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1
> [ 7089.442747] RAX: ffffffffffffffda RBX: 00007f15a50116c8 RCX: 00007f15a5122779
> [ 7089.442748] RDX: 000056050750e0b0 RSI: 0000000000000019 RDI: 00007f15a5214000
> [ 7089.442749] RBP: 00007f15a5214000 R08: 0000000000000001 R09: 0000000000000003
> [ 7089.442750] R10: 00007f15a51fbac0 R11: 0000000000000246 R12: 0000000000000019
> [ 7089.442750] R13: 0000000000000000 R14: 000056050750e0b0 R15: 000056050750e0b0
> [ 7089.442753] </TASK>
> [ 7089.442753] Mem-Info:
> [ 7089.459986] active_anon:922060 inactive_anon:12934 isolated_anon:0
> active_file:2 inactive_file:55 isolated_file:0
> unevictable:0 dirty:11 writeback:0
> slab_reclaimable:3359 slab_unreclaimable:25305
> mapped:83 shmem:62663 pagetables:2595
> sec_pagetables:0 bounce:0
> kernel_misc_reclaimable:0
> free:20479 free_pcp:2269 free_cma:0
> [ 7089.462234] Node 0 active_anon:3688240kB inactive_anon:51736kB active_file:8kB inactive_file:220kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:332kB dirty:44kB writeback:0kB shmem:250652kB
> [ 7089.464097] Node 0 DMA free:14368kB boost:0kB min:248kB low:308kB high:368kB reserved_highatomic:0KB free_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB w
> [ 7089.465762] lowmem_reserve[]: 0 1927 3899 3899 3899
> [ 7089.466055] Node 0 DMA32 free:33328kB boost:0kB min:32280kB low:40348kB high:48416kB reserved_highatomic:0KB free_highatomic:0KB active_anon:1930668kB inactive_anon:1896kB active_file:0kB inactive_file:68kB
> [ 7089.467823] lowmem_reserve[]: 0 0 1971 1971 1971
> [ 7089.468099] Node 0 Normal free:34220kB boost:6144kB min:41196kB low:49956kB high:58716kB reserved_highatomic:0KB free_highatomic:0KB active_anon:1727272kB inactive_anon:80140kB active_file:216kB inactive_fi
> [ 7089.470959] lowmem_reserve[]: 0 0 0 0 0
> [ 7089.471360] Node 0 DMA: 2*4kB (U) 1*8kB (U) 1*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 2*1024kB (U) 2*2048kB (M) 2*4096kB (M) = 14368kB
> [ 7089.472594] Node 0 DMA32: 2*4kB (UM) 2*8kB (UM) 4*16kB (UE) 5*32kB (UME) 5*64kB (UE) 3*128kB (UE) 5*256kB (UME) 5*512kB (UME) 12*1024kB (UME) 6*2048kB (M) 1*4096kB (M) = 33464kB
> [ 7089.474152] Node 0 Normal: 1439*4kB (UME) 152*8kB (UME) 15*16kB (UME) 26*32kB (UME) 55*64kB (UM) 99*128kB (UME) 39*256kB (UME) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 34220kB
> [ 7089.475695] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
> [ 7089.476577] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
> [ 7089.477441] 62699 total pagecache pages
> [ 7089.477836] 0 pages in swap cache
> [ 7089.478182] Free swap = 0kB
> [ 7089.478481] Total swap = 0kB
> [ 7089.478825] 1046922 pages RAM
> [ 7089.479139] 0 pages HighMem/MovableOnly
> [ 7089.479533] 45176 pages reserved
> [ 7089.479866] 0 pages cma reserved
> [ 7089.480200] 0 pages hwpoisoned
> [ 7089.480524] Tasks state (memory values in pages):
> [ 7089.481036] [ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
> [ 7089.482135] [ 342] 0 342 19052 351 320 29 2 147456 0 -250 systemd-journal
> [ 7089.483304] [ 390] 991 390 5859 728 672 56 0 86016 0 0 systemd-resolve
> [ 7089.483978] [ 391] 997 391 23058 298 256 42 0 90112 0 0 systemd-timesyn
> [ 7089.484657] [ 401] 0 401 8148 573 512 61 0 86016 0 -1000 systemd-udevd
> [ 7089.485345] [ 411] 998 411 5242 520 336 184 0 86016 0 0 systemd-network
> [ 7089.486005] [ 517] 103 517 1643 179 96 83 0 49152 0 0 rpcbind
> [ 7089.486671] [ 614] 996 614 2016 119 64 55 0 61440 0 -900 dbus-daemon
> [ 7089.487305] [ 629] 0 629 20227 49 32 17 0 57344 0 0 qemu-ga
> [ 7089.487919] [ 630] 0 630 1466 211 160 51 0 53248 0 0 dhclient
> [ 7089.488557] [ 633] 0 633 4659 348 288 60 0 73728 0 0 systemd-logind
> [ 7089.489243] [ 684] 0 684 1316 58 33 25 0 53248 0 0 blkmapd
> [ 7089.489865] [ 773] 63150 773 16062 582 512 70 0 147456 0 0 systemd-journal
> [ 7089.490552] [ 783] 0 783 2974 406 320 86 0 65536 0 -1000 sshd
> [ 7089.491166] [ 788] 0 788 2042 91 32 59 0 57344 0 0 agetty
> [ 7089.491782] [ 789] 0 789 1945 103 32 71 0 61440 0 0 agetty
> [ 7089.492474] [ 790] 0 790 4883 579 512 67 0 81920 0 0 sshd-session
> [ 7089.493568] [ 795] 1002 795 5507 588 544 44 0 90112 0 100 systemd
> [ 7089.494638] [ 799] 1002 799 5587 484 425 59 0 73728 0 100 (sd-pam)
> [ 7089.495683] [ 820] 1002 820 5024 695 633 62 0 86016 0 0 sshd-session
> [ 7089.496848] [ 1041] 0 1041 4838 545 480 65 0 77824 0 0 sshd-session
> [ 7089.497983] [ 1057] 1002 1057 4890 593 521 72 0 73728 0 0 sshd-session
> [ 7089.499155] [ 1064] 1002 1064 2262 675 576 99 0 65536 0 0 bash
> [ 7089.500220] [ 1119] 1002 1119 672 94 0 94 0 49152 0 0 sh
> [ 7089.501316] [ 1120] 1002 1120 4961 338 288 50 0 73728 0 0 sudo
> [ 7089.502389] [ 1122] 1002 1122 4961 341 297 44 0 61440 0 0 sudo
> [ 7089.503495] [ 1123] 0 1123 2555 153 96 57 0 53248 0 0 su
> [ 7089.504540] [ 1125] 0 1125 9117 3472 3418 54 0 110592 0 0 python3
> [ 7089.505618] [ 1147] 0 1147 1906 210 160 50 0 57344 0 0 oscheck.sh
> [ 7089.506726] [ 1662] 0 1662 2008 1044 992 52 0 61440 0 -500 bash
> [ 7089.507603] [ 2357] 1002 2357 4960 375 288 87 0 77824 0 0 sudo
> [ 7089.508214] [ 2365] 1002 2365 4960 359 297 62 0 65536 0 0 sudo
> [ 7089.508867] [ 2367] 0 2367 1469 104 32 72 0 53248 0 0 dmesg
> [ 7089.509482] [1842640] 0 1842640 1779 886 800 86 0 53248 0 250 551
> [ 7089.510087] [1842847] 0 1842847 858194 857584 857535 49 0 6922240 0 250 aio-dio-write-v
> [ 7089.510794] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/fstests-generic-551.scope,task=aio-dio-write-v,pid=1842847,uid=0
> [ 7089.511761] Out of memory: Killed process 1842847 (aio-dio-write-v) total-vm:3432776kB, anon-rss:3430140kB, file-rss:196kB, shmem-rss:0kB, UID:0 pgtables:6760kB oom_score_adj:250
> [ 7090.616260] run fstests generic/552 at 2025-06-16 09:52:49
>
> So, why do you want to skip it?
>
> I think Hugh's patch [1] on generic/551 is unrelated to the above. And maybe my
> VM just needs more memory to pass this test?
>
> [1] https://gitlab.com/da.gomez/xfstests-dev/-/commit/cfc6b431403123d70bf25842c80d6693f0c9ceb6
My notes show that 551 takes hours on NFS, but I don't see any
explanation of why I added this test to my tmpfs expunge list. I
assume it is for the same reason. I don't recall seeing a crash.
> And same question for generic/561, why do you want to skip it? I see the time
> spent for skipping the test is actually fine:
>
> [ 7103.693096] run fstests generic/559 at 2025-06-16 09:53:02
> [ 7104.356919] run fstests generic/560 at 2025-06-16 09:53:02
> [ 7105.154012] run fstests generic/561 at 2025-06-16 09:53:03
> [ 7105.614221] run fstests generic/562 at 2025-06-16 09:53:04
> [ 7106.056302] run fstests generic/563 at 2025-06-16 09:53:04
>
> cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/tmpfs_default/generic/561.notrun
> duperemove utility required, skipped this test
> cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/tmpfs_default/generic/561.full
> umount: /media/scratch: not mounted.
generic/561 is testing file de-dup, which tmpfs does not implement.
generic/561 looks for the dupremove utility on the test system to
know whether to run the test. That's a poor check, say, if the test
system is used for testing other file systems, or dupremove is installed
by default.
Could be that 3b9f5fc7d7d8 ("common: call _require_scratch_dedupe from
_require_scratch_duperemove") fixes that so that 561 no longer needs
to be explicitly expunged for NFS and tmpfs.
--
Chuck Lever
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-16 14:31 ` Chuck Lever
@ 2025-06-16 20:24 ` Daniel Gomez
2025-06-16 20:36 ` Chuck Lever
0 siblings, 1 reply; 21+ messages in thread
From: Daniel Gomez @ 2025-06-16 20:24 UTC (permalink / raw)
To: Chuck Lever, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 16/06/2025 16.31, Chuck Lever wrote:
> On 6/16/25 6:41 AM, Daniel Gomez wrote:
>>
>> On 15/06/2025 18.18, Chuck Lever wrote:
>>> On 6/15/25 5:58 AM, Daniel Gomez wrote:
>>> For comparison, here is the expunge list I use for tmpfs:
>>>
>>> diff --git a/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
>>> b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
>>> new file mode 100644
>>> index 000000000000..86710a98776b
>>> --- /dev/null
>>> +++ b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
>>> @@ -0,0 +1,3 @@
>>> +generic/449
>>> +generic/551
>>> +generic/561
>>
>> The time spent in generic/449 before it's skipped is quite long, that's why I
>> added it here.
>>
>> But rather than augment expunges I think it'd be better to do it directly
>> in xfstests as done by Hugh [1] in a patch list I got from him some time last
>> year. (BTW, I think you've probably received the same here [2], right?).
>
> Yes I have that tarball here somewhere, and no time to run these
> all down and submit clean patches upstream. :-(
Thanks for letting me know.
>
>
>> Unfortunately, I got stuck in this review before reaching to that point [3]
>> and never had the time to follow it up:
>>
>> [1] https://gitlab.com/da.gomez/xfstests-dev/-/commits/hughd/tmpfs-fixes?ref_type=heads
>> [2] https://lore.kernel.org/all/5d1e7ea8-be4c-4906-a1d4-835fa46da605@oracle.com/
>> [3] https://lore.kernel.org/all/20240614061722.1080-1-da.gomez@samsung.com/
>>
>> This is the actual time spent on generic/449 in my current setup:
>>
>> [ 1468.203926] run fstests generic/446 at 2025-06-16 08:19:06
>> [ 1472.522334] run fstests generic/447 at 2025-06-16 08:19:11
>> [ 1473.208250] run fstests generic/448 at 2025-06-16 08:19:11
>> [ 1474.527435] run fstests generic/449 at 2025-06-16 08:19:13
>> [ 6894.771567] run fstests generic/450 at 2025-06-16 09:49:33
>> [ 6895.431099] run fstests generic/451 at 2025-06-16 09:49:34
>>
>>>
>>> So: agreed on 449. Should we consider skipping generic/551 and
>>> generic/561 too?
>>>
>>
>> For generic/551 I'm currently getting this:
>>
>> [ 7081.496735] run fstests generic/547 at 2025-06-16 09:52:40
>> [ 7082.015303] run fstests generic/548 at 2025-06-16 09:52:40
>> [ 7082.689962] run fstests generic/549 at 2025-06-16 09:52:41
>> [ 7083.406567] run fstests generic/550 at 2025-06-16 09:52:41
>> [ 7083.887618] run fstests generic/551 at 2025-06-16 09:52:42
>> [ 7089.441945] aio-dio-write-v invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=250
>> [ 7089.442675] CPU: 2 UID: 0 PID: 1842847 Comm: aio-dio-write-v Not tainted 6.16.0-rc2 #9 PREEMPT(full)
>> [ 7089.442677] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 2025.02-6 04/08/2025
>> [ 7089.442678] Call Trace:
>> [ 7089.442679] <TASK>
>> [ 7089.442680] dump_stack_lvl+0x56/0x80
>> [ 7089.442685] dump_header+0x43/0x1b7
>> [ 7089.442687] oom_kill_process.cold+0x8/0x90
>> [ 7089.442689] out_of_memory+0x162/0x4f0
>> [ 7089.442692] __alloc_pages_slowpath.constprop.0+0x9fc/0xda0
>> [ 7089.442695] __alloc_frozen_pages_noprof+0x359/0x370
>> [ 7089.442698] alloc_pages_mpol+0x7d/0x1c0
>> [ 7089.442700] folio_alloc_mpol_noprof+0x14/0xb0
>> [ 7089.442702] shmem_alloc_folio+0x9c/0xb0
>> [ 7089.442705] shmem_alloc_and_add_folio+0x174/0x550
>> [ 7089.442706] ? shmem_allowable_huge_orders+0xc6/0x140
>> [ 7089.442708] shmem_get_folio_gfp+0x229/0x740
>> [ 7089.442709] shmem_write_begin+0x51/0x130
>> [ 7089.442711] generic_perform_write+0xc7/0x2d0
>> [ 7089.442713] shmem_file_write_iter+0x82/0x90
>> [ 7089.442715] aio_write+0x110/0x250
>> [ 7089.442718] ? __alloc_object+0x2f/0x220
>> [ 7089.442720] ? __link_object+0x142/0x220
>> [ 7089.442722] ? _raw_spin_unlock_irqrestore+0x23/0x40
>> [ 7089.442725] ? __create_object+0x5e/0x90
>> [ 7089.442726] ? io_submit_one+0x7b/0x970
>> [ 7089.442727] ? kmem_cache_alloc_noprof+0x310/0x3d0
>> [ 7089.442730] ? _raw_spin_lock_irqsave+0x23/0x50
>> [ 7089.442732] ? io_submit_one+0x435/0x970
>> [ 7089.442733] io_submit_one+0x435/0x970
>> [ 7089.442735] __x64_sys_io_submit+0x81/0x1c0
>> [ 7089.442736] do_syscall_64+0x50/0x1e0
>> [ 7089.442739] entry_SYSCALL_64_after_hwframe+0x76/0x7e
>> [ 7089.442740] RIP: 0033:0x7f15a5122779
>> [ 7089.442745] Code: Unable to access opcode bytes at 0x7f15a512274f.
>> [ 7089.442746] RSP: 002b:00007ffdb85b0288 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1
>> [ 7089.442747] RAX: ffffffffffffffda RBX: 00007f15a50116c8 RCX: 00007f15a5122779
>> [ 7089.442748] RDX: 000056050750e0b0 RSI: 0000000000000019 RDI: 00007f15a5214000
>> [ 7089.442749] RBP: 00007f15a5214000 R08: 0000000000000001 R09: 0000000000000003
>> [ 7089.442750] R10: 00007f15a51fbac0 R11: 0000000000000246 R12: 0000000000000019
>> [ 7089.442750] R13: 0000000000000000 R14: 000056050750e0b0 R15: 000056050750e0b0
>> [ 7089.442753] </TASK>
>> [ 7089.442753] Mem-Info:
>> [ 7089.459986] active_anon:922060 inactive_anon:12934 isolated_anon:0
>> active_file:2 inactive_file:55 isolated_file:0
>> unevictable:0 dirty:11 writeback:0
>> slab_reclaimable:3359 slab_unreclaimable:25305
>> mapped:83 shmem:62663 pagetables:2595
>> sec_pagetables:0 bounce:0
>> kernel_misc_reclaimable:0
>> free:20479 free_pcp:2269 free_cma:0
>> [ 7089.462234] Node 0 active_anon:3688240kB inactive_anon:51736kB active_file:8kB inactive_file:220kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:332kB dirty:44kB writeback:0kB shmem:250652kB
>> [ 7089.464097] Node 0 DMA free:14368kB boost:0kB min:248kB low:308kB high:368kB reserved_highatomic:0KB free_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB w
>> [ 7089.465762] lowmem_reserve[]: 0 1927 3899 3899 3899
>> [ 7089.466055] Node 0 DMA32 free:33328kB boost:0kB min:32280kB low:40348kB high:48416kB reserved_highatomic:0KB free_highatomic:0KB active_anon:1930668kB inactive_anon:1896kB active_file:0kB inactive_file:68kB
>> [ 7089.467823] lowmem_reserve[]: 0 0 1971 1971 1971
>> [ 7089.468099] Node 0 Normal free:34220kB boost:6144kB min:41196kB low:49956kB high:58716kB reserved_highatomic:0KB free_highatomic:0KB active_anon:1727272kB inactive_anon:80140kB active_file:216kB inactive_fi
>> [ 7089.470959] lowmem_reserve[]: 0 0 0 0 0
>> [ 7089.471360] Node 0 DMA: 2*4kB (U) 1*8kB (U) 1*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 2*1024kB (U) 2*2048kB (M) 2*4096kB (M) = 14368kB
>> [ 7089.472594] Node 0 DMA32: 2*4kB (UM) 2*8kB (UM) 4*16kB (UE) 5*32kB (UME) 5*64kB (UE) 3*128kB (UE) 5*256kB (UME) 5*512kB (UME) 12*1024kB (UME) 6*2048kB (M) 1*4096kB (M) = 33464kB
>> [ 7089.474152] Node 0 Normal: 1439*4kB (UME) 152*8kB (UME) 15*16kB (UME) 26*32kB (UME) 55*64kB (UM) 99*128kB (UME) 39*256kB (UME) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 34220kB
>> [ 7089.475695] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
>> [ 7089.476577] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
>> [ 7089.477441] 62699 total pagecache pages
>> [ 7089.477836] 0 pages in swap cache
>> [ 7089.478182] Free swap = 0kB
>> [ 7089.478481] Total swap = 0kB
>> [ 7089.478825] 1046922 pages RAM
>> [ 7089.479139] 0 pages HighMem/MovableOnly
>> [ 7089.479533] 45176 pages reserved
>> [ 7089.479866] 0 pages cma reserved
>> [ 7089.480200] 0 pages hwpoisoned
>> [ 7089.480524] Tasks state (memory values in pages):
>> [ 7089.481036] [ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
>> [ 7089.482135] [ 342] 0 342 19052 351 320 29 2 147456 0 -250 systemd-journal
>> [ 7089.483304] [ 390] 991 390 5859 728 672 56 0 86016 0 0 systemd-resolve
>> [ 7089.483978] [ 391] 997 391 23058 298 256 42 0 90112 0 0 systemd-timesyn
>> [ 7089.484657] [ 401] 0 401 8148 573 512 61 0 86016 0 -1000 systemd-udevd
>> [ 7089.485345] [ 411] 998 411 5242 520 336 184 0 86016 0 0 systemd-network
>> [ 7089.486005] [ 517] 103 517 1643 179 96 83 0 49152 0 0 rpcbind
>> [ 7089.486671] [ 614] 996 614 2016 119 64 55 0 61440 0 -900 dbus-daemon
>> [ 7089.487305] [ 629] 0 629 20227 49 32 17 0 57344 0 0 qemu-ga
>> [ 7089.487919] [ 630] 0 630 1466 211 160 51 0 53248 0 0 dhclient
>> [ 7089.488557] [ 633] 0 633 4659 348 288 60 0 73728 0 0 systemd-logind
>> [ 7089.489243] [ 684] 0 684 1316 58 33 25 0 53248 0 0 blkmapd
>> [ 7089.489865] [ 773] 63150 773 16062 582 512 70 0 147456 0 0 systemd-journal
>> [ 7089.490552] [ 783] 0 783 2974 406 320 86 0 65536 0 -1000 sshd
>> [ 7089.491166] [ 788] 0 788 2042 91 32 59 0 57344 0 0 agetty
>> [ 7089.491782] [ 789] 0 789 1945 103 32 71 0 61440 0 0 agetty
>> [ 7089.492474] [ 790] 0 790 4883 579 512 67 0 81920 0 0 sshd-session
>> [ 7089.493568] [ 795] 1002 795 5507 588 544 44 0 90112 0 100 systemd
>> [ 7089.494638] [ 799] 1002 799 5587 484 425 59 0 73728 0 100 (sd-pam)
>> [ 7089.495683] [ 820] 1002 820 5024 695 633 62 0 86016 0 0 sshd-session
>> [ 7089.496848] [ 1041] 0 1041 4838 545 480 65 0 77824 0 0 sshd-session
>> [ 7089.497983] [ 1057] 1002 1057 4890 593 521 72 0 73728 0 0 sshd-session
>> [ 7089.499155] [ 1064] 1002 1064 2262 675 576 99 0 65536 0 0 bash
>> [ 7089.500220] [ 1119] 1002 1119 672 94 0 94 0 49152 0 0 sh
>> [ 7089.501316] [ 1120] 1002 1120 4961 338 288 50 0 73728 0 0 sudo
>> [ 7089.502389] [ 1122] 1002 1122 4961 341 297 44 0 61440 0 0 sudo
>> [ 7089.503495] [ 1123] 0 1123 2555 153 96 57 0 53248 0 0 su
>> [ 7089.504540] [ 1125] 0 1125 9117 3472 3418 54 0 110592 0 0 python3
>> [ 7089.505618] [ 1147] 0 1147 1906 210 160 50 0 57344 0 0 oscheck.sh
>> [ 7089.506726] [ 1662] 0 1662 2008 1044 992 52 0 61440 0 -500 bash
>> [ 7089.507603] [ 2357] 1002 2357 4960 375 288 87 0 77824 0 0 sudo
>> [ 7089.508214] [ 2365] 1002 2365 4960 359 297 62 0 65536 0 0 sudo
>> [ 7089.508867] [ 2367] 0 2367 1469 104 32 72 0 53248 0 0 dmesg
>> [ 7089.509482] [1842640] 0 1842640 1779 886 800 86 0 53248 0 250 551
>> [ 7089.510087] [1842847] 0 1842847 858194 857584 857535 49 0 6922240 0 250 aio-dio-write-v
>> [ 7089.510794] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/fstests-generic-551.scope,task=aio-dio-write-v,pid=1842847,uid=0
>> [ 7089.511761] Out of memory: Killed process 1842847 (aio-dio-write-v) total-vm:3432776kB, anon-rss:3430140kB, file-rss:196kB, shmem-rss:0kB, UID:0 pgtables:6760kB oom_score_adj:250
>> [ 7090.616260] run fstests generic/552 at 2025-06-16 09:52:49
>>
>> So, why do you want to skip it?
>>
>> I think Hugh's patch [1] on generic/551 is unrelated to the above. And maybe my
>> VM just needs more memory to pass this test?
>>
>> [1] https://gitlab.com/da.gomez/xfstests-dev/-/commit/cfc6b431403123d70bf25842c80d6693f0c9ceb6
>
> My notes show that 551 takes hours on NFS, but I don't see any
> explanation of why I added this test to my tmpfs expunge list. I
> assume it is for the same reason. I don't recall seeing a crash.
What I recall now after checking some old pathes is that generic/551 was failing
already for 6.8 [1] among with other tests, so I we added it as part of the
6.8 expunge list for baseline development.
[1]
https://github.com/linux-kdevops/kdevops/blob/main/workflows/fstests/expunges/6.8.0-rc2/tmpfs/unassigned/tmpfs_default.txt
However, I was looking into the oom-kill logs and see if I could make it pass
by increasing VM memory. That didn't work for me, so I added swap and now the
test passes.
[ 302.910466] run fstests fstestsdone/000 at 2025-06-16 20:08:19
[ 321.826359] Adding 4194300k swap on /swapfile. Priority:-2 extents:18
across:8069116k
[ 333.521446] run fstests fstestsstart/000 at 2025-06-16 20:08:49
[ 333.953732] run fstests generic/551 at 2025-06-16 20:08:50
[ 549.240019] run fstests fstestsdone/000 at 2025-06-16 20:12:25
I've used:
* 8 GiB guest RAM
* fstests repo including Hugh's patches:
https://gitlab.com/da.gomez/xfstests-dev/-/tree/hughd/tmpfs-fixes?ref_type=heads
* Add temporary swap:
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
mkswap: /swapfile: warning: wiping old swap signature.
Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=f6cee4b9-900e-4980-89b7-f0ec7197909c
root@debian13-tmpfs-default:/data/fstests-install/xfstests# free -hm
total used free shared buff/cache available
Mem: 7.8Gi 335Mi 7.5Gi 740Ki 52Mi 7.4Gi
Swap: 4.0Gi 0B 4.0Gi
root@debian13-tmpfs-default:/data/fstests-install/xfstests#
FSTYP=tmpfs ./oscheck.sh --print-start --print-done --journal 'False' \
--test-section tmpfs_default generic/551
./oscheck.sh on Debian (13) on 6.12.31-amd64
Running custom kernel: Linux debian13-tmpfs-default 6.12.31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.31-1 (2025-06-09) x86_64 GNU/Linux
Testing section: tmpfs_default
SECTION -- tmpfs_default
FSTYP -- tmpfs
PLATFORM -- Linux/x86_64 debian13-tmpfs-default 6.12.31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.31-1 (2025-06-09)
MKFS_OPTIONS -- /media/scratch
MOUNT_OPTIONS -- -o size=1088M,nr_inodes=272K /media/scratch /media/scratch
generic/551 215s
Ran: generic/551
Passed all 1 tests
Xunit report: /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.12.31-amd64/tmpfs_default/result.xml
SECTION -- tmpfs_default
=========================
Ran: generic/551
Passed all 1 tests
Done
Assuming swap is the only thing needed to make the test pass, does it make
sense then to add support in fstests/tmpfs in kdevops to make the test pass?
>
>
>> And same question for generic/561, why do you want to skip it? I see the time
>> spent for skipping the test is actually fine:
>>
>> [ 7103.693096] run fstests generic/559 at 2025-06-16 09:53:02
>> [ 7104.356919] run fstests generic/560 at 2025-06-16 09:53:02
>> [ 7105.154012] run fstests generic/561 at 2025-06-16 09:53:03
>> [ 7105.614221] run fstests generic/562 at 2025-06-16 09:53:04
>> [ 7106.056302] run fstests generic/563 at 2025-06-16 09:53:04
>>
>> cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/tmpfs_default/generic/561.notrun
>> duperemove utility required, skipped this test
>> cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/tmpfs_default/generic/561.full
>> umount: /media/scratch: not mounted.
>
> generic/561 is testing file de-dup, which tmpfs does not implement.
>
> generic/561 looks for the dupremove utility on the test system to
> know whether to run the test. That's a poor check, say, if the test
> system is used for testing other file systems, or dupremove is installed
> by default.
We need to fix that in kdevops and then figure out if generic/561 applies or
not.
>
> Could be that 3b9f5fc7d7d8 ("common: call _require_scratch_dedupe from
> _require_scratch_duperemove") fixes that so that 561 no longer needs
> to be explicitly expunged for NFS and tmpfs.
>
>
The above logs are from an fstests deployed by kdevops which already has that
commit.
git -C /data/fstests log --oneline -1
2cc8c822 (HEAD -> master, origin/master, origin/HEAD) fstests: btrfs: testcase
for sysfs chunk_size attribute validation
So, I added duperemove package to the VM and run the test again:
[ 14.841609] run fstests fstestsstart/000 at 2025-06-16 18:17:35
[ 16.365091] run fstests generic/561 at 2025-06-16 18:17:36
[ 17.141361] run fstests fstestsdone/000 at 2025-06-16 18:17:37
cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/
tmpfs_default/generic/561.notrun
Dedupe not supported by scratch filesystem type: tmpfs
I think the correct path is to add duperemove as fstests workflow dependency to
properly skip the test for tmpfs.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-16 20:24 ` Daniel Gomez
@ 2025-06-16 20:36 ` Chuck Lever
2025-06-17 8:34 ` Daniel Gomez
2025-06-26 19:10 ` Daniel Gomez
0 siblings, 2 replies; 21+ messages in thread
From: Chuck Lever @ 2025-06-16 20:36 UTC (permalink / raw)
To: Daniel Gomez, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 6/16/25 4:24 PM, Daniel Gomez wrote:
>
>
> On 16/06/2025 16.31, Chuck Lever wrote:
>> On 6/16/25 6:41 AM, Daniel Gomez wrote:
>>>
>>> On 15/06/2025 18.18, Chuck Lever wrote:
>>>> On 6/15/25 5:58 AM, Daniel Gomez wrote:
>>>> For comparison, here is the expunge list I use for tmpfs:
>>>>
>>>> diff --git a/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
>>>> b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
>>>> new file mode 100644
>>>> index 000000000000..86710a98776b
>>>> --- /dev/null
>>>> +++ b/workflows/fstests/expunges/any/tmpfs/unassigned/all.txt
>>>> @@ -0,0 +1,3 @@
>>>> +generic/449
>>>> +generic/551
>>>> +generic/561
>>>
>>> The time spent in generic/449 before it's skipped is quite long, that's why I
>>> added it here.
>>>
>>> But rather than augment expunges I think it'd be better to do it directly
>>> in xfstests as done by Hugh [1] in a patch list I got from him some time last
>>> year. (BTW, I think you've probably received the same here [2], right?).
>>
>> Yes I have that tarball here somewhere, and no time to run these
>> all down and submit clean patches upstream. :-(
>
> Thanks for letting me know.
>
>>
>>
>>> Unfortunately, I got stuck in this review before reaching to that point [3]
>>> and never had the time to follow it up:
>>>
>>> [1] https://gitlab.com/da.gomez/xfstests-dev/-/commits/hughd/tmpfs-fixes?ref_type=heads
>>> [2] https://lore.kernel.org/all/5d1e7ea8-be4c-4906-a1d4-835fa46da605@oracle.com/
>>> [3] https://lore.kernel.org/all/20240614061722.1080-1-da.gomez@samsung.com/
>>>
>>> This is the actual time spent on generic/449 in my current setup:
>>>
>>> [ 1468.203926] run fstests generic/446 at 2025-06-16 08:19:06
>>> [ 1472.522334] run fstests generic/447 at 2025-06-16 08:19:11
>>> [ 1473.208250] run fstests generic/448 at 2025-06-16 08:19:11
>>> [ 1474.527435] run fstests generic/449 at 2025-06-16 08:19:13
>>> [ 6894.771567] run fstests generic/450 at 2025-06-16 09:49:33
>>> [ 6895.431099] run fstests generic/451 at 2025-06-16 09:49:34
>>>
>>>>
>>>> So: agreed on 449. Should we consider skipping generic/551 and
>>>> generic/561 too?
>>>>
>>>
>>> For generic/551 I'm currently getting this:
>>>
>>> [ 7081.496735] run fstests generic/547 at 2025-06-16 09:52:40
>>> [ 7082.015303] run fstests generic/548 at 2025-06-16 09:52:40
>>> [ 7082.689962] run fstests generic/549 at 2025-06-16 09:52:41
>>> [ 7083.406567] run fstests generic/550 at 2025-06-16 09:52:41
>>> [ 7083.887618] run fstests generic/551 at 2025-06-16 09:52:42
>>> [ 7089.441945] aio-dio-write-v invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=250
>>> [ 7089.442675] CPU: 2 UID: 0 PID: 1842847 Comm: aio-dio-write-v Not tainted 6.16.0-rc2 #9 PREEMPT(full)
>>> [ 7089.442677] Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 2025.02-6 04/08/2025
>>> [ 7089.442678] Call Trace:
>>> [ 7089.442679] <TASK>
>>> [ 7089.442680] dump_stack_lvl+0x56/0x80
>>> [ 7089.442685] dump_header+0x43/0x1b7
>>> [ 7089.442687] oom_kill_process.cold+0x8/0x90
>>> [ 7089.442689] out_of_memory+0x162/0x4f0
>>> [ 7089.442692] __alloc_pages_slowpath.constprop.0+0x9fc/0xda0
>>> [ 7089.442695] __alloc_frozen_pages_noprof+0x359/0x370
>>> [ 7089.442698] alloc_pages_mpol+0x7d/0x1c0
>>> [ 7089.442700] folio_alloc_mpol_noprof+0x14/0xb0
>>> [ 7089.442702] shmem_alloc_folio+0x9c/0xb0
>>> [ 7089.442705] shmem_alloc_and_add_folio+0x174/0x550
>>> [ 7089.442706] ? shmem_allowable_huge_orders+0xc6/0x140
>>> [ 7089.442708] shmem_get_folio_gfp+0x229/0x740
>>> [ 7089.442709] shmem_write_begin+0x51/0x130
>>> [ 7089.442711] generic_perform_write+0xc7/0x2d0
>>> [ 7089.442713] shmem_file_write_iter+0x82/0x90
>>> [ 7089.442715] aio_write+0x110/0x250
>>> [ 7089.442718] ? __alloc_object+0x2f/0x220
>>> [ 7089.442720] ? __link_object+0x142/0x220
>>> [ 7089.442722] ? _raw_spin_unlock_irqrestore+0x23/0x40
>>> [ 7089.442725] ? __create_object+0x5e/0x90
>>> [ 7089.442726] ? io_submit_one+0x7b/0x970
>>> [ 7089.442727] ? kmem_cache_alloc_noprof+0x310/0x3d0
>>> [ 7089.442730] ? _raw_spin_lock_irqsave+0x23/0x50
>>> [ 7089.442732] ? io_submit_one+0x435/0x970
>>> [ 7089.442733] io_submit_one+0x435/0x970
>>> [ 7089.442735] __x64_sys_io_submit+0x81/0x1c0
>>> [ 7089.442736] do_syscall_64+0x50/0x1e0
>>> [ 7089.442739] entry_SYSCALL_64_after_hwframe+0x76/0x7e
>>> [ 7089.442740] RIP: 0033:0x7f15a5122779
>>> [ 7089.442745] Code: Unable to access opcode bytes at 0x7f15a512274f.
>>> [ 7089.442746] RSP: 002b:00007ffdb85b0288 EFLAGS: 00000246 ORIG_RAX: 00000000000000d1
>>> [ 7089.442747] RAX: ffffffffffffffda RBX: 00007f15a50116c8 RCX: 00007f15a5122779
>>> [ 7089.442748] RDX: 000056050750e0b0 RSI: 0000000000000019 RDI: 00007f15a5214000
>>> [ 7089.442749] RBP: 00007f15a5214000 R08: 0000000000000001 R09: 0000000000000003
>>> [ 7089.442750] R10: 00007f15a51fbac0 R11: 0000000000000246 R12: 0000000000000019
>>> [ 7089.442750] R13: 0000000000000000 R14: 000056050750e0b0 R15: 000056050750e0b0
>>> [ 7089.442753] </TASK>
>>> [ 7089.442753] Mem-Info:
>>> [ 7089.459986] active_anon:922060 inactive_anon:12934 isolated_anon:0
>>> active_file:2 inactive_file:55 isolated_file:0
>>> unevictable:0 dirty:11 writeback:0
>>> slab_reclaimable:3359 slab_unreclaimable:25305
>>> mapped:83 shmem:62663 pagetables:2595
>>> sec_pagetables:0 bounce:0
>>> kernel_misc_reclaimable:0
>>> free:20479 free_pcp:2269 free_cma:0
>>> [ 7089.462234] Node 0 active_anon:3688240kB inactive_anon:51736kB active_file:8kB inactive_file:220kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:332kB dirty:44kB writeback:0kB shmem:250652kB
>>> [ 7089.464097] Node 0 DMA free:14368kB boost:0kB min:248kB low:308kB high:368kB reserved_highatomic:0KB free_highatomic:0KB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB w
>>> [ 7089.465762] lowmem_reserve[]: 0 1927 3899 3899 3899
>>> [ 7089.466055] Node 0 DMA32 free:33328kB boost:0kB min:32280kB low:40348kB high:48416kB reserved_highatomic:0KB free_highatomic:0KB active_anon:1930668kB inactive_anon:1896kB active_file:0kB inactive_file:68kB
>>> [ 7089.467823] lowmem_reserve[]: 0 0 1971 1971 1971
>>> [ 7089.468099] Node 0 Normal free:34220kB boost:6144kB min:41196kB low:49956kB high:58716kB reserved_highatomic:0KB free_highatomic:0KB active_anon:1727272kB inactive_anon:80140kB active_file:216kB inactive_fi
>>> [ 7089.470959] lowmem_reserve[]: 0 0 0 0 0
>>> [ 7089.471360] Node 0 DMA: 2*4kB (U) 1*8kB (U) 1*16kB (U) 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 2*1024kB (U) 2*2048kB (M) 2*4096kB (M) = 14368kB
>>> [ 7089.472594] Node 0 DMA32: 2*4kB (UM) 2*8kB (UM) 4*16kB (UE) 5*32kB (UME) 5*64kB (UE) 3*128kB (UE) 5*256kB (UME) 5*512kB (UME) 12*1024kB (UME) 6*2048kB (M) 1*4096kB (M) = 33464kB
>>> [ 7089.474152] Node 0 Normal: 1439*4kB (UME) 152*8kB (UME) 15*16kB (UME) 26*32kB (UME) 55*64kB (UM) 99*128kB (UME) 39*256kB (UME) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 34220kB
>>> [ 7089.475695] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=1048576kB
>>> [ 7089.476577] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
>>> [ 7089.477441] 62699 total pagecache pages
>>> [ 7089.477836] 0 pages in swap cache
>>> [ 7089.478182] Free swap = 0kB
>>> [ 7089.478481] Total swap = 0kB
>>> [ 7089.478825] 1046922 pages RAM
>>> [ 7089.479139] 0 pages HighMem/MovableOnly
>>> [ 7089.479533] 45176 pages reserved
>>> [ 7089.479866] 0 pages cma reserved
>>> [ 7089.480200] 0 pages hwpoisoned
>>> [ 7089.480524] Tasks state (memory values in pages):
>>> [ 7089.481036] [ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
>>> [ 7089.482135] [ 342] 0 342 19052 351 320 29 2 147456 0 -250 systemd-journal
>>> [ 7089.483304] [ 390] 991 390 5859 728 672 56 0 86016 0 0 systemd-resolve
>>> [ 7089.483978] [ 391] 997 391 23058 298 256 42 0 90112 0 0 systemd-timesyn
>>> [ 7089.484657] [ 401] 0 401 8148 573 512 61 0 86016 0 -1000 systemd-udevd
>>> [ 7089.485345] [ 411] 998 411 5242 520 336 184 0 86016 0 0 systemd-network
>>> [ 7089.486005] [ 517] 103 517 1643 179 96 83 0 49152 0 0 rpcbind
>>> [ 7089.486671] [ 614] 996 614 2016 119 64 55 0 61440 0 -900 dbus-daemon
>>> [ 7089.487305] [ 629] 0 629 20227 49 32 17 0 57344 0 0 qemu-ga
>>> [ 7089.487919] [ 630] 0 630 1466 211 160 51 0 53248 0 0 dhclient
>>> [ 7089.488557] [ 633] 0 633 4659 348 288 60 0 73728 0 0 systemd-logind
>>> [ 7089.489243] [ 684] 0 684 1316 58 33 25 0 53248 0 0 blkmapd
>>> [ 7089.489865] [ 773] 63150 773 16062 582 512 70 0 147456 0 0 systemd-journal
>>> [ 7089.490552] [ 783] 0 783 2974 406 320 86 0 65536 0 -1000 sshd
>>> [ 7089.491166] [ 788] 0 788 2042 91 32 59 0 57344 0 0 agetty
>>> [ 7089.491782] [ 789] 0 789 1945 103 32 71 0 61440 0 0 agetty
>>> [ 7089.492474] [ 790] 0 790 4883 579 512 67 0 81920 0 0 sshd-session
>>> [ 7089.493568] [ 795] 1002 795 5507 588 544 44 0 90112 0 100 systemd
>>> [ 7089.494638] [ 799] 1002 799 5587 484 425 59 0 73728 0 100 (sd-pam)
>>> [ 7089.495683] [ 820] 1002 820 5024 695 633 62 0 86016 0 0 sshd-session
>>> [ 7089.496848] [ 1041] 0 1041 4838 545 480 65 0 77824 0 0 sshd-session
>>> [ 7089.497983] [ 1057] 1002 1057 4890 593 521 72 0 73728 0 0 sshd-session
>>> [ 7089.499155] [ 1064] 1002 1064 2262 675 576 99 0 65536 0 0 bash
>>> [ 7089.500220] [ 1119] 1002 1119 672 94 0 94 0 49152 0 0 sh
>>> [ 7089.501316] [ 1120] 1002 1120 4961 338 288 50 0 73728 0 0 sudo
>>> [ 7089.502389] [ 1122] 1002 1122 4961 341 297 44 0 61440 0 0 sudo
>>> [ 7089.503495] [ 1123] 0 1123 2555 153 96 57 0 53248 0 0 su
>>> [ 7089.504540] [ 1125] 0 1125 9117 3472 3418 54 0 110592 0 0 python3
>>> [ 7089.505618] [ 1147] 0 1147 1906 210 160 50 0 57344 0 0 oscheck.sh
>>> [ 7089.506726] [ 1662] 0 1662 2008 1044 992 52 0 61440 0 -500 bash
>>> [ 7089.507603] [ 2357] 1002 2357 4960 375 288 87 0 77824 0 0 sudo
>>> [ 7089.508214] [ 2365] 1002 2365 4960 359 297 62 0 65536 0 0 sudo
>>> [ 7089.508867] [ 2367] 0 2367 1469 104 32 72 0 53248 0 0 dmesg
>>> [ 7089.509482] [1842640] 0 1842640 1779 886 800 86 0 53248 0 250 551
>>> [ 7089.510087] [1842847] 0 1842847 858194 857584 857535 49 0 6922240 0 250 aio-dio-write-v
>>> [ 7089.510794] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/fstests-generic-551.scope,task=aio-dio-write-v,pid=1842847,uid=0
>>> [ 7089.511761] Out of memory: Killed process 1842847 (aio-dio-write-v) total-vm:3432776kB, anon-rss:3430140kB, file-rss:196kB, shmem-rss:0kB, UID:0 pgtables:6760kB oom_score_adj:250
>>> [ 7090.616260] run fstests generic/552 at 2025-06-16 09:52:49
>>>
>>> So, why do you want to skip it?
>>>
>>> I think Hugh's patch [1] on generic/551 is unrelated to the above. And maybe my
>>> VM just needs more memory to pass this test?
>>>
>>> [1] https://gitlab.com/da.gomez/xfstests-dev/-/commit/cfc6b431403123d70bf25842c80d6693f0c9ceb6
>>
>> My notes show that 551 takes hours on NFS, but I don't see any
>> explanation of why I added this test to my tmpfs expunge list. I
>> assume it is for the same reason. I don't recall seeing a crash.
>
> What I recall now after checking some old pathes is that generic/551 was failing
> already for 6.8 [1] among with other tests, so I we added it as part of the
> 6.8 expunge list for baseline development.
>
> [1]
> https://github.com/linux-kdevops/kdevops/blob/main/workflows/fstests/expunges/6.8.0-rc2/tmpfs/unassigned/tmpfs_default.txt
>
>
> However, I was looking into the oom-kill logs and see if I could make it pass
> by increasing VM memory. That didn't work for me, so I added swap and now the
> test passes.
>
> [ 302.910466] run fstests fstestsdone/000 at 2025-06-16 20:08:19
> [ 321.826359] Adding 4194300k swap on /swapfile. Priority:-2 extents:18
> across:8069116k
> [ 333.521446] run fstests fstestsstart/000 at 2025-06-16 20:08:49
> [ 333.953732] run fstests generic/551 at 2025-06-16 20:08:50
> [ 549.240019] run fstests fstestsdone/000 at 2025-06-16 20:12:25
>
>
> I've used:
> * 8 GiB guest RAM
> * fstests repo including Hugh's patches:
> https://gitlab.com/da.gomez/xfstests-dev/-/tree/hughd/tmpfs-fixes?ref_type=heads
> * Add temporary swap:
>
> fallocate -l 4G /swapfile
> chmod 600 /swapfile
> mkswap /swapfile
> swapon /swapfile
> mkswap: /swapfile: warning: wiping old swap signature.
> Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
> no label, UUID=f6cee4b9-900e-4980-89b7-f0ec7197909c
>
> root@debian13-tmpfs-default:/data/fstests-install/xfstests# free -hm
> total used free shared buff/cache available
> Mem: 7.8Gi 335Mi 7.5Gi 740Ki 52Mi 7.4Gi
> Swap: 4.0Gi 0B 4.0Gi
> root@debian13-tmpfs-default:/data/fstests-install/xfstests#
> FSTYP=tmpfs ./oscheck.sh --print-start --print-done --journal 'False' \
> --test-section tmpfs_default generic/551
> ./oscheck.sh on Debian (13) on 6.12.31-amd64
> Running custom kernel: Linux debian13-tmpfs-default 6.12.31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.31-1 (2025-06-09) x86_64 GNU/Linux
> Testing section: tmpfs_default
> SECTION -- tmpfs_default
> FSTYP -- tmpfs
> PLATFORM -- Linux/x86_64 debian13-tmpfs-default 6.12.31-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.31-1 (2025-06-09)
> MKFS_OPTIONS -- /media/scratch
> MOUNT_OPTIONS -- -o size=1088M,nr_inodes=272K /media/scratch /media/scratch
>
> generic/551 215s
> Ran: generic/551
> Passed all 1 tests
> Xunit report: /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.12.31-amd64/tmpfs_default/result.xml
>
> SECTION -- tmpfs_default
> =========================
> Ran: generic/551
> Passed all 1 tests
>
> Done
>
> Assuming swap is the only thing needed to make the test pass, does it make
> sense then to add support in fstests/tmpfs in kdevops to make the test pass?
generic/551 comment says:
Randomly direct AIO write&verify stress test
Does testing direct I/O on tmpfs add value? If it is quick to run, then
why not run it.
>>> And same question for generic/561, why do you want to skip it? I see the time
>>> spent for skipping the test is actually fine:
>>>
>>> [ 7103.693096] run fstests generic/559 at 2025-06-16 09:53:02
>>> [ 7104.356919] run fstests generic/560 at 2025-06-16 09:53:02
>>> [ 7105.154012] run fstests generic/561 at 2025-06-16 09:53:03
>>> [ 7105.614221] run fstests generic/562 at 2025-06-16 09:53:04
>>> [ 7106.056302] run fstests generic/563 at 2025-06-16 09:53:04
>>>
>>> cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/tmpfs_default/generic/561.notrun
>>> duperemove utility required, skipped this test
>>> cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/tmpfs_default/generic/561.full
>>> umount: /media/scratch: not mounted.
>>
>> generic/561 is testing file de-dup, which tmpfs does not implement.
>>
>> generic/561 looks for the dupremove utility on the test system to
>> know whether to run the test. That's a poor check, say, if the test
>> system is used for testing other file systems, or dupremove is installed
>> by default.
>
> We need to fix that in kdevops and then figure out if generic/561 applies or
> not.
>
>>
>> Could be that 3b9f5fc7d7d8 ("common: call _require_scratch_dedupe from
>> _require_scratch_duperemove") fixes that so that 561 no longer needs
>> to be explicitly expunged for NFS and tmpfs.
>>
>>
>
> The above logs are from an fstests deployed by kdevops which already has that
> commit.
>
> git -C /data/fstests log --oneline -1
> 2cc8c822 (HEAD -> master, origin/master, origin/HEAD) fstests: btrfs: testcase
> for sysfs chunk_size attribute validation
>
> So, I added duperemove package to the VM and run the test again:
>
> [ 14.841609] run fstests fstestsstart/000 at 2025-06-16 18:17:35
> [ 16.365091] run fstests generic/561 at 2025-06-16 18:17:36
> [ 17.141361] run fstests fstestsdone/000 at 2025-06-16 18:17:37
>
> cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/
> tmpfs_default/generic/561.notrun
> Dedupe not supported by scratch filesystem type: tmpfs
>
> I think the correct path is to add duperemove as fstests workflow dependency to
> properly skip the test for tmpfs.
That sounds correct to me.
--
Chuck Lever
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-16 20:36 ` Chuck Lever
@ 2025-06-17 8:34 ` Daniel Gomez
2025-06-17 13:43 ` Chuck Lever
2025-06-26 19:10 ` Daniel Gomez
1 sibling, 1 reply; 21+ messages in thread
From: Daniel Gomez @ 2025-06-17 8:34 UTC (permalink / raw)
To: Chuck Lever, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
>> Assuming swap is the only thing needed to make the test pass, does it make
>> sense then to add support in fstests/tmpfs in kdevops to make the test pass?
>
> generic/551 comment says:
>
> Randomly direct AIO write&verify stress test
>
> Does testing direct I/O on tmpfs add value? If it is quick to run, then
> why not run it.
It's not a quick run after enabling swap:
generic/551 215s
Ran: generic/551
Passed all 1 tests
I don't know about the value for this test for tmpfs. I think it should be
tested as it's part of the suite.
BTW, I've just managed to succeed a generic/551 run without swap:
kdevops@d608703fcdd9-tmpfs-default:~$ uname -a
Linux d608703fcdd9-tmpfs-default 6.16.0-rc2-00026-g9afe652958c3 #9 SMP PREEMPT_DYNAMIC Tue Jun 17 08:07:34 UTC 2025 x86_64 GNU/Linux
kdevops@d608703fcdd9-tmpfs-default:~$ free -hm
total used free shared buff/cache available
Mem: 31Gi 1.5Gi 29Gi 708Ki 239Mi 29Gi
Swap: 0B 0B 0B
kdevops@d608703fcdd9-tmpfs-default:/data/fstests-install/xfstests$ FSTYP=tmpfs ./oscheck.sh --print-start --print-done --journal 'False' \
--test-section tmpfs_default generic/551
Must run as root
kdevops@d608703fcdd9-tmpfs-default:/data/fstests-install/xfstests$ sudo su
root@d608703fcdd9-tmpfs-default:/data/fstests-install/xfstests# pwd
/data/fstests-install/xfstests
root@d608703fcdd9-tmpfs-default:/data/fstests-install/xfstests# FSTYP=tmpfs ./oscheck.sh --print-start --print-done --journal 'False' \
--test-section tmpfs_default generic/551
./oscheck.sh on Debian (13) on 6.16.0-rc2-00026-g9afe652958c3
Running custom kernel: Linux d608703fcdd9-tmpfs-default 6.16.0-rc2-00026-g9afe652958c3 #9 SMP PREEMPT_DYNAMIC Tue Jun 17 08:07:34 UTC 2025 x86_64 GNU/Linux
Testing section: tmpfs_default
SECTION -- tmpfs_default
FSTYP -- tmpfs
PLATFORM -- Linux/x86_64 d608703fcdd9-tmpfs-default 6.16.0-rc2-00026-g9afe652958c3 #9 SMP PREEMPT_DYNAMIC Tue Jun 17 08:07:34 UTC 2025
MKFS_OPTIONS -- /media/scratch
MOUNT_OPTIONS -- -o size=1G /media/scratch /media/scratch
generic/551 296s ... 250s
Ran: generic/551
Passed all 1 tests
Xunit report: /data/fstests-install/xfstests/results/d608703fcdd9-tmpfs-default/6.16.0-rc2-00026-g9afe652958c3/tmpfs_default/result.xml
SECTION -- tmpfs_default
=========================
Ran: generic/551
Passed all 1 tests
Done
So, may be that the avail_mem in do_test() is not calculating the memory
given to the fs? I'll see if I can give that a try later.
For now, the above run succeeded in a VM with 32G of RAM. Monitoring the test
ram consumption I can see peaks of 10G. But I'd expect the test to adapt to the
resources available.
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-17 8:34 ` Daniel Gomez
@ 2025-06-17 13:43 ` Chuck Lever
2025-06-21 7:47 ` Daniel Gomez
0 siblings, 1 reply; 21+ messages in thread
From: Chuck Lever @ 2025-06-17 13:43 UTC (permalink / raw)
To: Daniel Gomez, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 6/17/25 4:34 AM, Daniel Gomez wrote:
>
>
>>> Assuming swap is the only thing needed to make the test pass, does it make
>>> sense then to add support in fstests/tmpfs in kdevops to make the test pass?
>>
>> generic/551 comment says:
>>
>> Randomly direct AIO write&verify stress test
>>
>> Does testing direct I/O on tmpfs add value? If it is quick to run, then
>> why not run it.
>
> It's not a quick run after enabling swap:
>
> generic/551 215s
> Ran: generic/551
> Passed all 1 tests
>
> I don't know about the value for this test for tmpfs. I think it should be
> tested as it's part of the suite.
>
>
> BTW, I've just managed to succeed a generic/551 run without swap:
>
> kdevops@d608703fcdd9-tmpfs-default:~$ uname -a
> Linux d608703fcdd9-tmpfs-default 6.16.0-rc2-00026-g9afe652958c3 #9 SMP PREEMPT_DYNAMIC Tue Jun 17 08:07:34 UTC 2025 x86_64 GNU/Linux
> kdevops@d608703fcdd9-tmpfs-default:~$ free -hm
> total used free shared buff/cache available
> Mem: 31Gi 1.5Gi 29Gi 708Ki 239Mi 29Gi
> Swap: 0B 0B 0B
> kdevops@d608703fcdd9-tmpfs-default:/data/fstests-install/xfstests$ FSTYP=tmpfs ./oscheck.sh --print-start --print-done --journal 'False' \
> --test-section tmpfs_default generic/551
> Must run as root
> kdevops@d608703fcdd9-tmpfs-default:/data/fstests-install/xfstests$ sudo su
> root@d608703fcdd9-tmpfs-default:/data/fstests-install/xfstests# pwd
> /data/fstests-install/xfstests
> root@d608703fcdd9-tmpfs-default:/data/fstests-install/xfstests# FSTYP=tmpfs ./oscheck.sh --print-start --print-done --journal 'False' \
> --test-section tmpfs_default generic/551
> ./oscheck.sh on Debian (13) on 6.16.0-rc2-00026-g9afe652958c3
> Running custom kernel: Linux d608703fcdd9-tmpfs-default 6.16.0-rc2-00026-g9afe652958c3 #9 SMP PREEMPT_DYNAMIC Tue Jun 17 08:07:34 UTC 2025 x86_64 GNU/Linux
> Testing section: tmpfs_default
> SECTION -- tmpfs_default
> FSTYP -- tmpfs
> PLATFORM -- Linux/x86_64 d608703fcdd9-tmpfs-default 6.16.0-rc2-00026-g9afe652958c3 #9 SMP PREEMPT_DYNAMIC Tue Jun 17 08:07:34 UTC 2025
> MKFS_OPTIONS -- /media/scratch
> MOUNT_OPTIONS -- -o size=1G /media/scratch /media/scratch
>
> generic/551 296s ... 250s
> Ran: generic/551
> Passed all 1 tests
> Xunit report: /data/fstests-install/xfstests/results/d608703fcdd9-tmpfs-default/6.16.0-rc2-00026-g9afe652958c3/tmpfs_default/result.xml
>
> SECTION -- tmpfs_default
> =========================
> Ran: generic/551
> Passed all 1 tests
>
> Done
>
>
> So, may be that the avail_mem in do_test() is not calculating the memory
> given to the fs? I'll see if I can give that a try later.
>
> For now, the above run succeeded in a VM with 32G of RAM. Monitoring the test
> ram consumption I can see peaks of 10G. But I'd expect the test to adapt to the
> resources available.
Good point: either the test should adapt, or tmpfs should adapt.
--
Chuck Lever
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-17 13:43 ` Chuck Lever
@ 2025-06-21 7:47 ` Daniel Gomez
0 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-21 7:47 UTC (permalink / raw)
To: Chuck Lever, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 17/06/2025 15.43, Chuck Lever wrote:
> On 6/17/25 4:34 AM, Daniel Gomez wrote:
>>
>> So, may be that the avail_mem in do_test() is not calculating the memory
>> given to the fs? I'll see if I can give that a try later.
This turned out to be the issue.
>>
>> For now, the above run succeeded in a VM with 32G of RAM. Monitoring the test
>> ram consumption I can see peaks of 10G. But I'd expect the test to adapt to the
>> resources available.
>
> Good point: either the test should adapt, or tmpfs should adapt.
Here the fix:
https://lore.kernel.org/all/20250618-fix-tmpfs-generic-551-v1-1-271027c36dfc@samsung.com/
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 00/10] Extend kdevops-ci to support more workflows
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
` (9 preceding siblings ...)
2025-06-15 9:58 ` [PATCH 10/10] workflows: add support to change kdevops repo in guests via cli Daniel Gomez
@ 2025-06-26 18:59 ` Daniel Gomez
10 siblings, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-26 18:59 UTC (permalink / raw)
To: Luis Chamberlain, Daniel Gomez; +Cc: kdevops, Chuck Lever
On Sun, 15 Jun 2025 11:58:08 +0200, Daniel Gomez wrote:
> This patch series includes Ansible fixes identified while running the
> kdevops-ci GitHub Runner and testing the CI_WORKFLOW setup with the
> following defconfigs: linux-mm-kpd, linux-modules-kpd, blktests, and
> tmpfs.
>
> As part of these fixes, support for tmpfs CI defconfigs is added. I'm
> now running all of the above workflows daily, although archiving results
> and dashboard are still on my TODO list.
>
> [...]
Applied, thanks!
[01/10] .ci: blktests: add 1 section only targets
commit: 8e46f851d791829884317116d24d6b391a5f3f79
[02/10] defconfigs: add tmpfs support
commit: 9162134d8415c3510c0ce46e9eba814a6c14fb6d
[03/10] .ci: add tmpfs support
commit: bf5a6b3d81e270424b799b82342aa5af1790509a
[04/10] defconfigs: blktests: add blktests_meta support
commit: 19ee5b8758d8f3f0b87e63aa7913c7b500b6ee3c
[05/10] gen_nodes: selftests: fix hosts names generation
commit: f501cf876a7b66492bb0705667e262b7f4f648d0
[06/10] gen_hosts: selftests: fix hosts names generation
commit: 51e335779c33a78e5fc3033cf6850a161178c459
[07/10] fstests: fix ansible range type error
commit: 8183167ea0e6372a49af13b4fbe1dada22233576
[08/10] selftests: kmod: add timeout makefile parameter cli support
commit: 5f1cbad24499ed1df7de9d1f1c777ad4b60d8596
[09/10] fstests: tmpfs: expunges: testing
commit: 42da490018e06d79fa229952ad924ff9c2532a87
[10/10] workflows: add support to change kdevops repo in guests via cli
commit: 9b7f4847e79d78761d8926b3198610df948d0f26
Best regards,
--
Daniel Gomez <da.gomez@samsung.com>
^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH 09/10] fstests: tmpfs: expunges: testing
2025-06-16 20:36 ` Chuck Lever
2025-06-17 8:34 ` Daniel Gomez
@ 2025-06-26 19:10 ` Daniel Gomez
1 sibling, 0 replies; 21+ messages in thread
From: Daniel Gomez @ 2025-06-26 19:10 UTC (permalink / raw)
To: Chuck Lever, Luis Chamberlain; +Cc: kdevops, Daniel Gomez
On 16/06/2025 22.36, Chuck Lever wrote:
> On 6/16/25 4:24 PM, Daniel Gomez wrote:
>>
>>
>> On 16/06/2025 16.31, Chuck Lever wrote:
>>> On 6/16/25 6:41 AM, Daniel Gomez wrote:
>>>>
>>>> On 15/06/2025 18.18, Chuck Lever wrote:
>>>>> On 6/15/25 5:58 AM, Daniel Gomez wrote:
>>> generic/561 is testing file de-dup, which tmpfs does not implement.
>>>
>>> generic/561 looks for the dupremove utility on the test system to
>>> know whether to run the test. That's a poor check, say, if the test
>>> system is used for testing other file systems, or dupremove is installed
>>> by default.
>>
>> We need to fix that in kdevops and then figure out if generic/561 applies or
>> not.
>>
>>>
>>> Could be that 3b9f5fc7d7d8 ("common: call _require_scratch_dedupe from
>>> _require_scratch_duperemove") fixes that so that 561 no longer needs
>>> to be explicitly expunged for NFS and tmpfs.
>>>
>>>
>>
>> The above logs are from an fstests deployed by kdevops which already has that
>> commit.
>>
>> git -C /data/fstests log --oneline -1
>> 2cc8c822 (HEAD -> master, origin/master, origin/HEAD) fstests: btrfs: testcase
>> for sysfs chunk_size attribute validation
>>
>> So, I added duperemove package to the VM and run the test again:
>>
>> [ 14.841609] run fstests fstestsstart/000 at 2025-06-16 18:17:35
>> [ 16.365091] run fstests generic/561 at 2025-06-16 18:17:36
>> [ 17.141361] run fstests fstestsdone/000 at 2025-06-16 18:17:37
>>
>> cat /data/fstests-install/xfstests/results/debian13-tmpfs-default/6.16.0-rc2/
>> tmpfs_default/generic/561.notrun
>> Dedupe not supported by scratch filesystem type: tmpfs
>>
>> I think the correct path is to add duperemove as fstests workflow dependency to
>> properly skip the test for tmpfs.
>
> That sounds correct to me.
Added duperemove package to fstests workflow:
ac918af2fb3b fstests: debian: add duperemove dependency
https://github.com/linux-kdevops/kdevops/commit/ac918af2fb3bbd33c81281073f46f84025cffa5a
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2025-06-26 19:10 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-15 9:58 [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
2025-06-15 9:58 ` [PATCH 01/10] .ci: blktests: add 1 section only targets Daniel Gomez
2025-06-15 9:58 ` [PATCH 02/10] defconfigs: add tmpfs support Daniel Gomez
2025-06-15 9:58 ` [PATCH 03/10] .ci: " Daniel Gomez
2025-06-15 9:58 ` [PATCH 04/10] defconfigs: blktests: add blktests_meta support Daniel Gomez
2025-06-15 9:58 ` [PATCH 05/10] gen_nodes: selftests: fix hosts names generation Daniel Gomez
2025-06-15 9:58 ` [PATCH 06/10] gen_hosts: " Daniel Gomez
2025-06-15 9:58 ` [PATCH 07/10] fstests: fix ansible range type error Daniel Gomez
2025-06-15 9:58 ` [PATCH 08/10] selftests: kmod: add timeout makefile parameter cli support Daniel Gomez
2025-06-15 9:58 ` [PATCH 09/10] fstests: tmpfs: expunges: testing Daniel Gomez
2025-06-15 16:18 ` Chuck Lever
2025-06-16 10:41 ` Daniel Gomez
2025-06-16 14:31 ` Chuck Lever
2025-06-16 20:24 ` Daniel Gomez
2025-06-16 20:36 ` Chuck Lever
2025-06-17 8:34 ` Daniel Gomez
2025-06-17 13:43 ` Chuck Lever
2025-06-21 7:47 ` Daniel Gomez
2025-06-26 19:10 ` Daniel Gomez
2025-06-15 9:58 ` [PATCH 10/10] workflows: add support to change kdevops repo in guests via cli Daniel Gomez
2025-06-26 18:59 ` [PATCH 00/10] Extend kdevops-ci to support more workflows Daniel Gomez
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox