qemu-devel
[Top][All Lists]
Advanced

[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;
>  }
>  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]