From e63d3f741f6c64d22e090bb6f9bc7f990d1796ce Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 2 Jul 2010 07:49:23 -0700 Subject: [PATCH] mount.ceph: add mount options/flags noatime, nodiratime, relatime. Some cleanup. Signed-off-by: Sage Weil --- src/mount/mount.ceph.c | 37 +++++++++++++++++++++++++------------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/src/mount/mount.ceph.c b/src/mount/mount.ceph.c index 07b0e12f8f6a1..96d6e5cd57840 100644 --- a/src/mount/mount.ceph.c +++ b/src/mount/mount.ceph.c @@ -5,6 +5,10 @@ #include #include +#ifndef MS_RELATIME +# define MS_RELATIME (1<<21) +#endif + #define BUF_SIZE 128 int verboseflag = 0; @@ -177,29 +181,38 @@ static int parse_options(char ** optionsp, int * filesys_flags) skip = 1; - if (strncmp(data, "nosuid", 6) == 0) { + if (strncmp(data, "ro", 2) == 0) { + *filesys_flags |= MS_RDONLY; + } else if (strncmp(data, "rw", 2) == 0) { + *filesys_flags &= ~MS_RDONLY; + } else if (strncmp(data, "nosuid", 6) == 0) { *filesys_flags |= MS_NOSUID; } else if (strncmp(data, "suid", 4) == 0) { *filesys_flags &= ~MS_NOSUID; - } else if (strncmp(data, "nodev", 5) == 0) { - *filesys_flags |= MS_NODEV; - } else if ((strncmp(data, "nobrl", 5) == 0) || - (strncmp(data, "nolock", 6) == 0)) { - *filesys_flags &= ~MS_MANDLOCK; } else if (strncmp(data, "dev", 3) == 0) { *filesys_flags &= ~MS_NODEV; + } else if (strncmp(data, "nodev", 5) == 0) { + *filesys_flags |= MS_NODEV; } else if (strncmp(data, "noexec", 6) == 0) { *filesys_flags |= MS_NOEXEC; } else if (strncmp(data, "exec", 4) == 0) { *filesys_flags &= ~MS_NOEXEC; - } else if (strncmp(data, "ro", 2) == 0) { - *filesys_flags |= MS_RDONLY; - } else if (strncmp(data, "rw", 2) == 0) { - *filesys_flags &= ~MS_RDONLY; - } else if (strncmp(data, "remount", 7) == 0) { - *filesys_flags |= MS_REMOUNT; } else if (strncmp(data, "sync", 4) == 0) { *filesys_flags |= MS_SYNCHRONOUS; + } else if (strncmp(data, "remount", 7) == 0) { + *filesys_flags |= MS_REMOUNT; + } else if (strncmp(data, "mandlock", 8) == 0) { + *filesys_flags |= MS_MANDLOCK; + } else if ((strncmp(data, "nobrl", 5) == 0) || + (strncmp(data, "nolock", 6) == 0)) { + *filesys_flags &= ~MS_MANDLOCK; + } else if (strncmp(data, "noatime", 7) == 0) { + *filesys_flags |= MS_NOATIME; + } else if (strncmp(data, "nodiratime", 10) == 0) { + *filesys_flags |= MS_NODIRATIME; + } else if (strncmp(data, "relatime", 8) == 0) { + *filesys_flags |= MS_RELATIME; + } else if (strncmp(data, "secretfile", 7) == 0) { char *fn = value; char *end = fn; -- 2.39.5