]> git.ipfire.org Git - ipfire-3.x.git/blob - multipath-tools/patches/0081-RHBZ-1066264-check-prefix-on-rename.patch
krb5: Update to 1.14.4
[ipfire-3.x.git] / multipath-tools / patches / 0081-RHBZ-1066264-check-prefix-on-rename.patch
1 ---
2 libmultipath/devmapper.c | 12 ++++++++++--
3 1 file changed, 10 insertions(+), 2 deletions(-)
4
5 Index: multipath-tools-130222/libmultipath/devmapper.c
6 ===================================================================
7 --- multipath-tools-130222.orig/libmultipath/devmapper.c
8 +++ multipath-tools-130222/libmultipath/devmapper.c
9 @@ -1151,6 +1151,8 @@ dm_rename_partmaps (char * old, char * n
10 unsigned long long size;
11 char dev_t[32];
12 int r = 1;
13 + int offset;
14 + char *delim;
15
16 if (!(dmt = dm_task_create(DM_DEVICE_LIST)))
17 return 1;
18 @@ -1171,6 +1173,11 @@ dm_rename_partmaps (char * old, char * n
19 if (dm_dev_t(old, &dev_t[0], 32))
20 goto out;
21
22 + if (isdigit(new[strlen(new)-1]))
23 + delim = "p";
24 + else
25 + delim = "";
26 +
27 do {
28 if (
29 /*
30 @@ -1198,8 +1205,9 @@ dm_rename_partmaps (char * old, char * n
31 * then it's a kpartx generated partition.
32 * Rename it.
33 */
34 - snprintf(buff, PARAMS_SIZE, "%s%s",
35 - new, names->name + strlen(old));
36 + for (offset = strlen(old); names->name[offset] && !(isdigit(names->name[offset])); offset++); /* do nothing */
37 + snprintf(buff, PARAMS_SIZE, "%s%s%s",
38 + new, delim, names->name + offset);
39 dm_rename(names->name, buff);
40 condlog(4, "partition map %s renamed",
41 names->name);