adfbb8ebd5
If mdcheck_start service can finish check action, it doesn't need to start mdcheck_continue service. So in rhel only patch mdcheck.patch, we stop mdcheck_continue timer. And there is a history problem. It needed KillMode=none before, so it removed the upstream patch 52c67fcdd. Now this problem has been fixed, so we can do the backport more easilly now. We don't need to remove the upstream patch here again. Resolves: rhbz#2116418, rhbz#2150862, rhbz#2159584 Signed-off-by: Xiao Ni <xni@redhat.com>
74 lines
2.4 KiB
Diff
74 lines
2.4 KiB
Diff
From 0f8347d4f6588ee6ded55af3e307418cee286a6f Mon Sep 17 00:00:00 2001
|
|
From: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
Date: Thu, 23 Mar 2023 17:50:15 +0100
|
|
Subject: [PATCH 122/125] mdadm: define DEV_NUM_PREF
|
|
|
|
Use define instead of inlines. Add _LEN define.
|
|
|
|
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
|
|
---
|
|
config.c | 4 ++--
|
|
mdadm.h | 8 ++++++++
|
|
mdopen.c | 10 +++++-----
|
|
3 files changed, 15 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/config.c b/config.c
|
|
index 59d5bfb6..f44cc1d3 100644
|
|
--- a/config.c
|
|
+++ b/config.c
|
|
@@ -407,8 +407,8 @@ void arrayline(char *line)
|
|
if (strcasecmp(w, "<ignore>") == 0 ||
|
|
strncmp(w, DEV_MD_DIR, DEV_MD_DIR_LEN) == 0 ||
|
|
(w[0] != '/' && w[0] != '<') ||
|
|
- (strncmp(w, "/dev/md", 7) == 0 &&
|
|
- is_number(w + 7)) ||
|
|
+ (strncmp(w, DEV_NUM_PREF, DEV_NUM_PREF_LEN) == 0 &&
|
|
+ is_number(w + DEV_NUM_PREF_LEN)) ||
|
|
(strncmp(w, "/dev/md_d", 9) == 0 &&
|
|
is_number(w + 9))) {
|
|
/* This is acceptable */;
|
|
diff --git a/mdadm.h b/mdadm.h
|
|
index 67d73f96..f2e70baa 100644
|
|
--- a/mdadm.h
|
|
+++ b/mdadm.h
|
|
@@ -100,6 +100,14 @@ struct dlm_lksb {
|
|
#define DEFAULT_BITMAP_DELAY 5
|
|
#define DEFAULT_MAX_WRITE_BEHIND 256
|
|
|
|
+/* DEV_NUM_PREF is a subpath to numbered MD devices, e.g. /dev/md1 or directory name.
|
|
+ * DEV_NUM_PREF_LEN is a length with Null byte excluded.
|
|
+ */
|
|
+#ifndef DEV_NUM_PREF
|
|
+#define DEV_NUM_PREF "/dev/md"
|
|
+#define DEV_NUM_PREF_LEN (sizeof(DEV_NUM_PREF) - 1)
|
|
+#endif /* DEV_NUM_PREF */
|
|
+
|
|
/* DEV_MD_DIR points to named MD devices directory.
|
|
* DEV_MD_DIR_LEN is a length with Null byte excluded.
|
|
*/
|
|
diff --git a/mdopen.c b/mdopen.c
|
|
index 6c3bdb6a..d3022a54 100644
|
|
--- a/mdopen.c
|
|
+++ b/mdopen.c
|
|
@@ -412,11 +412,11 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy,
|
|
make_parts(devname, parts);
|
|
|
|
if (strcmp(chosen, devname) != 0) {
|
|
- if (mkdir("/dev/md",0700) == 0) {
|
|
- if (chown("/dev/md", ci->uid, ci->gid))
|
|
- perror("chown /dev/md");
|
|
- if (chmod("/dev/md", ci->mode| ((ci->mode>>2) & 0111)))
|
|
- perror("chmod /dev/md");
|
|
+ if (mkdir(DEV_NUM_PREF, 0700) == 0) {
|
|
+ if (chown(DEV_NUM_PREF, ci->uid, ci->gid))
|
|
+ perror("chown " DEV_NUM_PREF);
|
|
+ if (chmod(DEV_NUM_PREF, ci->mode | ((ci->mode >> 2) & 0111)))
|
|
+ perror("chmod " DEV_NUM_PREF);
|
|
}
|
|
|
|
if (dev && strcmp(chosen, dev) == 0)
|
|
--
|
|
2.38.1
|
|
|