diff options
author | Oleksandr Natalenko <onatalen@redhat.com> | 2016-09-28 14:29:23 +0200 |
---|---|---|
committer | Kaleb KEITHLEY <kkeithle@redhat.com> | 2016-10-11 05:18:05 -0700 |
commit | de07155bfae3c5846797cbb19ee044751cbe6f6e (patch) | |
tree | d0e8459bbed4cac48859e8af9f74c8d26fd3ba8b /libglusterfs/src | |
parent | 0fed7e7f0aad9973900c89434f736797d9ace2bd (diff) |
glusterfsd/main: fix OOM adjustment for older kernels
Milind Changire reported that GlusterFS fails to build on RHEL5
because linux/oom.h is unavailable.
Milind's initial patch disables OOM adjustment completely
for those environments that do not have this header. However,
I'd take another approach that:
1) checks for linux/oom.h in compile-time and defines necessary
constants if the header is not present;
2) checks for available OOM API in /proc in run-time and uses it
accordingly.
This allows OOM to be adjusted properly on RHEL5 (the kernel is pretty new
to present /proc API for that) as well as RHEL6 (the kernel has many thing
backported including new /proc API).
Change-Id: I1bc610586872d208430575c149a7d0c54bd82370
BUG: 1379769
Signed-off-by: Oleksandr Natalenko <onatalen@redhat.com>
Reviewed-on: http://review.gluster.org/15587
Tested-by: Oleksandr Natalenko <oleksandr@natalenko.name>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'libglusterfs/src')
-rw-r--r-- | libglusterfs/src/glusterfs.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/libglusterfs/src/glusterfs.h b/libglusterfs/src/glusterfs.h index 5777974676f..24b8065b66d 100644 --- a/libglusterfs/src/glusterfs.h +++ b/libglusterfs/src/glusterfs.h @@ -350,7 +350,6 @@ struct _cmd_args { int acl; int selinux; int capability; - char *oom_score_adj; int enable_ino32; int worm; int mac_compat; @@ -396,6 +395,11 @@ struct _cmd_args { /* Should management connections use SSL? */ int secure_mgmt; + + /* Linux-only OOM killer adjustment */ +#ifdef GF_LINUX_HOST_OS + char *oom_score_adj; +#endif }; typedef struct _cmd_args cmd_args_t; |