gvinum raid5 in production

Ulf Lilleengen lulf at stud.ntnu.no
Tue Sep 12 12:48:52 PDT 2006


On tir, sep 12, 2006 at 12:32:25 -0700, R. B. Riddick wrote:
> --- Ulf Lilleengen <lulf at stud.ntnu.no> wrote:
> > > As far as I understood GEOM it does not like to sleep in g_up or g_down
> > > threads... So we cannot use M_WAITOK in gv_down()...
> > What do you mean gv_down()? Gvinum does not use g_up or g_down as far as i
> > can tell?
> > 
> Ohoh... Tubby "typo"...
> 
> "gv_down" is wrong... I meant "gv_drive_done()"
> 
> As far as I understood GEOM it work as follows:
> 1. A geom class provides a drive and several functions, that r needed to
> operate that drive...
> 2. Thread g_down hands down a new read/write/... request to an instance of a
> geom class by using those functions (often called: ..._start())
> 3. Thread g_up hands up a completed/aborted request to the caller (a geom or
> so) by using those functions (often called: ..._done())
> 

Have a look at the CURRENT branch instead. It uses a worker queue. In RELENG_6 i
can see that it used g_malloc.

-- 
Mvh Ulf Lilleengen


More information about the freebsd-geom mailing list