geom orphan question

Szalai Andras andrew at djw.hu
Wed Oct 19 10:53:13 PDT 2005


Hi,

I have spent few hours trying to understand geom. The I/O
path is more or less okay, but I have problems with
the orphanization procedure.

For example, if you look into g_concat.c there is a 
g_concat_orphan function that calls g_concat_remove_disk.
In this function, gconcat

1) orphans its own provider (g_orphan_provider),
2) reset access counts (g_access), 
3) detach consumer from the lower layer provider,
4) destroy the consumer.

In order to detach the consumer (step 3) you have to be sure 
that there are no active requests (bios) between the consumer and
provider. My question is how can I guarantee that there are 
no active bios when I call g_detach?

c'ya
andrew


More information about the freebsd-geom mailing list