Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP4
mdadm.28825
0036-imsm-close-removed-drive-fd.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0036-imsm-close-removed-drive-fd.patch of Package mdadm.28825
From 91c97c5432028875db5f8abeddb5cb5f31902001 Mon Sep 17 00:00:00 2001 From: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com> Date: Mon, 15 Jul 2019 09:25:35 +0200 Subject: [PATCH] imsm: close removed drive fd. Git-commit: 91c97c5432028875db5f8abeddb5cb5f31902001 Patch-mainline: mdadm-4.1+ References: jsc#SLE-10078, jsc#SLE-9348 When member drive fails, managemon prepares metadata update and adds the drive to disk_mgmt_list with DISK_REMOVE flag. It fills only minor and major. It is enough to recognize the device later. Monitor thread while processing this update will remove the drive from super only if it is a spare. It never removes failed member from disks list. As a result, it still keeps opened descriptor to non-existing device. If removed drive is not a spare fill fd in disk_cfg structure (prepared by managemon), monitor will close fd during freeing it. Also set this drive fd to -1 in super to avoid double closing because monitor will close the fd (if needed) while replacing removed drive in array. Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com> Signed-off-by: Coly Li <colyli@suse.de> --- super-intel.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/super-intel.c b/super-intel.c index d7e8a65..a103a3f 100644 --- a/super-intel.c +++ b/super-intel.c @@ -9200,6 +9200,9 @@ static int add_remove_disk_update(struct intel_super *super) remove_disk_super(super, disk_cfg->major, disk_cfg->minor); + } else { + disk_cfg->fd = disk->fd; + disk->fd = -1; } } /* release allocate disk structure */ -- 2.25.0
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