[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 08/13] 9p: darwin: Ignore O_{NOATIME, DIRECT}
From: |
keno |
Subject: |
[Qemu-devel] [PATCH 08/13] 9p: darwin: Ignore O_{NOATIME, DIRECT} |
Date: |
Sat, 26 May 2018 01:23:10 -0400 |
From: Keno Fischer <address@hidden>
Signed-off-by: Keno Fischer <address@hidden>
---
hw/9pfs/9p.c | 37 +++++++++++++++++++++++--------------
1 file changed, 23 insertions(+), 14 deletions(-)
diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
index 49654ae..f5f00aa 100644
--- a/hw/9pfs/9p.c
+++ b/hw/9pfs/9p.c
@@ -115,20 +115,27 @@ static int dotl_to_open_flags(int flags)
int oflags = flags & O_ACCMODE;
DotlOpenflagMap dotl_oflag_map[] = {
- { P9_DOTL_CREATE, O_CREAT },
- { P9_DOTL_EXCL, O_EXCL },
- { P9_DOTL_NOCTTY , O_NOCTTY },
- { P9_DOTL_TRUNC, O_TRUNC },
- { P9_DOTL_APPEND, O_APPEND },
- { P9_DOTL_NONBLOCK, O_NONBLOCK } ,
- { P9_DOTL_DSYNC, O_DSYNC },
- { P9_DOTL_FASYNC, FASYNC },
- { P9_DOTL_DIRECT, O_DIRECT },
- { P9_DOTL_LARGEFILE, O_LARGEFILE },
- { P9_DOTL_DIRECTORY, O_DIRECTORY },
- { P9_DOTL_NOFOLLOW, O_NOFOLLOW },
- { P9_DOTL_NOATIME, O_NOATIME },
- { P9_DOTL_SYNC, O_SYNC },
+ {P9_DOTL_CREATE, O_CREAT},
+ {P9_DOTL_EXCL, O_EXCL},
+ {P9_DOTL_NOCTTY, O_NOCTTY},
+ {P9_DOTL_TRUNC, O_TRUNC},
+ {P9_DOTL_APPEND, O_APPEND},
+ {P9_DOTL_NONBLOCK, O_NONBLOCK},
+ {P9_DOTL_DSYNC, O_DSYNC},
+ {P9_DOTL_FASYNC, FASYNC},
+#ifndef CONFIG_DARWIN
+ {P9_DOTL_NOATIME, O_NOATIME},
+ /* On Darwin, we could map to F_NOCACHE, which is
+ similar, but doesn't quite have the same
+ semantics. However, we don't support O_DIRECT
+ even on linux at the moment, so we just ignore
+ it here. */
+ {P9_DOTL_DIRECT, O_DIRECT},
+#endif
+ {P9_DOTL_LARGEFILE, O_LARGEFILE},
+ {P9_DOTL_DIRECTORY, O_DIRECTORY},
+ {P9_DOTL_NOFOLLOW, O_NOFOLLOW},
+ {P9_DOTL_SYNC, O_SYNC},
};
for (i = 0; i < ARRAY_SIZE(dotl_oflag_map); i++) {
@@ -156,10 +163,12 @@ static int get_dotl_openflags(V9fsState *s, int oflags)
*/
flags = dotl_to_open_flags(oflags);
flags &= ~(O_NOCTTY | O_ASYNC | O_CREAT);
+#ifndef CONFIG_DARWIN
/*
* Ignore direct disk access hint until the server supports it.
*/
flags &= ~O_DIRECT;
+#endif
return flags;
}
--
2.8.1
- Re: [Qemu-devel] [PATCH 05/13] 9p: darwin: Handle struct dirent differences, (continued)
[Qemu-devel] [PATCH 07/13] 9p: darwin: Properly translate AT_REMOVEDIR flag, keno, 2018/05/26
[Qemu-devel] [PATCH 08/13] 9p: darwin: Ignore O_{NOATIME, DIRECT},
keno <=
[Qemu-devel] [PATCH 09/13] 9p: darwin: Provide a compatibility definition for XATTR_SIZE_MAX, keno, 2018/05/26
[Qemu-devel] [PATCH 10/13] 9p: darwin: *xattr_nofollow implementations, keno, 2018/05/26
[Qemu-devel] [PATCH 11/13] 9p: darwin: Mark mknod as unsupported, keno, 2018/05/26