aboutsummaryrefslogtreecommitdiff
path: root/sys/geom/geom_event.c
Commit message (Collapse)AuthorAgeFilesLines
* Get rid of trivial function g_destroy_event().Poul-Henning Kamp2003-05-021-10/+3
| | | | Notes: svn path=/head/; revision=114490
* Add a new flag, EV_CANCELED, and use it to make g_waitfor_event() returnPoul-Henning Kamp2003-05-011-1/+5
| | | | | | | EAGAIN if an event got canceled. Notes: svn path=/head/; revision=114450
* When events on a reference is cancelled, check our doorstep first,Poul-Henning Kamp2003-05-011-0/+7
| | | | | | | it might be an orphan. Notes: svn path=/head/; revision=114447
* Introduce a g_waitfor_event() function which posts an event and waits forPoul-Henning Kamp2003-04-231-10/+63
| | | | | | | it to be run (or cancelled) and use this instead of home-rolled versions. Notes: svn path=/head/; revision=113940
* More of the event stuff can now be private to geom_event.cPoul-Henning Kamp2003-04-231-1/+11
| | | | Notes: svn path=/head/; revision=113938
* Rename g_call_me() to g_post_event(), and give it a flagPoul-Henning Kamp2003-04-231-4/+6
| | | | | | | argument to determine if we can M_WAITOK in malloc. Notes: svn path=/head/; revision=113937
* Remove the now unused hardcoded g_post_event() event support.Poul-Henning Kamp2003-04-231-51/+4
| | | | Notes: svn path=/head/; revision=113934
* Turn EV_NEW_PROVIDER into a g_call_me() event.Poul-Henning Kamp2003-04-231-22/+0
| | | | Notes: svn path=/head/; revision=113930
* Convert EV_SPOILED event to use g_call_me().Poul-Henning Kamp2003-04-231-19/+1
| | | | Notes: svn path=/head/; revision=113929
* Turn the hardwired NEW_CLASS event into a g_call_me() event.Poul-Henning Kamp2003-04-231-19/+1
| | | | Notes: svn path=/head/; revision=113927
* Move the shutdown eventhandler stuff to a more logical place.Poul-Henning Kamp2003-04-231-11/+0
| | | | Notes: svn path=/head/; revision=113926
* Time has run from the "run GEOM in userland" harness, and the new regressionPoul-Henning Kamp2003-04-131-13/+0
| | | | | | | | | | test is built to test GEOM as running in the kernel. This commit is basically "unifdef -D_KERNEL" to remove the mainly #include related code to support the userland-harness. Notes: svn path=/head/; revision=113432
* Fix a bug which resulted in orphanization getting confused every nowPoul-Henning Kamp2003-04-121-1/+1
| | | | | | | and then. Notes: svn path=/head/; revision=113408
* Add handling for cancelled events in the g_call_me() methods.Poul-Henning Kamp2003-04-021-0/+2
| | | | Notes: svn path=/head/; revision=112989
* Change events to have an array of "void *" references, and give thePoul-Henning Kamp2003-04-021-62/+51
| | | | | | | | | | | | | | event posting functions varargs to fill these. Attribute g_call_me() to appropriate g_geom's where necessary. Add a flag argument to g_call_me() methods which will be used to signal cancellation of events in the future. This commit should be a no-op. Notes: svn path=/head/; revision=112988
* Save a lock: Grab the stall_events SX lock exclusively so it also serializePoul-Henning Kamp2003-03-241-2/+2
| | | | | | | OAM reqests. Notes: svn path=/head/; revision=112533
* Introduce g_cancel_events() and use it a couple of places where it makesPoul-Henning Kamp2003-03-231-0/+22
| | | | | | | sense. Notes: svn path=/head/; revision=112518
* Introduce an SX lock which allows us to stall event processingPoul-Henning Kamp2003-03-231-0/+19
| | | | | | | during OAM operations. Notes: svn path=/head/; revision=112517
* #ifdef notyet a bit of code which needs not yet committed refcounting toPoul-Henning Kamp2003-03-161-0/+2
| | | | | | | work correctly. Notes: svn path=/head/; revision=112322
* If we run out of consumers while orphaning them, and the provider's geomPoul-Henning Kamp2003-03-101-0/+5
| | | | | | | | | is withering, destroy the provider when done. This was exposed by the recent change to geom_dev's orphaning logic. Notes: svn path=/head/; revision=112070
* Stamp out Danglish.Poul-Henning Kamp2003-03-091-1/+1
| | | | Notes: svn path=/head/; revision=112029
* Back out M_* changes, per decision of the TRB.Warner Losh2003-02-191-1/+1
| | | | | | | Approved by: trb Notes: svn path=/head/; revision=111119
* Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0.Alfred Perlstein2003-01-211-1/+1
| | | | | | | Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT. Notes: svn path=/head/; revision=109623
* Remove g_silence(). It does not do anything anymore.Poul-Henning Kamp2003-01-131-12/+1
| | | | Notes: svn path=/head/; revision=109170
* Polish a bit here and there.Poul-Henning Kamp2002-11-041-7/+13
| | | | | | | | | Reenable the geom.ctl device so people can play with gbde. Sponsored by: DARPA & NAI Labs Notes: svn path=/head/; revision=106408
* Make sure we don't loose our topology lock in a call_me() handler.Poul-Henning Kamp2002-09-301-0/+1
| | | | | | | Sponsored by: DARPA & NAI Labs. Notes: svn path=/head/; revision=104184
* Implement g_call_me() as a way for geom methods to schedule operationsPoul-Henning Kamp2002-09-271-0/+30
| | | | | | | | | | | | | | | | | | | to be performed in the event-thread. To do this, we need to lock the eventlist with g_eventlock (nee g_doorlock), since g_call_me() being called from the UP/DOWN paths will not be able to aquire g_topology_lock. This also means that for now these events are not referenced on any particular consumer/provider/geom. For UP/DOWN path use, this will not become a problem since the access() function will make sure we drain any bio's before we dismantle. Sponsored by: DARPA & NAI Labs. Notes: svn path=/head/; revision=104056
* Ok, include also the two tests which actually does effect the claimsPoul-Henning Kamp2002-09-271-0/+4
| | | | | | | | | of the last commit message. Sponsored by: DARPA & NAI Labs. Notes: svn path=/head/; revision=104055
* Hook into the shutdown EVENTHANDLER and stop tasting things after wePoul-Henning Kamp2002-09-271-0/+16
| | | | | | | | | get notified to make things settle a bit faster. Sponsored by: DARPA & NAI Labs. Notes: svn path=/head/; revision=104054
* Rename the doorlock to eventlock, it gets to protect a bit more in the future.Poul-Henning Kamp2002-09-271-6/+6
| | | | | | | Sponsored by: DARPA & NAI Labs. Notes: svn path=/head/; revision=104053
* Improve some on the naming.Poul-Henning Kamp2002-06-091-2/+2
| | | | | | | Submitted by: iedowse Notes: svn path=/head/; revision=98066
* Only clear the spoiled flag if the class had no spoiled method, the spoiledPoul-Henning Kamp2002-05-261-1/+2
| | | | | | | | | | method may have deallocated the consumer already and modifying free()'ed memory is bad style. Sponsored by: DARPA & NAI Labs. Notes: svn path=/head/; revision=97316
* Don't grab Giant around malloc(9) and free(9).Poul-Henning Kamp2002-05-201-6/+0
| | | | | | | | | | | Don't grab Giant around wakeup(9). Don't print verbose messages about each device found in geom_dev. Various cleanups. Sponsored by: DARPA & NAI Labs. Notes: svn path=/head/; revision=96987
* Change callers of mtx_init() to pass in an appropriate lock type name. InJohn Baldwin2002-04-041-1/+1
| | | | | | | | | | most cases NULL is passed, but in some cases such as network driver locks (which use the MTX_NETWORK_LOCK macro) and UMA zone locks, a name is used. Tested on: i386, alpha, sparc64 Notes: svn path=/head/; revision=93818
* Move access and orphan member functions from class to geom.Poul-Henning Kamp2002-04-041-4/+4
| | | | | | | Sponsored by: DARPA & NAI Labs Notes: svn path=/head/; revision=93776
* s/classs/classes/ to fixup grammer after the previous global renaming.Poul-Henning Kamp2002-04-041-2/+2
| | | | | | | Sponsored by: DARPA & NAI Labs Notes: svn path=/head/; revision=93774
* Eliminate some thread pointers which do not make sense anymore.Poul-Henning Kamp2002-03-261-11/+12
| | | | | | | | Split private parts of geom.h into geom_int.h. The latter should never be included in class implemtations. Notes: svn path=/head/; revision=93250
* Cave in to tradition and rename "methods" to "classes".Poul-Henning Kamp2002-03-261-17/+17
| | | | Notes: svn path=/head/; revision=93248
* First commit of the GEOM subsystem to make it easier for people toPoul-Henning Kamp2002-03-111-0/+299
test and play with this. This is not yet production quality and should be run only on dedicated test boxes. For people who want to develop transformations for GEOM there exist a set of shims to run geom in userland (ask phk@freebsd.org). Reports of all kinds to: phk@freebsd.org Please include in report: dmesg sysctl debug.geomdot sysctl debug.geomconf Known significant limitations: no kernel dump facility. ioctls severely restricted. Sponsored by: DARPA, NAI Labs Notes: svn path=/head/; revision=92108