[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 08/13] 9p: darwin: Ignore O_{NOATIME, DIRECT}
From: |
Greg Kurz |
Subject: |
Re: [Qemu-devel] [PATCH 08/13] 9p: darwin: Ignore O_{NOATIME, DIRECT} |
Date: |
Tue, 29 May 2018 23:32:05 +0200 |
On Sat, 26 May 2018 01:23:10 -0400
address@hidden wrote:
> 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},
Please don't kill the spaces.
> +#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
But are these semantics worse than dumping the flag ?
> + even on linux at the moment, so we just ignore
> + it here. */
Yeah, and I doubt we'll ever support it on linux either. But,
anyway, why filter these out ? Do they cause a build break ?
> + {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;
> }
>
- Re: [Qemu-devel] [PATCH 06/13] 9p: darwin: Address minor 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, 2018/05/26
- Re: [Qemu-devel] [PATCH 08/13] 9p: darwin: Ignore O_{NOATIME, DIRECT},
Greg Kurz <=
[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