mbox series

[v4,00/11] 9p: Add support for darwin

Message ID 20220206200719.74464-1-wwcohen@gmail.com (mailing list archive)
Headers show
Series 9p: Add support for darwin | expand

Message

Will Cohen Feb. 6, 2022, 8:07 p.m. UTC
This is a followup to https://lists.nongnu.org/archive/html/qemu-devel/2022-01/msg05993.html,
adding 9p server support for Darwin.

Since v3, the following changes have been made:

- Move XATTR_SIZE_MAX to P9_XATTR_SIZE MAX in 9p.h, and provide explanatory context as preliminary solution
- Add explanatory note surrounding virtio-9p-test with output of pre-patch failing test
- Remove superfluous header guards from file-opt-9p
- Add note about virtfs-proxy-helper being disabled on non-linux for this patch series
- Note radar filed with Apple for missing mknodat syscall
- Replace direct syscall to pthread_fchdir with pthread_fchdir_np, and add check for this function’s presence in meson
- Ensure that d_seekoff is filled using telldir on darwin, and create qemu_dirent_off helper to decide which to access.
- Ensure that [amc]tim.tv_sec are all initialized alongside [amc]tim.tv_nsec in 9p-proxy
- Ensure that all patch email addresses are valid
- Add telldir error handling for dirent on darwin

Keno Fischer (10):
  9p: linux: Fix a couple Linux assumptions
  9p: Rename 9p-util -> 9p-util-linux
  9p: darwin: Handle struct stat(fs) differences
  9p: darwin: Handle struct dirent differences
  9p: darwin: Ignore O_{NOATIME, DIRECT}
  9p: darwin: Move XATTR_SIZE_MAX->P9_XATTR_SIZE_MAX
  9p: darwin: *xattr_nofollow implementations
  9p: darwin: Compatibility for f/l*xattr
  9p: darwin: Implement compatibility for mknodat
  9p: darwin: meson: Allow VirtFS on Darwin

Will Cohen (1):
  9p: darwin: Adjust assumption on virtio-9p-test

 fsdev/file-op-9p.h                     |  9 ++-
 fsdev/meson.build                      |  1 +
 hw/9pfs/9p-local.c                     | 28 ++++++--
 hw/9pfs/9p-proxy.c                     | 38 ++++++++++-
 hw/9pfs/9p-synth.c                     |  6 ++
 hw/9pfs/9p-util-darwin.c               | 91 ++++++++++++++++++++++++++
 hw/9pfs/{9p-util.c => 9p-util-linux.c} |  7 +-
 hw/9pfs/9p-util.h                      | 38 +++++++++++
 hw/9pfs/9p.c                           | 50 ++++++++++++--
 hw/9pfs/9p.h                           | 11 ++++
 hw/9pfs/codir.c                        |  7 ++
 hw/9pfs/meson.build                    |  3 +-
 include/qemu/xattr.h                   |  4 +-
 meson.build                            | 14 ++--
 tests/qtest/virtio-9p-test.c           |  2 +-
 15 files changed, 285 insertions(+), 24 deletions(-)
 create mode 100644 hw/9pfs/9p-util-darwin.c
 rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (90%)

Comments

Christian Schoenebeck Feb. 7, 2022, 2:47 p.m. UTC | #1
On Sonntag, 6. Februar 2022 21:07:08 CET Will Cohen wrote:
> This is a followup to
> https://lists.nongnu.org/archive/html/qemu-devel/2022-01/msg05993.html,
> adding 9p server support for Darwin.
> 
> Since v3, the following changes have been made:
> 
> - Move XATTR_SIZE_MAX to P9_XATTR_SIZE MAX in 9p.h, and provide explanatory
> context as preliminary solution - Add explanatory note surrounding
> virtio-9p-test with output of pre-patch failing test - Remove superfluous
> header guards from file-opt-9p
> - Add note about virtfs-proxy-helper being disabled on non-linux for this
> patch series - Note radar filed with Apple for missing mknodat syscall
> - Replace direct syscall to pthread_fchdir with pthread_fchdir_np, and add
> check for this function’s presence in meson - Ensure that d_seekoff is
> filled using telldir on darwin, and create qemu_dirent_off helper to decide
> which to access. - Ensure that [amc]tim.tv_sec are all initialized
> alongside [amc]tim.tv_nsec in 9p-proxy - Ensure that all patch email
> addresses are valid
> - Add telldir error handling for dirent on darwin

As this series already has seen some revisions and is on a good way to become 
queued soon: it is helpful to immediately see here which patches exactly got 
changed, because some of the patches already look fine.

For already reviewed patches that you won't change: you can take over people's 
reviewed-by tags in the next revision.

Best regards,
Christian Schoenebeck

