Rebase to upstream V0.15.00
Add the following upstream patches stress-shm: move /dev/shm check to earlier in the setup phase stress-shm: skip stressor if /dev/shm is not mounted with tmpfs on linux stress-sysfs: check for zero sysfs entries after pruning the directory Resolves: rhbz#2144070 Signed-off-by: John Kacur <jkacur@redhat.com>
This commit is contained in:
parent
11912bf0ac
commit
bd40d05c6b
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
*.swp
|
||||
/stress-ng-*.tar.xz
|
||||
|
@ -0,0 +1,55 @@
|
||||
From 6a22f648bd3452c83c5f88ec530d496fefe5e9a0 Mon Sep 17 00:00:00 2001
|
||||
From: Colin Ian King <colin.i.king@gmail.com>
|
||||
Date: Mon, 21 Nov 2022 12:16:47 +0000
|
||||
Subject: [PATCH 1/3] stress-sysfs: check for zero sysfs entries after pruning
|
||||
the directory
|
||||
|
||||
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
|
||||
---
|
||||
stress-sysfs.c | 18 +++++++++++-------
|
||||
1 file changed, 11 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/stress-sysfs.c b/stress-sysfs.c
|
||||
index 00fe9ba08100..24267d00ee5a 100644
|
||||
--- a/stress-sysfs.c
|
||||
+++ b/stress-sysfs.c
|
||||
@@ -634,14 +634,11 @@ static int stress_sysfs(const stress_args_t *args)
|
||||
}
|
||||
|
||||
n = scandir("/sys", &dlist, NULL, alphasort);
|
||||
- if (n <= 0) {
|
||||
- if (args->instance == 0)
|
||||
- pr_inf_skip("%s: no /sys entries found, skipping stressor\n", args->name);
|
||||
- stress_dirent_list_free(dlist, n);
|
||||
- (void)munmap((void *)ctxt, sizeof(*ctxt));
|
||||
- return EXIT_NO_RESOURCE;
|
||||
- }
|
||||
+ if (n <= 0)
|
||||
+ goto exit_no_sysfs_entries;
|
||||
n = stress_dirent_list_prune(dlist, n);
|
||||
+ if (n <= 0)
|
||||
+ goto exit_no_sysfs_entries;
|
||||
|
||||
os_release = 0;
|
||||
#if defined(HAVE_UNAME) && \
|
||||
@@ -806,10 +803,17 @@ finish:
|
||||
(void)close(ctxt->kmsgfd);
|
||||
(void)shim_pthread_spin_destroy(&lock);
|
||||
|
||||
+exit_free:
|
||||
stress_dirent_list_free(dlist, n);
|
||||
(void)munmap((void *)ctxt, sizeof(*ctxt));
|
||||
|
||||
return rc;
|
||||
+
|
||||
+exit_no_sysfs_entries:
|
||||
+ if (args->instance == 0)
|
||||
+ pr_inf_skip("%s: no /sys entries found, skipping stressor\n", args->name);
|
||||
+ rc = EXIT_NO_RESOURCE;
|
||||
+ goto exit_free;
|
||||
}
|
||||
|
||||
stressor_info_t stress_sysfs_info = {
|
||||
--
|
||||
2.38.1
|
||||
|
@ -0,0 +1,37 @@
|
||||
From f424f5b774b7cb0fd7939d28e68db6fa977baea1 Mon Sep 17 00:00:00 2001
|
||||
From: Colin Ian King <colin.i.king@gmail.com>
|
||||
Date: Mon, 21 Nov 2022 12:45:11 +0000
|
||||
Subject: [PATCH 2/3] stress-shm: skip stressor if /dev/shm is not mounted with
|
||||
tmpfs on linux
|
||||
|
||||
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
|
||||
---
|
||||
stress-shm.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/stress-shm.c b/stress-shm.c
|
||||
index 91bcd961aeb1..4e6327ac97d4 100644
|
||||
--- a/stress-shm.c
|
||||
+++ b/stress-shm.c
|
||||
@@ -122,6 +122,18 @@ static int stress_shm_posix_child(
|
||||
const size_t page_size = args->page_size;
|
||||
struct sigaction sa;
|
||||
|
||||
+#if defined(__linux__)
|
||||
+ /*
|
||||
+ * /dev/shm should be mounted with tmpfs and
|
||||
+ * be writeable, if not shm_open will fail
|
||||
+ */
|
||||
+ if (access("/dev/shm", W_OK) < 0) {
|
||||
+ pr_inf("%s: cannot access /dev/shm for writes, errno=%d (%s) skipping stressor\n",
|
||||
+ args->name, errno, strerror(errno));
|
||||
+ return EXIT_NO_RESOURCE;
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
addrs = calloc(shm_posix_objects, sizeof(*addrs));
|
||||
if (!addrs) {
|
||||
pr_fail("%s: calloc on addrs failed, out of memory\n", args->name);
|
||||
--
|
||||
2.38.1
|
||||
|
@ -0,0 +1,55 @@
|
||||
From 7681f2d05470b8c8850346bcf12e525f628941b3 Mon Sep 17 00:00:00 2001
|
||||
From: Colin Ian King <colin.i.king@gmail.com>
|
||||
Date: Mon, 21 Nov 2022 12:46:54 +0000
|
||||
Subject: [PATCH 3/3] stress-shm: move /dev/shm check to earlier in the setup
|
||||
phase
|
||||
|
||||
Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
|
||||
---
|
||||
stress-shm.c | 23 +++++++++++------------
|
||||
1 file changed, 11 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/stress-shm.c b/stress-shm.c
|
||||
index 4e6327ac97d4..a9c26498024e 100644
|
||||
--- a/stress-shm.c
|
||||
+++ b/stress-shm.c
|
||||
@@ -122,18 +122,6 @@ static int stress_shm_posix_child(
|
||||
const size_t page_size = args->page_size;
|
||||
struct sigaction sa;
|
||||
|
||||
-#if defined(__linux__)
|
||||
- /*
|
||||
- * /dev/shm should be mounted with tmpfs and
|
||||
- * be writeable, if not shm_open will fail
|
||||
- */
|
||||
- if (access("/dev/shm", W_OK) < 0) {
|
||||
- pr_inf("%s: cannot access /dev/shm for writes, errno=%d (%s) skipping stressor\n",
|
||||
- args->name, errno, strerror(errno));
|
||||
- return EXIT_NO_RESOURCE;
|
||||
- }
|
||||
-#endif
|
||||
-
|
||||
addrs = calloc(shm_posix_objects, sizeof(*addrs));
|
||||
if (!addrs) {
|
||||
pr_fail("%s: calloc on addrs failed, out of memory\n", args->name);
|
||||
@@ -384,6 +372,17 @@ static int stress_shm(const stress_args_t *args)
|
||||
}
|
||||
orig_sz = sz = shm_posix_bytes & ~(page_size - 1);
|
||||
|
||||
+#if defined(__linux__)
|
||||
+ /*
|
||||
+ * /dev/shm should be mounted with tmpfs and
|
||||
+ * be writeable, if not shm_open will fail
|
||||
+ */
|
||||
+ if (access("/dev/shm", W_OK) < 0) {
|
||||
+ pr_inf("%s: cannot access /dev/shm for writes, errno=%d (%s) skipping stressor\n",
|
||||
+ args->name, errno, strerror(errno));
|
||||
+ return EXIT_NO_RESOURCE;
|
||||
+ }
|
||||
+#endif
|
||||
stress_set_proc_state(args->name, STRESS_STATE_RUN);
|
||||
|
||||
while (keep_stressing_flag() && retry) {
|
||||
--
|
||||
2.38.1
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (stress-ng-0.14.06.tar.xz) = 2019733a0d07dc56e9d6834c19714e4e72adef9bee6899e88612b532e0326fbac2fb716300d9082db849968bd0f9de4a7c388dcd7ed3a289d3995eeff9f0c9ca
|
||||
SHA512 (stress-ng-0.15.00.tar.xz) = ca7f3e89285d1a4651d90e73132eefa51eb3449c1018871c9adce155288e42de2a67aaa3d53053daacb65cbd6acece471334423ec208075ef46db53a51a12971
|
||||
|
@ -1,5 +1,5 @@
|
||||
Name: stress-ng
|
||||
Version: 0.14.06
|
||||
Version: 0.15.00
|
||||
Release: 1%{?dist}
|
||||
Summary: Stress test a computer system in various ways
|
||||
|
||||
@ -7,6 +7,9 @@ License: GPLv2+
|
||||
URL: https://github.com/ColinIanKing/%{name}/tarball
|
||||
Source0: https://github.com/ColinIanKing/%{name}/tarball/%{name}-%{version}.tar.xz
|
||||
|
||||
# Work around for ld.gold error
|
||||
%undefine _package_note_flags
|
||||
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
BuildRequires: glibc-devel
|
||||
@ -22,6 +25,9 @@ BuildRequires: zlib-devel
|
||||
BuildRequires: Judy-devel
|
||||
|
||||
# Patches
|
||||
Patch1: 0001-stress-sysfs-check-for-zero-sysfs-entries-after-prun.patch
|
||||
Patch2: 0002-stress-shm-skip-stressor-if-dev-shm-is-not-mounted-w.patch
|
||||
Patch3: 0003-stress-shm-move-dev-shm-check-to-earlier-in-the-setu.patch
|
||||
|
||||
%description
|
||||
Stress test a computer system in various ways. It was designed to exercise
|
||||
@ -30,6 +36,9 @@ system kernel interfaces.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
%build
|
||||
export CFLAGS="%{optflags}"
|
||||
@ -53,6 +62,14 @@ install -pm 644 bash-completion/%{name} \
|
||||
%{_datadir}/bash-completion/completions/%{name}
|
||||
|
||||
%changelog
|
||||
* Mon Nov 21 2022 John Kacur <jkacur@redhat.com> - 0.15.00-1
|
||||
- Rebase to upstream V0.15.00
|
||||
- Add the following upstream patches
|
||||
- stress-shm: move /dev/shm check to earlier in the setup phase
|
||||
- stress-shm: skip stressor if /dev/shm is not mounted with tmpfs on linux
|
||||
- stress-sysfs: check for zero sysfs entries after pruning the directory
|
||||
Resolves: rhbz#2144070
|
||||
|
||||
* Tue Oct 18 2022 John Kacur <jkacur@redhat.com> - 0.14.06-1
|
||||
- Rebase to upstream V0.14.06
|
||||
Resolves: rhbz#2119871
|
||||
|
Loading…
Reference in New Issue
Block a user