| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
but should be called with the topology lock held and returns with the
topology lock held and empty event queue.
Approved by: phk (sometime ago)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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().
|
|
|
|
|
|
|
|
|
| |
When we orphan/wither a provider, an attached geom+consumer could
end up being withered as a result and it may be in front of us in
the normal object scanning order so we need to do multi-pass. On
the other hand, there may be withering stuff we can't get rid off
(yet), so we need to keep track of both the existence of withering
stuff and if there is more we can do at this time.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Retire g_sanity() and corresponding debugflag (0x8)
Retire g_{stall,release}_events().
Under #ifdef DIAGNOSTIC:
Make g_valid_obj() an official function and have it return an an
non-zero integer which indicates the kind of object when found.
Implement G_VALID_{CLASS,GEOM,CONSUMER,PROVIDER}() macros based
on g_valid_obj().
Sprinkle calls to these macros liberally over the infrastructure.
Always check that we do not free a live object.
|
|
|
|
| |
Approved by: phk, scottl (mentor)
|
|
|
|
| |
Spotted by: pjd@
|
|
|
|
| |
Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>
|
|
|
|
|
|
| |
we do it ourselves.
Nailed by: Simon Heath <heath@cng.fr>
|
| |
|
|
|
|
| |
Submitted by: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>
|
| |
|
|
|
|
| |
Approved by: phk
|
|
|
|
| |
Noticed by: tmm
|
| |
|
|
|
|
| |
EAGAIN if an event got canceled.
|
|
|
|
| |
it might be an orphan.
|
|
|
|
| |
it to be run (or cancelled) and use this instead of home-rolled versions.
|
| |
|
|
|
|
| |
argument to determine if we can M_WAITOK in malloc.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
and then.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
OAM reqests.
|
|
|
|
| |
sense.
|
|
|
|
| |
during OAM operations.
|
|
|
|
| |
work correctly.
|
|
|
|
|
|
| |
is withering, destroy the provider when done.
This was exposed by the recent change to geom_dev's orphaning logic.
|
| |
|
|
|
|
| |
Approved by: trb
|
|
|
|
| |
Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
| |
|
|
|
|
|
|
| |
Reenable the geom.ctl device so people can play with gbde.
Sponsored by: DARPA & NAI Labs
|
|
|
|
| |
Sponsored by: DARPA & NAI Labs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
of the last commit message.
Sponsored by: DARPA & NAI Labs.
|
|
|
|
|
|
| |
get notified to make things settle a bit faster.
Sponsored by: DARPA & NAI Labs.
|
|
|
|
| |
Sponsored by: DARPA & NAI Labs.
|
|
|
|
| |
Submitted by: iedowse
|
|
|
|
|
|
|
| |
method may have deallocated the consumer already and modifying free()'ed
memory is bad style.
Sponsored by: DARPA & NAI Labs.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Sponsored by: DARPA & NAI Labs
|
|
|
|
| |
Sponsored by: DARPA & NAI Labs
|