Re: [PATCH] Adding-storeio-to-the-bootstrap-chain.

Mikhail Karpov <[email protected]>
Newsgroups gmane.os.hurd.bugs
Message-ID <[email protected]>
Hello,

On Sun, 26 Apr 2026 22:20:21 Samuel Thibault wrote:

 > You mean, only telling storeio.static what drive it should be using, and
 > not ext2fs.static, right?
Yes

 > You are passing the task as argument to store_create, but store_create
 > expects a file_t, not a task. So it's not surprising to be getting
 > MIG_BAD_ID, RPCs to a task are actually going to the kernel :)

 >
 > So the problem now is that you want to get a file_t from the storeio
 > process, instead of ext2fs opening the device by itself. That would
 > usually be through fsys_getroot on the control port of the storeio
 > process, which it can get from the special port.

Oh, that clears things up a lot. So, the argument parsing step won't allow
opening the store, because that should happen in diskfs_startup_diskfs, 
right?
Shouldn't we do something similar to diskfs_start_bootstrap from
libdiskfs/boot-start.c?

 > Actually, I'm wondering whether we need to involve libmachdev at all in
 > the end: since we can make ext2fs open storeio through the control port,
 > it doesn't need to get it through a device interface.

I tried to do without libmachdev, but without demuxer from libmachdev 
the boot
fails, because trivfs_demuxer does not provide device_server_routine.

 > Why not just making storeio_bootstrap_startup use &storeio_fsys rather
 > than &control?

Hmm, I thought that for libmachdev to work I would have to work with 
control,
but I checked and replaced all the &control with &storeio_fsys and nothing
broke... This makes things a lot easier.

 > > +task_t parent_task = MACH_PORT_NULL;
 >
 > Do we really need to expose this? Can't both libmachdev and storeio make
 > an fsys_getpriv call to get it without having to share?

Since I was trying to replicate machdev_trivfs_init exactly inside
storeio_bootstrap_startup, I expanded parent_task, but perhaps it's not
necessary to do it exactly. In any case, parent_task is required by
trivfs_S_fsys_init from libmachdev, so something will need to be done about
that.

Thanks,

Mikhail Karpov
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.