All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kurz <groug@kaod.org>
To: Will Cohen <wwcohen@gmail.com>
Cc: "Laurent Vivier" <lvivier@redhat.com>,
	"Thomas Huth" <thuth@redhat.com>,
	"Christian Schoenebeck" <qemu_oss@crudebyte.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	qemu-devel@nongnu.org, hi@alyssa.is,
	"Michael Roitzsch" <reactorcontrol@icloud.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Keno Fischer" <keno@juliacomputing.com>
Subject: Re: [PATCH v4 09/11] 9p: darwin: Implement compatibility for mknodat
Date: Mon, 7 Feb 2022 09:47:17 +0100	[thread overview]
Message-ID: <20220207094717.5f92da9d@bahia> (raw)
In-Reply-To: <CAB26zV1ZmpODTqv20Ae77+SWvG5Cf1GWdi7FuR_L_aWjFcgfnA@mail.gmail.com>

On Sun, 6 Feb 2022 20:10:23 -0500
Will Cohen <wwcohen@gmail.com> wrote:

> This patch set currently places it in 9p-util only because 9p is the only
> place where this issue seems to have come up so far and we were wary of
> editing files too far afield, but I have no attachment to its specific
> location!
> 

Inline comments are preferred on qemu-devel. Please don't top post !
This complicates the review a lot.

This is indeed a good candidate for osdep. This being said, unless there's
some other user in the QEMU code base, it is acceptable to leave it under
9pfs.

