2022-03-24 10:06:20

by Thiago Becker

[permalink] [raw]
Subject: [PATCH RFC v3 5/6] hfsrahead: get the information from the config file.

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