cvs commit: src/sys/geom geom_event.c src/sys/sys proc.h src/sys/kern subr_trap.c

Poul-Henning Kamp phk at FreeBSD.org
Sat Oct 23 13:49:18 PDT 2004


phk         2004-10-23 20:49:17 UTC

  FreeBSD src repository

  Modified files:
    sys/geom             geom_event.c 
    sys/sys              proc.h 
    sys/kern             subr_trap.c 
  Log:
  Add a new per-thread private flag: TDP_GEOM.
  
  This flag gets set whenever the thread posts an event on the GEOM
  event queue, and if the flag is set when the thread is prepared
  to return to userland from the kernel, g_waitidle() will be called
  to make sure that the posted events have completed.
  
  This can replace an insufficient number of g_waitidle() calls in
  various other places, and has the advantage of being failsafe:  Any
  system call which does a VOP_OPEN()/VOP_CLOSE will now correctly
  wait for any geom events it posted as part of spoils or tastes.
  
  Assert that topology and Giant is not held in g_waitidle().
  
  Revision  Changes    Path
  1.51      +8 -1      src/sys/geom/geom_event.c
  1.276     +7 -0      src/sys/kern/subr_trap.c
  1.411     +1 -0      src/sys/sys/proc.h


More information about the cvs-all mailing list