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>