Modify 0103-add-disable-sync-option.patch
Add 0104-RHBZ-737989-systemd-unit-fix.patch * systemd will only start multipathd if /etc/multipath.conf exists Add 0105-fix-oom-adj.patch * first try setting oom_score_adj
This commit is contained in:
parent
2d21294f17
commit
ec58dfa358
@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
multipath/main.c | 4 ++++
|
multipath/main.c | 6 +++++-
|
||||||
1 file changed, 4 insertions(+)
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
Index: multipath-tools/multipath/main.c
|
Index: multipath-tools/multipath/main.c
|
||||||
===================================================================
|
===================================================================
|
||||||
@ -14,6 +14,15 @@ Index: multipath-tools/multipath/main.c
|
|||||||
" -b fil bindings file location\n" \
|
" -b fil bindings file location\n" \
|
||||||
" -p pol force all maps to specified path grouping policy :\n" \
|
" -p pol force all maps to specified path grouping policy :\n" \
|
||||||
" . failover one path per priority group\n" \
|
" . failover one path per priority group\n" \
|
||||||
|
@@ -383,7 +384,7 @@ main (int argc, char *argv[])
|
||||||
|
condlog(0, "multipath tools need sysfs mounted");
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
- while ((arg = getopt(argc, argv, ":dchl::FfM:v:p:b:Brqu")) != EOF ) {
|
||||||
|
+ while ((arg = getopt(argc, argv, ":dchl::FfM:v:p:b:Brqun")) != EOF ) {
|
||||||
|
switch(arg) {
|
||||||
|
case 1: printf("optarg : %s\n",optarg);
|
||||||
|
break;
|
||||||
@@ -442,6 +443,9 @@ main (int argc, char *argv[])
|
@@ -442,6 +443,9 @@ main (int argc, char *argv[])
|
||||||
case 'u':
|
case 'u':
|
||||||
conf->force_udev_rules = 1;
|
conf->force_udev_rules = 1;
|
||||||
|
23
0104-RHBZ-737989-systemd-unit-fix.patch
Normal file
23
0104-RHBZ-737989-systemd-unit-fix.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
---
|
||||||
|
multipathd/multipathd.service | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: multipath-tools/multipathd/multipathd.service
|
||||||
|
===================================================================
|
||||||
|
--- multipath-tools.orig/multipathd/multipathd.service
|
||||||
|
+++ multipath-tools/multipathd/multipathd.service
|
||||||
|
@@ -2,12 +2,13 @@
|
||||||
|
Description=Device-Mapper Multipath Device Controller
|
||||||
|
Before=iscsi.service iscsid.service
|
||||||
|
After=syslog.target
|
||||||
|
+ConditionPathExists=/etc/multipath.conf
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
PIDFile=/var/run/multipathd.pid
|
||||||
|
ExecStart=/sbin/multipathd
|
||||||
|
-ExecReload=/bin/kill -HUP $MAINPID
|
||||||
|
+ExecReload=/sbin/multipathd reconfigure
|
||||||
|
#ExecStop=/path/to/scrip delete-me if not necessary
|
||||||
|
|
||||||
|
[Install]
|
69
0105-fix-oom-adj.patch
Normal file
69
0105-fix-oom-adj.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
---
|
||||||
|
multipathd/main.c | 37 ++++++++++++++++++++++++++++---------
|
||||||
|
1 file changed, 28 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
Index: multipath-tools/multipathd/main.c
|
||||||
|
===================================================================
|
||||||
|
--- multipath-tools.orig/multipathd/main.c
|
||||||
|
+++ multipath-tools/multipathd/main.c
|
||||||
|
@@ -15,6 +15,7 @@
|
||||||
|
#include <sys/time.h>
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#include <limits.h>
|
||||||
|
+#include <linux/oom.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* libcheckers
|
||||||
|
@@ -1389,17 +1390,35 @@ setscheduler (void)
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
-set_oom_adj (int val)
|
||||||
|
+set_oom_adj (void)
|
||||||
|
{
|
||||||
|
+ int retry = 1;
|
||||||
|
+ char *file = "/proc/self/oom_score_adj";
|
||||||
|
+ int score = OOM_SCORE_ADJ_MIN;
|
||||||
|
FILE *fp;
|
||||||
|
+ struct stat st;
|
||||||
|
|
||||||
|
- fp = fopen("/proc/self/oom_adj", "w");
|
||||||
|
-
|
||||||
|
- if (!fp)
|
||||||
|
- return;
|
||||||
|
-
|
||||||
|
- fprintf(fp, "%i", val);
|
||||||
|
- fclose(fp);
|
||||||
|
+ do {
|
||||||
|
+ if (stat(file, &st) == 0){
|
||||||
|
+ fp = fopen(file, "w");
|
||||||
|
+ if (!fp) {
|
||||||
|
+ condlog(0, "couldn't fopen %s : %s", file,
|
||||||
|
+ strerror(errno));
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ fprintf(fp, "%i", score);
|
||||||
|
+ fclose(fp);
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ if (errno != ENOENT) {
|
||||||
|
+ condlog(0, "couldn't stat %s : %s", file,
|
||||||
|
+ strerror(errno));
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+ file = "/proc/self/oom_adj";
|
||||||
|
+ score = OOM_ADJUST_MIN;
|
||||||
|
+ } while (retry--);
|
||||||
|
+ condlog(0, "couldn't adjust oom score");
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
@@ -1489,7 +1508,7 @@ child (void * param)
|
||||||
|
}
|
||||||
|
signal_init();
|
||||||
|
setscheduler();
|
||||||
|
- set_oom_adj(-16);
|
||||||
|
+ set_oom_adj();
|
||||||
|
vecs = gvecs = init_vecs();
|
||||||
|
|
||||||
|
if (!vecs)
|
@ -1,7 +1,7 @@
|
|||||||
Summary: Tools to manage multipath devices using device-mapper
|
Summary: Tools to manage multipath devices using device-mapper
|
||||||
Name: device-mapper-multipath
|
Name: device-mapper-multipath
|
||||||
Version: 0.4.9
|
Version: 0.4.9
|
||||||
Release: 18%{?dist}
|
Release: 19%{?dist}
|
||||||
License: GPL+
|
License: GPL+
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
URL: http://christophe.varoqui.free.fr/
|
URL: http://christophe.varoqui.free.fr/
|
||||||
@ -115,6 +115,8 @@ Patch1100: 0100-RHBZ-710478-deprecate-uid-gid-mode.patch
|
|||||||
Patch1101: 0101-RHBZ-631009-disable-udev-disk-rules-on-reload.patch
|
Patch1101: 0101-RHBZ-631009-disable-udev-disk-rules-on-reload.patch
|
||||||
Patch1102: 0102-RHBZ-690828-systemd-unit-file.patch
|
Patch1102: 0102-RHBZ-690828-systemd-unit-file.patch
|
||||||
Patch1103: 0103-add-disable-sync-option.patch
|
Patch1103: 0103-add-disable-sync-option.patch
|
||||||
|
Patch1104: 0104-RHBZ-737989-systemd-unit-fix.patch
|
||||||
|
Patch1105: 0105-fix-oom-adj.patch
|
||||||
|
|
||||||
# runtime
|
# runtime
|
||||||
Requires: %{name}-libs = %{version}-%{release}
|
Requires: %{name}-libs = %{version}-%{release}
|
||||||
@ -272,6 +274,8 @@ kpartx manages partition creation and removal for device-mapper devices.
|
|||||||
%patch1101 -p1
|
%patch1101 -p1
|
||||||
%patch1102 -p1
|
%patch1102 -p1
|
||||||
%patch1103 -p1
|
%patch1103 -p1
|
||||||
|
%patch1104 -p1
|
||||||
|
%patch1105 -p1
|
||||||
cp %{SOURCE1} .
|
cp %{SOURCE1} .
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -361,6 +365,13 @@ bin/systemctl --no-reload enable multipathd.service >/dev/null 2>&1 ||:
|
|||||||
%{_mandir}/man8/kpartx.8.gz
|
%{_mandir}/man8/kpartx.8.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Sep 20 2011 Benjamin Marzinski <bmarzins@redhat.com> -0.4.9-19
|
||||||
|
- Modify 0103-add-disable-sync-option.patch
|
||||||
|
- Add 0104-RHBZ-737989-systemd-unit-fix.patch
|
||||||
|
* systemd will only start multipathd if /etc/multipath.conf exists
|
||||||
|
- Add 0105-fix-oom-adj.patch
|
||||||
|
* first try setting oom_score_adj
|
||||||
|
|
||||||
* Mon Aug 15 2011 Kalev Lember <kalevlember@gmail.com> - 0.4.9-18
|
* Mon Aug 15 2011 Kalev Lember <kalevlember@gmail.com> - 0.4.9-18
|
||||||
- Rebuilt for rpm bug #728707
|
- Rebuilt for rpm bug #728707
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user