> On Sun, Feb 6, 2022 at 4:21 PM Philippe Mathieu-Daudé <f4bug@amsat.org>
> wrote:
> 
> > On 6/2/22 21:07, Will Cohen wrote:
> > > From: Keno Fischer <keno@juliacomputing.com>
> > >
> > > Darwin does not support mknodat. However, to avoid race conditions
> > > with later setting the permissions, we must avoid using mknod on
> > > the full path instead. We could try to fchdir, but that would cause
> > > problems if multiple threads try to call mknodat at the same time.
> > > However, luckily there is a solution: Darwin includes a function
> > > that sets the cwd for the current thread only.
> > > This should suffice to use mknod safely.
> > >
> > > This function (pthread_fchdir_np) is protected by a check in
> > > meson in a patch later in tihs series.
> > >
> > > Signed-off-by: Keno Fischer <keno@juliacomputing.com>
> > > Signed-off-by: Michael Roitzsch <reactorcontrol@icloud.com>
> > > [Will Cohen: - Adjust coding style
> > >               - Replace clang references with gcc
> > >               - Note radar filed with Apple for missing syscall
> > >               - Replace direct syscall with pthread_fchdir_np and
> > >                 adjust patch notes accordingly]
> > > Signed-off-by: Will Cohen <wwcohen@gmail.com>
> > > ---
> > >   hw/9pfs/9p-local.c       |  5 +++--
> > >   hw/9pfs/9p-util-darwin.c | 27 +++++++++++++++++++++++++++
> > >   hw/9pfs/9p-util-linux.c  |  5 +++++
> > >   hw/9pfs/9p-util.h        |  2 ++
> > >   4 files changed, 37 insertions(+), 2 deletions(-)
> >
> > > diff --git a/hw/9pfs/9p-util.h b/hw/9pfs/9p-util.h
> > > index 8e610ad224..f6fed963bf 100644
> > > --- a/hw/9pfs/9p-util.h
> > > +++ b/hw/9pfs/9p-util.h
> > > @@ -97,6 +97,8 @@ ssize_t flistxattrat_nofollow(int dirfd, const char
> > *filename,
> > >   ssize_t fremovexattrat_nofollow(int dirfd, const char *filename,
> > >                                   const char *name);
> > >
> > > +int qemu_mknodat(int dirfd, const char *filename, mode_t mode, dev_t
> > dev);
> >
> > I think this belong to "osdep.h" & os-posix.c.
> >



  reply	other threads:[~2022-02-07 10:11 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-06 20:07 [PATCH v4 00/11] 9p: Add support for darwin Will Cohen
2022-02-06 20:07 ` [PATCH v4 01/11] 9p: linux: Fix a couple Linux assumptions Will Cohen
2022-02-06 21:15   ` Philippe Mathieu-Daudé via
2022-02-07  8:03   ` Greg Kurz
2022-02-06 20:07 ` [PATCH v4 02/11] 9p: Rename 9p-util -> 9p-util-linux Will Cohen
2022-02-06 21:16   ` Philippe Mathieu-Daudé via
2022-02-06 20:07 ` [PATCH v4 03/11] 9p: darwin: Handle struct stat(fs) differences Will Cohen
2022-02-06 20:07 ` [PATCH v4 04/11] 9p: darwin: Handle struct dirent differences Will Cohen
2022-02-07  9:53   ` Fabian Franz
2022-02-07 13:52     ` Will Cohen
2022-02-07 17:05       ` Christian Schoenebeck
2022-02-07 14:41   ` Christian Schoenebeck
2022-02-07 16:41     ` Will Cohen
2022-02-06 20:07 ` [PATCH v4 05/11] 9p: darwin: Ignore O_{NOATIME, DIRECT} Will Cohen
2022-02-06 20:07 ` [PATCH v4 06/11] 9p: darwin: Move XATTR_SIZE_MAX->P9_XATTR_SIZE_MAX Will Cohen
2022-02-06 20:07 ` [PATCH v4 07/11] 9p: darwin: *xattr_nofollow implementations Will Cohen
2022-02-06 20:07 ` [PATCH v4 08/11] 9p: darwin: Compatibility for f/l*xattr Will Cohen
2022-02-06 20:07 ` [PATCH v4 09/11] 9p: darwin: Implement compatibility for mknodat Will Cohen
2022-02-06 21:20   ` Philippe Mathieu-Daudé via
2022-02-07  1:10     ` Will Cohen
2022-02-07  8:47       ` Greg Kurz [this message]
2022-02-07 10:30         ` Philippe Mathieu-Daudé via
2022-02-07 10:49           ` Greg Kurz
2022-02-07 10:57             ` Dr. David Alan Gilbert
2022-02-07 14:21               ` Christian Schoenebeck
2022-02-07 21:07                 ` Will Cohen
2022-02-07 22:37                   ` Will Cohen
2022-02-07 22:47                   ` Christian Schoenebeck
2022-02-07 22:55                     ` Will Cohen
2022-02-07 15:52             ` Vivek Goyal
2022-02-06 20:07 ` [PATCH v4 10/11] 9p: darwin: meson: Allow VirtFS on Darwin Will Cohen
2022-02-06 21:22   ` Philippe Mathieu-Daudé via
2022-02-07  1:05     ` Will Cohen
2022-02-07 14:15       ` Christian Schoenebeck
2022-02-07 14:18         ` Will Cohen
2022-02-07 14:39         ` Greg Kurz
2022-02-07 16:04           ` Christian Schoenebeck
2022-02-07 14:27   ` Christian Schoenebeck
2022-02-07 14:37     ` Will Cohen
2022-02-07 15:38       ` Christian Schoenebeck
2022-02-06 20:07 ` [PATCH v4 11/11] 9p: darwin: Adjust assumption on virtio-9p-test Will Cohen
2022-02-07  6:15   ` Thomas Huth
2022-02-07 14:47 ` [PATCH v4 00/11] 9p: Add support for darwin Christian Schoenebeck
2022-02-07 14:56   ` Will Cohen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220207094717.5f92da9d@bahia \
    --to=groug@kaod.org \
    --cc=f4bug@amsat.org \
    --cc=hi@alyssa.is \
    --cc=keno@juliacomputing.com \
    --cc=lvivier@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu_oss@crudebyte.com \
    --cc=reactorcontrol@icloud.com \
    --cc=thuth@redhat.com \
    --cc=wwcohen@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.