mbox series

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

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

Message

Will Cohen Feb. 27, 2022, 10:35 p.m. UTC
This is a followup to https://lists.gnu.org/archive/html/qemu-devel/2022-02/msg04391.html,
adding 9p server support for Darwin.

Since v8, the following changes have been made:

Patch 4/11 (9p: darwin: Handle struct dirent differences)
- Declare qemu_dirent_off as static to prevent linker error
- Move qemu_dirent_off above the end-of-file endif to fix compilation

Patch 9/11 (9p: darwin: Implement compatibility for mknodat)
- Fix line over 90 characters formatting error
- Move qemu_mknodat back from osdep to 9p-util and adjust patch notes accordingly

Patch 11/11 (9p: darwin: meson: Allow VirtFS on Darwin)
- Rebase to master

With these changes, this patch set builds and passes 9p synth tests on both linux and 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                     | 27 +++++--
 hw/9pfs/9p-proxy.c                     | 38 +++++++++-
 hw/9pfs/9p-synth.c                     |  6 ++
 hw/9pfs/9p-util-darwin.c               | 97 ++++++++++++++++++++++++++
 hw/9pfs/{9p-util.c => 9p-util-linux.c} |  8 ++-
 hw/9pfs/9p-util.h                      | 46 ++++++++++++
 hw/9pfs/9p.c                           | 42 +++++++++--
 hw/9pfs/9p.h                           | 18 +++++
 hw/9pfs/codir.c                        |  4 +-
 hw/9pfs/meson.build                    |  3 +-
 include/qemu/xattr.h                   |  4 +-
 meson.build                            | 13 ++--
 tests/qtest/virtio-9p-test.c           |  2 +-
 15 files changed, 292 insertions(+), 26 deletions(-)
 create mode 100644 hw/9pfs/9p-util-darwin.c
 rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (90%)

Comments

Christian Schoenebeck March 1, 2022, 7:25 p.m. UTC | #1
On Sonntag, 27. Februar 2022 23:35:11 CET Will Cohen wrote:
> This is a followup to
> https://lists.gnu.org/archive/html/qemu-devel/2022-02/msg04391.html, adding
> 9p server support for Darwin.
> 
> Since v8, the following changes have been made:
> 
> Patch 4/11 (9p: darwin: Handle struct dirent differences)
> - Declare qemu_dirent_off as static to prevent linker error
> - Move qemu_dirent_off above the end-of-file endif to fix compilation
> 
> Patch 9/11 (9p: darwin: Implement compatibility for mknodat)
> - Fix line over 90 characters formatting error
> - Move qemu_mknodat back from osdep to 9p-util and adjust patch notes
> accordingly
> 
> Patch 11/11 (9p: darwin: meson: Allow VirtFS on Darwin)
> - Rebase to master
> 
> With these changes, this patch set builds and passes 9p synth tests on both
> linux and 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                     | 27 +++++--
>  hw/9pfs/9p-proxy.c                     | 38 +++++++++-
>  hw/9pfs/9p-synth.c                     |  6 ++
>  hw/9pfs/9p-util-darwin.c               | 97 ++++++++++++++++++++++++++
>  hw/9pfs/{9p-util.c => 9p-util-linux.c} |  8 ++-
>  hw/9pfs/9p-util.h                      | 46 ++++++++++++
>  hw/9pfs/9p.c                           | 42 +++++++++--
>  hw/9pfs/9p.h                           | 18 +++++
>  hw/9pfs/codir.c                        |  4 +-
>  hw/9pfs/meson.build                    |  3 +-
>  include/qemu/xattr.h                   |  4 +-
>  meson.build                            | 13 ++--
>  tests/qtest/virtio-9p-test.c           |  2 +-
>  15 files changed, 292 insertions(+), 26 deletions(-)
>  create mode 100644 hw/9pfs/9p-util-darwin.c
>  rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (90%)

Queued on 9p.next:
https://github.com/cschoenebeck/qemu/commits/9p.next

Thanks!

Best regards,
Christian Schoenebeck
Will Cohen March 1, 2022, 8:09 p.m. UTC | #2
On Tue, Mar 1, 2022 at 2:25 PM Christian Schoenebeck <qemu_oss@crudebyte.com>
wrote:

