Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
mdadm.1739
0001-Grow-Do-not-try-to-restart-if-reshape-is-r...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Grow-Do-not-try-to-restart-if-reshape-is-running.patch of Package mdadm.1739
From 13ffbe89b6103c146c08eb1c9a70833306c8322b Mon Sep 17 00:00:00 2001 From: Pawel Baldysiak <pawel.baldysiak@intel.com> Date: Wed, 16 Jul 2014 12:20:34 +0200 Subject: [PATCH] Grow: Do not try to restart if reshape is running Grow process did not check if reshape is already started when deciding about restarting. Sync_action should be checked in this case, and if reshape is running - restart flag should not be set. Otherwise, Grow process will fail to write data to sysfs, and reshape will not be continued. Signed-off-by: Pawel Baldysiak <pawel.baldysiak@intel.com> Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Signed-off-by: NeilBrown <neilb@suse.de> --- Grow.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Grow.c b/Grow.c index a2f4f1428787..ea9cc60e1f18 100644 --- a/Grow.c +++ b/Grow.c @@ -2822,6 +2822,7 @@ static int reshape_array(char *container, int fd, char *devname, unsigned long long array_size; int done; struct mdinfo *sra = NULL; + char buf[20]; /* when reshaping a RAID0, the component_size might be zero. * So try to fix that up. @@ -2869,7 +2870,9 @@ static int reshape_array(char *container, int fd, char *devname, goto release; } - if (st->ss->external && restart && (info->reshape_progress == 0)) { + if (st->ss->external && restart && (info->reshape_progress == 0) && + !((sysfs_get_str(info, NULL, "sync_action", buf, sizeof(buf)) > 0) && + (strncmp(buf, "reshape", 7) == 0))) { /* When reshape is restarted from '0', very begin of array * it is possible that for external metadata reshape and array * configuration doesn't happen. -- 2.0.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