Re: [PATCH 3/4] Bootstrappable pci-arbiter

2021-03-02 Thread Samuel Thibault
Damien Zammit, le mar. 02 mars 2021 22:41:36 +1100, a ecrit: > @@ -108,6 +226,11 @@ main (int argc, char **argv) >if (err) > error (1, err, "Setting permissions"); > > + err = pthread_create (&nt, NULL, netfs_server_func, NULL); > + if (err) > +error (1, err, "Creating netfs loop t

Re: [PATCH 4/4] rumpdisk: Don't pretend to be the arbiter anymore

2021-03-02 Thread Samuel Thibault
Damien Zammit, le mar. 02 mars 2021 22:41:37 +1100, a ecrit: > --- a/rumpdisk/block-rump.c > +++ b/rumpdisk/block-rump.c > @@ -164,6 +165,15 @@ rumpdisk_device_init (void) > return; > } > } > + > + /* FIXME: need to synchronise with arbiter to wait for fsys_startup */ > + sleep

Re: [PATCH x4] hurd: pci-arbiter and rumpdisk static server support

2021-03-02 Thread Samuel Thibault
Damien Zammit, le mar. 02 mars 2021 22:41:33 +1100, a ecrit: > The only problem I can see is the uid=0 faking the cred by allowing > netfs to install ports that have no cred at all, Yes, that's dirty for now, we probably want something cleaner otherwise we'll have to carry unconfortable tricks. >

Re: [PATCH 3/4] Bootstrappable pci-arbiter

2021-03-02 Thread Samuel Thibault
Damien Zammit, le mar. 02 mars 2021 22:41:36 +1100, a ecrit: > +static io_return_t > +pci_device_open (mach_port_t reply_port, mach_msg_type_name_t > reply_port_type, > + dev_mode_t mode, char *name, device_t * devp, > + mach_msg_type_name_t * devicePoly) > +{ > +

Re: [PATCH 1/4] libnetfs: Behave more like diskfs_startup_diskfs

2021-03-02 Thread Samuel Thibault
Damien Zammit, le mar. 02 mars 2021 22:41:34 +1100, a ecrit: > > + /* If we have a bootstrap port we must call fsys_startup */ >if (bootstrap == MACH_PORT_NULL) > -error (10, 0, "Must be started as a translator"); > +task_get_bootstrap_port (mach_task_self (), &bootstrap); Please

Re: [PATCH 2/4] libmachdev: Spawn a thread for server loop so main pathway can continue

2021-03-02 Thread Samuel Thibault
Applied, thanks! Samuel Damien Zammit, le mar. 02 mars 2021 22:41:35 +1100, a ecrit: > --- > libmachdev/trivfs_server.c | 31 --- > 1 file changed, 24 insertions(+), 7 deletions(-) > > diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c > index 3ab15

Re: [PATCH 2/4] libmachdev: Spawn a thread for server loop so main pathway can continue

2021-03-02 Thread Samuel Thibault
Samuel Thibault, le mar. 02 mars 2021 22:13:17 +0100, a ecrit: > Applied, thanks! > > @@ -500,9 +517,9 @@ machdev_trivfs_server(mach_port_t bootstrap) > >fsys = control; > > } > > > > - /* Launch. */ > > - do > > -{ > > - ports_manage_port_operations_one_thread (port_buc

Re: [PATCH libpciaccess] hurd: device_open the pre-existing pci server and use dir_readdir RPC

2021-03-02 Thread Samuel Thibault
Hello, It seems I wasn't clear :) Damien Zammit, le mar. 02 mars 2021 22:44:01 +1100, a ecrit: > +if (pci_port == MACH_PORT_NULL) { > +dir = opendir(parent); > +if (!dir) > +return errno; > +} else { > +if (lev > LEVEL_FUNC + 1) { > + return 0;

[PATCH libpciaccess] hurd: device_open the pre-existing pci server and use dir_readdir RPC

2021-03-02 Thread Damien Zammit
This patch for libpciaccess goes in lockstep with the previous patches I sent for hurd. --- src/hurd_pci.c | 125 ++--- 1 file changed, 98 insertions(+), 27 deletions(-) diff --git a/src/hurd_pci.c b/src/hurd_pci.c index ada7af8..ff14285 100644 --- a/

[PATCH 1/4] libnetfs: Behave more like diskfs_startup_diskfs

2021-03-02 Thread Damien Zammit
--- libnetfs/dir-lookup.c | 30 +- libnetfs/dir-readdir.c | 3 --- libnetfs/file-getcontrol.c | 13 ++--- libnetfs/init-startup.c| 5 ++--- libnetfs/make-protid.c | 8 +--- 5 files changed, 30 insertions(+), 29 deletions(-) diff --git a/

[PATCH 3/4] Bootstrappable pci-arbiter

2021-03-02 Thread Damien Zammit
--- pci-arbiter/Makefile | 7 +- pci-arbiter/main.c| 140 -- pci-arbiter/netfs_impl.c | 39 +++ pci-arbiter/options.c | 19 ++ pci-arbiter/options.h | 8 +++ pci-arbiter/pci-ops.c | 6 +- pci-arbiter/pcifs.c |

[PATCH x4] hurd: pci-arbiter and rumpdisk static server support

2021-03-02 Thread Damien Zammit
Hi all, This has been a work in progress for some time. I am hoping it does not need much reworking. The only problem I can see is the uid=0 faking the cred by allowing netfs to install ports that have no cred at all, perhaps we need a new RPC for obtaining a temporary uid=0 cred during bootstr

[PATCH 4/4] rumpdisk: Don't pretend to be the arbiter anymore

2021-03-02 Thread Damien Zammit
--- rumpdisk/block-rump.c | 16 +--- rumpdisk/main.c | 12 +++- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/rumpdisk/block-rump.c b/rumpdisk/block-rump.c index 3ee0773d..584056f7 100644 --- a/rumpdisk/block-rump.c +++ b/rumpdisk/block-rump.c @@ -27,6 +

[PATCH 2/4] libmachdev: Spawn a thread for server loop so main pathway can continue

2021-03-02 Thread Damien Zammit
--- libmachdev/trivfs_server.c | 31 --- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/libmachdev/trivfs_server.c b/libmachdev/trivfs_server.c index 3ab15049..06756f82 100644 --- a/libmachdev/trivfs_server.c +++ b/libmachdev/trivfs_server.c @@ -398,7 +3