Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1946283
Signed-off-by: Thiago Becker <[email protected]>
---
tools/nfsrahead/main.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/tools/nfsrahead/main.c b/tools/nfsrahead/main.c
index 86c71a67..bead9f5c 100644
--- a/tools/nfsrahead/main.c
+++ b/tools/nfsrahead/main.c
@@ -8,12 +8,14 @@
#include <sys/sysmacros.h>
#include "xlog.h"
+#include "conffile.h"
#ifndef MOUNTINFO_PATH
#define MOUNTINFO_PATH "/proc/self/mountinfo"
#endif
#define CONF_NAME "nfsrahead"
+#define NFS_DEFAULT_READAHEAD 128
/* Device information from the system */
struct device_info {
@@ -113,6 +115,14 @@ static int get_device_info(const char *device_number, struct device_info *device
return ret;
}
+static int conf_get_readahead(const char *kind) {
+ int readahead = 0;
+
+ if((readahead = conf_get_num(CONF_NAME, kind, -1)) == -1)
+ readahead = conf_get_num(CONF_NAME, "default", NFS_DEFAULT_READAHEAD);
+
+ return readahead;
+}
#define L_DEFAULT (L_WARNING | L_ERROR | L_FATAL)
int main(int argc, char **argv, char **envp)
@@ -133,6 +143,8 @@ int main(int argc, char **argv, char **envp)
}
}
+ conf_init_file(NFS_CONFFILE);
+
xlog_stderr(log_stderr);
xlog_syslog(~log_stderr);
xlog_config(L_DEFAULT | (L_NOTICE & verbose), 1);
@@ -155,6 +167,8 @@ int main(int argc, char **argv, char **envp)
goto out;
}
+ readahead = conf_get_readahead(device.fstype);
+
xlog(L_WARNING, "setting %s readahead to %d\n", device.mountpoint, readahead);
printf("%d\n", readahead);
--
2.35.1