Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.5:Update
mdadm.29360
0051-Mdmonitor-Omit-non-md-devices.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0051-Mdmonitor-Omit-non-md-devices.patch of Package mdadm.29360
From 8b668d4aa3305af5963162b7499b128bd71f8f29 Mon Sep 17 00:00:00 2001 From: Lukasz Florczak <lukasz.florczak@linux.intel.com> Date: Thu, 22 Sep 2022 08:29:50 +0200 Subject: [PATCH 61/61] Mdmonitor: Omit non-md devices Patch-mainline: mdadm-4.2+ References: jsc#PED-1009 Fix segfault commit [1] introduced check whether given device is mddevice, but it happend to terminate Mdmonitor if at least one of given devices didn't fulfill that condition. In result Mdmonitor service was no longer started on boot (with --scan option) when config contained some non-existent array entry. This commit introduces ommiting non-md devices so scan option can still be used when config is wrong and allow Mdmonitor service to run on boot. Giving a list of devices to monitor containing non-existing or non-md devices will result in monitoring only confirmed mddevices. [1] https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=e702f392959d1c2ad2089e595b52235ed97b4e18 Signed-off-by: Lukasz Florczak <lukasz.florczak@linux.intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com> Signed-off-by: Coly Li <colyli@suse.de> --- Monitor.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Monitor.c b/Monitor.c index b4e954c..7d7dc4d 100644 --- a/Monitor.c +++ b/Monitor.c @@ -185,10 +185,8 @@ int Monitor(struct mddev_dev *devlist, continue; if (strcasecmp(mdlist->devname, "<ignore>") == 0) continue; - if (!is_mddev(mdlist->devname)) { - free_statelist(statelist); - return 1; - } + if (!is_mddev(mdlist->devname)) + continue; st = xcalloc(1, sizeof *st); snprintf(st->devname, MD_NAME_MAX + sizeof("/dev/md/"), @@ -208,10 +206,8 @@ int Monitor(struct mddev_dev *devlist, for (dv = devlist; dv; dv = dv->next) { struct state *st; - if (!is_mddev(dv->devname)) { - free_statelist(statelist); - return 1; - } + if (!is_mddev(dv->devname)) + continue; st = xcalloc(1, sizeof *st); mdlist = conf_get_ident(dv->devname); -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor