[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Almost working pci-arbiter with rumpdisk
From: |
Samuel Thibault |
Subject: |
Re: Almost working pci-arbiter with rumpdisk |
Date: |
Tue, 9 Feb 2021 19:54:58 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Damien Zammit, le mar. 09 févr. 2021 21:42:29 +1100, a ecrit:
> However, I'm still getting very stuck because I don't seem to have a
> "bootstrap" port for fsys_startup() in netfs for pci startup.
> Where would the bootstrap port come from to do the arbiter netfs_startup ->
> fsys_startup?
> As the arbiter netfs IS the bootstrap filesystem, bootstrap is NULL, or am I
> confused?
It is NULL, yes.
> Do I need to implement some kind of netfs_S_fsys_* ?
Very probably, yes:
I updated
http://darnassus.sceen.net/~hurd-web/hurd/bootstrap/
which was saying
TODO: we want diskfs_startup_diskfs to also call task_get_bootstrap_port to
call fsys_startup on its real bootstrap port once diskfs_start_bootstrap is
finished, for bootstrap translators before the root filesystem to know when the
root filesystem is ready, and register themselves as translators in the root
filesystem, register for shutdown notification, etc.
and now says
diskfs_start_bootstrap is complete, we are back to diskfs_startup_diskfs, which
checks whether ext2fs was given a bootstrap port, i.e. a translator was started
before ext2fs. If so, it calls diskfs_call_fsys_startup which creates a new
control port and passes it do a call to fsys_startup on the bootstrap port, so
the translator that was started before ext2fs gets access to the ext2fs
filesystem. That translator however does not return any real port, since we are
not exposing the ext2fs filesystem in that translator's filesystem, but rather
the converse. That translator will wait for an fsys_init call to complete its
own initialization and set itself as an active translator within the ext2fs
filesystem.
that was for the rumpdisk->ext2fs case, but we'll need the same for the
pci-arbiter->rumpdisk case as well, i.e. make trivfs_S_fsys_startup call
fsys_startup on its own bootstrap port (thus pci-arbiter), so
pci-arbiter gets the control port of the ext2fs FS.
Ditto for rumpdisk's fsys_init, that should call fsys_init on its
bootstrap port, so that pci-arbiter can eventually configure its own
proc, auth, crdir, cwdir, and set itself as active translator in the
root filesystem.
Samuel
- Almost working pci-arbiter with rumpdisk, Damien Zammit, 2021/02/08
- Re: Almost working pci-arbiter with rumpdisk, Samuel Thibault, 2021/02/08
- Re: Almost working pci-arbiter with rumpdisk, Damien Zammit, 2021/02/09
- Re: Almost working pci-arbiter with rumpdisk,
Samuel Thibault <=
- Re: Almost working pci-arbiter with rumpdisk, Damien Zammit, 2021/02/20
- Re: Almost working pci-arbiter with rumpdisk, Damien Zammit, 2021/02/20
- Re: Almost working pci-arbiter with rumpdisk, Samuel Thibault, 2021/02/20
- Re: Almost working pci-arbiter with rumpdisk, Damien Zammit, 2021/02/20
- Re: Almost working pci-arbiter with rumpdisk, Samuel Thibault, 2021/02/20
- Re: Almost working pci-arbiter with rumpdisk, Damien Zammit, 2021/02/21
- Re: Almost working pci-arbiter with rumpdisk, Samuel Thibault, 2021/02/21
- Re: Almost working pci-arbiter with rumpdisk, Damien Zammit, 2021/02/24
- Re: Almost working pci-arbiter with rumpdisk, Samuel Thibault, 2021/02/24
- Re: Almost working pci-arbiter with rumpdisk, Samuel Thibault, 2021/02/24