Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Oct 2005 19:53:10 +0200
From:      Szalai Andras <andrew@djw.hu>
To:        freebsd-geom@freebsd.org
Subject:   geom orphan question
Message-ID:  <20051019175310.GC76081@web.djw.hu>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051019175310.GC76081>