> On Sonntag, 27. Februar 2022 23:35:11 CET Will Cohen wrote:
> > This is a followup to
> > https://lists.gnu.org/archive/html/qemu-devel/2022-02/msg04391.html,
> adding
> > 9p server support for Darwin.
> >
> > Since v8, the following changes have been made:
> >
> > Patch 4/11 (9p: darwin: Handle struct dirent differences)
> > - Declare qemu_dirent_off as static to prevent linker error
> > - Move qemu_dirent_off above the end-of-file endif to fix compilation
> >
> > Patch 9/11 (9p: darwin: Implement compatibility for mknodat)
> > - Fix line over 90 characters formatting error
> > - Move qemu_mknodat back from osdep to 9p-util and adjust patch notes
> > accordingly
> >
> > Patch 11/11 (9p: darwin: meson: Allow VirtFS on Darwin)
> > - Rebase to master
> >
> > With these changes, this patch set builds and passes 9p synth tests on
> both
> > linux and 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                     | 27 +++++--
> >  hw/9pfs/9p-proxy.c                     | 38 +++++++++-
> >  hw/9pfs/9p-synth.c                     |  6 ++
> >  hw/9pfs/9p-util-darwin.c               | 97 ++++++++++++++++++++++++++
> >  hw/9pfs/{9p-util.c => 9p-util-linux.c} |  8 ++-
> >  hw/9pfs/9p-util.h                      | 46 ++++++++++++
> >  hw/9pfs/9p.c                           | 42 +++++++++--
> >  hw/9pfs/9p.h                           | 18 +++++
> >  hw/9pfs/codir.c                        |  4 +-
> >  hw/9pfs/meson.build                    |  3 +-
> >  include/qemu/xattr.h                   |  4 +-
> >  meson.build                            | 13 ++--
> >  tests/qtest/virtio-9p-test.c           |  2 +-
> >  15 files changed, 292 insertions(+), 26 deletions(-)
> >  create mode 100644 hw/9pfs/9p-util-darwin.c
> >  rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (90%)
>
> Queued on 9p.next:
> https://github.com/cschoenebeck/qemu/commits/9p.next
>
> Thanks!
>
>
This is very exciting. Many, many thanks for helping guide this through the
process!


> Best regards,
> Christian Schoenebeck
>
>
>
Christian Schoenebeck March 2, 2022, 6:15 p.m. UTC | #3
On Dienstag, 1. März 2022 21:09:27 CET Will Cohen wrote:
> On Tue, Mar 1, 2022 at 2:25 PM Christian Schoenebeck
> <qemu_oss@crudebyte.com>
> wrote:
> > On Sonntag, 27. Februar 2022 23:35:11 CET Will Cohen wrote:
> > > This is a followup to
> > > https://lists.gnu.org/archive/html/qemu-devel/2022-02/msg04391.html,
> > 
> > adding
> > 
> > > 9p server support for Darwin.
> > > 
> > > Since v8, the following changes have been made:
> > > 
> > > Patch 4/11 (9p: darwin: Handle struct dirent differences)
> > > - Declare qemu_dirent_off as static to prevent linker error
> > > - Move qemu_dirent_off above the end-of-file endif to fix compilation
> > > 
> > > Patch 9/11 (9p: darwin: Implement compatibility for mknodat)
> > > - Fix line over 90 characters formatting error
> > > - Move qemu_mknodat back from osdep to 9p-util and adjust patch notes
> > > accordingly
> > > 
> > > Patch 11/11 (9p: darwin: meson: Allow VirtFS on Darwin)
> > > - Rebase to master
> > > 
> > > With these changes, this patch set builds and passes 9p synth tests on
> > 
> > both
> > 
> > > linux and 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                     | 27 +++++--
> > >  hw/9pfs/9p-proxy.c                     | 38 +++++++++-
> > >  hw/9pfs/9p-synth.c                     |  6 ++
> > >  hw/9pfs/9p-util-darwin.c               | 97 ++++++++++++++++++++++++++
> > >  hw/9pfs/{9p-util.c => 9p-util-linux.c} |  8 ++-
> > >  hw/9pfs/9p-util.h                      | 46 ++++++++++++
> > >  hw/9pfs/9p.c                           | 42 +++++++++--
> > >  hw/9pfs/9p.h                           | 18 +++++
> > >  hw/9pfs/codir.c                        |  4 +-
> > >  hw/9pfs/meson.build                    |  3 +-
> > >  include/qemu/xattr.h                   |  4 +-
> > >  meson.build                            | 13 ++--
> > >  tests/qtest/virtio-9p-test.c           |  2 +-
> > >  15 files changed, 292 insertions(+), 26 deletions(-)
> > >  create mode 100644 hw/9pfs/9p-util-darwin.c
> > >  rename hw/9pfs/{9p-util.c => 9p-util-linux.c} (90%)
> > 
> > Queued on 9p.next:
> > https://github.com/cschoenebeck/qemu/commits/9p.next
> > 
> > Thanks!
> 
> This is very exciting. Many, many thanks for helping guide this through the
> process!

Thanks for not giving up. ;-)

I plan to send a PR on Friday to avoid the deadline traffic next week.

Best regards,
Christian Schoenebeck