nfsumount.c \
mount_constants.h error.h network.h fstab.h token.h \
parse_opt.h parse_dev.h \
- nfs4_mount.h nfs_mount4.h stropts.h version.h
+ nfs4_mount.h nfs_mount4.h stropts.h version.h \
+ mount_config.h
if MOUNT_CONFIG
mount_nfs_SOURCES += configfile.c
#include "xcommon.h"
#include "nls.h"
#include "mount_constants.h"
+#include "mount_config.h"
#include "nfs_paths.h"
#include "nfs_mntent.h"
spec = argv[1];
mount_point = argv[2];
+ mount_config_init();
+
argv[2] = argv[0]; /* so that getopt error messages are correct */
while ((c = getopt_long(argc - 2, argv + 2, "rvVwfno:hs",
longopts, NULL)) != -1) {
mnt_err = EX_USAGE;
goto out;
}
+ /*
+ * Concatenate mount options from the configuration file
+ */
+ mount_opts = mount_config_opts(spec, mount_point, mount_opts);
parse_opts(mount_opts, &flags, &extra_opts);
--- /dev/null
+#ifndef _LINUX_MOUNT__CONFIG_H
+#define _LINUX_MOUNT_CONFIG__H
+/*
+ * mount_config.h -- mount configuration file routines
+ * Copyright (C) 2008 Red Hat, Inc <nfs@redhat.com>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ */
+
+inline void mount_config_init(void);
+
+#ifdef MOUNT_CONFIG
+#include "conffile.h"
+extern char *conf_get_mntopts(char *, char *, char *);
+
+inline void mount_config_init()
+{
+ /*
+ * Read the the default mount options
+ */
+ conf_init();
+}
+inline char *mount_config_opts(char *spec,
+ char *mount_point, char *mount_opts)
+{
+ return conf_get_mntopts(spec, mount_point, mount_opts);
+}
+#else /* MOUNT_CONFIG */
+
+inline void mount_config_init() { }
+
+inline char *mount_config_opts(char *spec,
+ char *mount_point, char *mount_opts)
+{
+ return mount_opts;
+}
+#endif /* MOUNT_CONFIG */
+#endif