#include <errno.h>
#include <string.h>
#include <sys/mount.h>
+#include <linux/fs.h>
#include <mntent.h>
#include <getopt.h>
#include "obdctl.h"
{ "relatime", 0, MS_RELATIME }, /* set file access time on read */
{ "norelatime",1,MS_RELATIME }, /* do not set file access time on read */
#endif
+#ifdef MS_STRICTATIME
+ { "strictatime",0,MS_STRICTATIME }, /* update access time strictly */
+#endif
{ "auto", 0, 0 }, /* Can be mounted using -a */
{ "noauto", 0, 0 }, /* Can only be mounted explicitly */
{ "nousers", 1, 0 }, /* Forbid ordinary user to mount */
retry = 0;
} else if (val && strncmp(arg, "mgssec", 6) == 0) {
append_option(options, opt);
- } else if (strncmp(opt, "force", 5) == 0) {
+ } else if (strcmp(opt, "force") == 0) {
//XXX special check for 'force' option
++force;
printf("force: %d\n", force);
append_option(options, opt);
}
}
+#ifdef MS_STRICTATIME
+ /* set strictatime to default if NOATIME or RELATIME
+ not given explicit */
+ if (!(*flagp & (MS_NOATIME | MS_RELATIME)))
+ *flagp |= MS_STRICTATIME;
+#endif
strcpy(orig_options, options);
free(options);
return 0;
usource, target, strerror(errno));
if (errno == ENODEV)
fprintf(stderr, "Are the lustre modules loaded?\n"
- "Check /etc/modprobe.conf and /proc/filesystems"
- "\nNote 'alias lustre llite' should be removed"
- " from modprobe.conf\n");
+ "Check /etc/modprobe.conf and "
+ "/proc/filesystems\n");
if (errno == ENOTBLK)
fprintf(stderr, "Do you need -o loop?\n");
if (errno == ENOMEDIUM)