Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
mdadm.5365
0240-reshape-support-raid5-grow-on-certain-olde...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0240-reshape-support-raid5-grow-on-certain-older-kernels.patch of Package mdadm.5365
Git-commit: 783bbc2b131e2cfea7870f91c194920a45fd556c Mon Sep 17 00:00:00 2001 From: NeilBrown <neilb@suse.de> Date: Thu, 26 Mar 2015 10:06:26 +1100 Subject: [PATCH] reshape: support raid5 grow on certain older kernels. References: bnc#923920 Kernels between c6563a8c38fde3c1c7fc925a v3.5-rc1~110^2~53 and b5254dd5fdd9abcacadb5101 v3.5-rc1~110^2~51 allow new_offset to be set, but don't then allow a RAID5 to be reshaped to change that offset. Due to selective backports, this includes the SLES11-SP3 kernel. It is quite easy to handle this case in mdadm, so we do. Specifically: if the reshape with data-offset fails with EINVAL, abort the data-offset change and try the "old" way. Signed-off-by: NeilBrown <neilb@suse.de> --- Grow.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) --- mdadm-3.3.1.orig/Grow.c +++ mdadm-3.3.1/Grow.c @@ -3145,8 +3145,19 @@ static int reshape_array(char *container devname, container, &reshape) < 0) goto release; if (sysfs_set_str(sra, NULL, "sync_action", "reshape") < 0) { - pr_err("Failed to initiate reshape!\n"); - goto release; + struct mdinfo *sd; + if (errno != EINVAL) { + pr_err("Failed to initiate reshape!\n"); + goto release; + } + /* revert data_offset and try the old way */ + for (sd = sra->devs; sd; sd = sd->next) { + sysfs_set_num(sra, sd, "new_offset", + sd->data_offset); + sysfs_set_str(sra, NULL, "reshape_direction", + "forwards"); + } + break; } if (info->new_level == reshape.level) return 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