History log of /freebsd/sys/geom/geom_event.c (Results 101 – 125 of 155)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: release/6.2.0_cvs, release/6.2.0
# d6b910d2 10-Sep-2006 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Delay an orphan event if provider has still in-flight I/O requests.
This way GEOM classes can safely detach from provider when an orphan
event is received. This fixes 'detach with active requests' pa

Delay an orphan event if provider has still in-flight I/O requests.
This way GEOM classes can safely detach from provider when an orphan
event is received. This fixes 'detach with active requests' panic for
gstripe/gconcat under load.

PR: kern/102766
Submitted by: mjacob
OK'ed by: phk
MFC after: 1 week

show more ...


Revision tags: release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0
# e4da09c0 04-Sep-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Remove a race condition that could result in processes being stuck
waiting for geom events to happen:

Instead of maintaining a count of outstanding events, simply look if
the queue is empty. Make s

Remove a race condition that could result in processes being stuck
waiting for geom events to happen:

Instead of maintaining a count of outstanding events, simply look if
the queue is empty. Make sure to not remove events from the queue
until they are executed in order to not open a new race.

Much work by: pjd
Tested by: kris
MT6: yes, should be.

show more ...


# d246aa55 18-May-2005 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Correct typo.


Revision tags: release/5.4.0_cvs, release/5.4.0, release/4.11.0_cvs, release/4.11.0
# b8005b9b 10-Nov-2004 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Introduce g_waitidlelock() function which is simlar to g_waitidle(),
but should be called with the topology lock held and returns with the
topology lock held and empty event queue.

Approved by: phk

Introduce g_waitidlelock() function which is simlar to g_waitidle(),
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)

show more ...


Revision tags: release/5.3.0_cvs, release/5.3.0
# 9197ce2e 23-Oct-2004 Poul-Henning Kamp <phk@FreeBSD.org>

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 f

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().

show more ...


# 1b464bd8 08-Jul-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Make withering water tight.

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

Make withering water tight.

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.

show more ...


Revision tags: release/4.10.0_cvs, release/4.10.0
# 3d1d5bc3 10-Mar-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Rearrange some of the GEOM debugging tools to be more structured.

Retire g_sanity() and corresponding debugflag (0x8)

Retire g_{stall,release}_events().

Under #ifdef DIAGNOSTIC:

Make g_

Rearrange some of the GEOM debugging tools to be more structured.

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.

show more ...


Revision tags: release/5.2.1_cvs, release/5.2.1
# 18e88d82 10-Feb-2004 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Now we have g_topology_assert_not(), so use it to detect deadlocks.

Approved by: phk, scottl (mentor)


# 793ffa8e 02-Feb-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Don't mingle malloc/g_event flags.

Spotted by: pjd@


# 57ab2e04 23-Jan-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Make sure to keep track of canceled events.

Submitted by: Pawel Jakub Dawidek <nick@garage.freebsd.pl>


Revision tags: release/5.2.0_cvs, release/5.2.0
# 8592d7a7 23-Dec-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Prevent withering of the provider we're orphaning from happening until
we do it ourselves.

Nailed by: Simon Heath <heath@cng.fr>


# d0265773 07-Dec-2003 Poul-Henning Kamp <phk@FreeBSD.org>

KASSERT against multiple orphanings of providers.


# e0d617c1 18-Nov-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Fix a harmless bug and add a ')' in a debugging printf.

Submitted by: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>


Revision tags: release/4.9.0_cvs, release/4.9.0
# b144e6ff 12-Oct-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Destroy providers maked with G_PF_WITHER when the last consumer has detached.


# 50b1faef 11-Jun-2003 David E. O'Brien <obrien@FreeBSD.org>

Use __FBSDID().

Approved by: phk


# a1a9b445 07-Jun-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Add missing va_end() calls.

Noticed by: tmm


Revision tags: release/5.1.0_cvs, release/5.1.0
# 9dfffbc9 02-May-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Get rid of trivial function g_destroy_event().


# c8589ad1 01-May-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Add a new flag, EV_CANCELED, and use it to make g_waitfor_event() return
EAGAIN if an event got canceled.


# 2ab31b05 01-May-2003 Poul-Henning Kamp <phk@FreeBSD.org>

When events on a reference is cancelled, check our doorstep first,
it might be an orphan.


# 0a9c130c 23-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Introduce a g_waitfor_event() function which posts an event and waits for
it to be run (or cancelled) and use this instead of home-rolled versions.


# a974614b 23-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

More of the event stuff can now be private to geom_event.c


# 8cd1535a 23-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Rename g_call_me() to g_post_event(), and give it a flag
argument to determine if we can M_WAITOK in malloc.


# d98777f8 23-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Remove the now unused hardcoded g_post_event() event support.


# 9ab3ea78 23-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Turn EV_NEW_PROVIDER into a g_call_me() event.


# f2e9a094 23-Apr-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Convert EV_SPOILED event to use g_call_me().


1234567