Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP3:GA
mdadm.5365
0063-Grow-be-more-careful-if-array-is-stopped-d...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0063-Grow-be-more-careful-if-array-is-stopped-during-crit.patch of Package mdadm.5365
From e0184a0cd0083f6fe3fc0395ab2b9b2909c8d882 Mon Sep 17 00:00:00 2001 From: NeilBrown <neilb@suse.de> Date: Fri, 15 May 2015 09:42:39 +1000 Subject: [PATCH 084/359] Grow: be more careful if array is stopped during critical section. References: bsc#1081910 In that case, updating 'completed' to 'max_progress' is wrong. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Coly Li <colyli@suse.de> --- Grow.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Grow.c b/Grow.c index ec18078..99f3497 100644 --- a/Grow.c +++ b/Grow.c @@ -3850,10 +3850,17 @@ int progress_reshape(struct mdinfo *info, struct reshape *reshape, goto check_progress; } /* Some kernels reset 'sync_completed' to zero, - * we need to have real point we are in md + * we need to have real point we are in md. + * But only if array is actually still reshaping, + * not stopped. */ - if (completed == 0) - completed = max_progress; + if (completed == 0) { + char action[20]; + if (sysfs_get_str(info, NULL, "sync_action", + action, 20) > 0 && + strncmp(action, "reshape", 7) == 0) + completed = max_progress; + } /* some kernels can give an incorrectly high 'completed' number */ completed /= (info->new_chunk/512); -- 2.16.1
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