02e1f69890
There some bugs need to be fixed. bug2127101 Reshape is started with not allowed chunk size patch (super-intel: make freesize not required for chunk size migration) bug2139789 Installation hangs after RAID degradation bug2149292 mdadm: Couldn't open /dev/vda3 for write - not zeroing patch (mdadm/udev: Don't handle change event on raw devices) bug2151209 Can't remove disk when unplugging a disk patch (incremental, manage: do not verify if remove is safe) bug2148945 mdadm --fail /dev/md0 /dev/pmem1s failed patch (Manage: do not check array state when drive is removed) Resolves: rhbz#2127101, rhbz#2139789, rhbz#2149292, rhbz#2151209, rhbz#2148945 Signed-off-by: Xiao Ni <xni@redhat.com>
37 lines
1.1 KiB
Diff
37 lines
1.1 KiB
Diff
From 9ae62977b51dab0f4bb46b1c8ea5ebd1705b2f4d Mon Sep 17 00:00:00 2001
|
|
From: Logan Gunthorpe <logang@deltatee.com>
|
|
Date: Wed, 22 Jun 2022 14:25:10 -0600
|
|
Subject: [PATCH 35/83] monitor: Avoid segfault when calling NULL
|
|
get_bad_blocks
|
|
|
|
Not all struct superswitch implement a get_bad_blocks() function,
|
|
yet mdmon seems to call it without checking for NULL and thus
|
|
occasionally segfaults in the test 10ddf-geometry.
|
|
|
|
Fix this by checking for NULL before calling it.
|
|
|
|
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
|
|
Acked-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
|
|
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
|
|
---
|
|
monitor.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/monitor.c b/monitor.c
|
|
index b877e595..820a93d0 100644
|
|
--- a/monitor.c
|
|
+++ b/monitor.c
|
|
@@ -311,6 +311,9 @@ static int check_for_cleared_bb(struct active_array *a, struct mdinfo *mdi)
|
|
struct md_bb *bb;
|
|
int i;
|
|
|
|
+ if (!ss->get_bad_blocks)
|
|
+ return -1;
|
|
+
|
|
/*
|
|
* Get a list of bad blocks for an array, then read list of
|
|
* acknowledged bad blocks from kernel and compare it against metadata
|
|
--
|
|
2.38.1
|
|
|