tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: GPT attributes in dkwedgeq
On Tue, Sep 12, 2023 at 08:35:00AM +0000, Emmanuel Dreyfus wrote:
> How are we supposed to discover the start block number? All rf_buildroothack()
> knows is dk_nwedges from struct disk. It gets struct dkwedge_info using
> dkwedge_find_by_parent(), which second argument seems to be the first dk
> device number to inspect. Why can't a dkwedge_get_flags() use wedge nummber
> as well?
The whole wedge in-kernel API confuses me, sorry if this makes
the discussion more complex.
I was expecting somehting like:
for (size_t ndx = 0; ndx < dk_nwedges; ndx++) {
struct dkwedge_info dkw;
unsigned flags;
device_t t = dkwedge_find_by_parent(parent, ndx);
>>> dkwedge_get_info(t, &dkw);
flags = dkwedge_get_flags(t);
if (flags & DKW_FLAGS_BOOTME)
rf_boot_from_filesystem_starting_at(dkw.offset....)
...
but we don't seem to have something like dkwedge_get_info.
> The protoypes could closely match dkwedge_find_by_parent()
> int dkwedge_get_flags((const char *parent_name, size_t *dknum, int *flags)
> int dkwedge_set_flags((const char *parent_name, size_t *dknum, int flags)
>
> This size_t * type seems oddd, but it is what dkwedge_find_by_parent() uses.
For boot purposes, and given that we have already discovered all wedges on
this disk and (for now) the list ist stable: yes, it could.
Martin
Home |
Main Index |
Thread Index |
Old Index