> Keno Fischer (10):
>   9p: linux: Fix a couple Linux assumptions
>   9p: Rename 9p-util -> 9p-util-linux
>   9p: darwin: Handle struct stat(fs) differences
>   9p: darwin: Handle struct dirent differences
>   9p: darwin: Ignore O_{NOATIME, DIRECT}
>   9p: darwin: Move XATTR_SIZE_MAX->P9_XATTR_SIZE_MAX
>   9p: darwin: *xattr_nofollow implementations
>   9p: darwin: Compatibility for f/l*xattr
>   9p: darwin: Implement compatibility for mknodat
>   9p: darwin: meson: Allow VirtFS on Darwin
> 
> Will Cohen (1):
>   9p: darwin: Adjust assumption on virtio-9p-test
> 
>  fsdev/file-op-9p.h                     |  9 ++-
>  fsdev/meson.build                      |  1 +
>  hw/9pfs/9p-local.c                     | 28 ++++++--
>  hw/9pfs/9p-proxy.c                     | 38 ++++++++++-
>  hw/9pfs/9p-synth.c                     |  6 ++
>  hw/9pfs/9p-util-darwin.c               | 91 ++++++++++++++++++++++++++
>  hw/9pfs/{9p-util.c => 9p-util-linux.c} |  7 +-
>  hw/9pfs/9p-util.h                      | 38 +++++++++++
>  hw/9pfs/9p.c                           | 50 ++++++++++++--
>  hw/9pfs/9p.h                           | 11 ++++
>  hw/9pfs/codir.c                        |  7 ++
>  hw/9pfs/meson.build                    |  3 +-
>  include/qemu/xattr.h                   |  4 +-
>  meson.build                            | 14 ++--
>  tests/qtest/virtio-9p-test.c           |  2 +-
>  15 files changed, 285 insertions(+), 24 deletions(-)
>  create mode 100644 hw/9pfs/9p-util-darwin.c
>  rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (90%)
Will Cohen Feb. 7, 2022, 2:56 p.m. UTC | #2
On Mon, Feb 7, 2022 at 9:47 AM Christian Schoenebeck <qemu_oss@crudebyte.com>
wrote:

> On Sonntag, 6. Februar 2022 21:07:08 CET Will Cohen wrote:
> > This is a followup to
> > https://lists.nongnu.org/archive/html/qemu-devel/2022-01/msg05993.html,
> > adding 9p server support for Darwin.
> >
> > Since v3, the following changes have been made:
> >
> > - Move XATTR_SIZE_MAX to P9_XATTR_SIZE MAX in 9p.h, and provide
> explanatory
> > context as preliminary solution - Add explanatory note surrounding
> > virtio-9p-test with output of pre-patch failing test - Remove superfluous
> > header guards from file-opt-9p
> > - Add note about virtfs-proxy-helper being disabled on non-linux for this
> > patch series - Note radar filed with Apple for missing mknodat syscall
> > - Replace direct syscall to pthread_fchdir with pthread_fchdir_np, and
> add
> > check for this function’s presence in meson - Ensure that d_seekoff is
> > filled using telldir on darwin, and create qemu_dirent_off helper to
> decide
> > which to access. - Ensure that [amc]tim.tv_sec are all initialized
> > alongside [amc]tim.tv_nsec in 9p-proxy - Ensure that all patch email
> > addresses are valid
> > - Add telldir error handling for dirent on darwin
>
> As this series already has seen some revisions and is on a good way to
> become
> queued soon: it is helpful to immediately see here which patches exactly
> got
> changed, because some of the patches already look fine.
>
> For already reviewed patches that you won't change: you can take over
> people's
> reviewed-by tags in the next revision.
>
> Best regards,
> Christian Schoenebeck
>
> > Keno Fischer (10):
> >   9p: linux: Fix a couple Linux assumptions
> >   9p: Rename 9p-util -> 9p-util-linux
> >   9p: darwin: Handle struct stat(fs) differences
> >   9p: darwin: Handle struct dirent differences
> >   9p: darwin: Ignore O_{NOATIME, DIRECT}
> >   9p: darwin: Move XATTR_SIZE_MAX->P9_XATTR_SIZE_MAX
> >   9p: darwin: *xattr_nofollow implementations
> >   9p: darwin: Compatibility for f/l*xattr
> >   9p: darwin: Implement compatibility for mknodat
> >   9p: darwin: meson: Allow VirtFS on Darwin
> >
> > Will Cohen (1):
> >   9p: darwin: Adjust assumption on virtio-9p-test
> >
> >  fsdev/file-op-9p.h                     |  9 ++-
> >  fsdev/meson.build                      |  1 +
> >  hw/9pfs/9p-local.c                     | 28 ++++++--
> >  hw/9pfs/9p-proxy.c                     | 38 ++++++++++-
> >  hw/9pfs/9p-synth.c                     |  6 ++
> >  hw/9pfs/9p-util-darwin.c               | 91 ++++++++++++++++++++++++++
> >  hw/9pfs/{9p-util.c => 9p-util-linux.c} |  7 +-
> >  hw/9pfs/9p-util.h                      | 38 +++++++++++
> >  hw/9pfs/9p.c                           | 50 ++++++++++++--
> >  hw/9pfs/9p.h                           | 11 ++++
> >  hw/9pfs/codir.c                        |  7 ++
> >  hw/9pfs/meson.build                    |  3 +-
> >  include/qemu/xattr.h                   |  4 +-
> >  meson.build                            | 14 ++--
> >  tests/qtest/virtio-9p-test.c           |  2 +-
> >  15 files changed, 285 insertions(+), 24 deletions(-)
> >  create mode 100644 hw/9pfs/9p-util-darwin.c
> >  rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (90%)
>
>
Understood! Previous reviewed-by tags are already in v4, and these new ones
will go into v5!

For reference in terms of changes, patches that were touched in v4:

Keno Fischer (10):
9p: linux: Fix a couple Linux assumptions (1/11)
9p: darwin: Handle struct stat(fs) differences (3/11)
9p: darwin: Handle struct dirent differences (4/11)
9p: darwin: Move XATTR_SIZE_MAX->P9_XATTR_SIZE_MAX (5/11)
9p: darwin: Implement compatibility for mknodat (9/11)
9p: darwin: meson: Allow VirtFS on Darwin (10/11)

Will Cohen (1):
9p: darwin: Adjust assumption on virtio-9p-test (11/11)

Additional changes to patches will be highlighted in the opening note for
v5.