Commit Graph

7 Commits

Author SHA1 Message Date
Lawrence Stewart
7d11e744c1 - Rework the underlying ALQ storage to be a circular buffer, which amongst other
things allows variable length messages to be easily supported.

- Extend KPI with alq_writen() and alq_getn() to support variable length
  messages, which is enabled at ALQ creation time depending on the
  arguments passed to alq_open(). Also add variants of alq_open() and
  alq_post() that accept a flags argument. The KPI is still fully
  backwards compatible and shouldn't require any change in ALQ consumers
  unless they wish to utilise the new features.

- Introduce the ALQ_NOACTIVATE and ALQ_ORDERED flags to allow ALQ consumers
  to have more control over IO scheduling and resource acquisition
  respectively.

- Strengthen invariants checking.

- Document ALQ changes in ALQ(9) man page.

Sponsored by:	FreeBSD Foundation
Reviewed by:	gnn, jeff, rpaulo, rwatson
MFC after:	1 month
2010-04-26 13:48:22 +00:00
Robert Watson
e551d45211 Modify the alq(9) alq_open() API to accept a file creation mode, rather
than defaulting the cmode argument to vn_open() to 0.  Supply a default
argument of ALQ_DEFAULT_CMODE (0600) in current callers.

Discussed with/pointed out by:	hmp
Reveiwed by:	jeff, hmp
MFC after:	3 days
2005-04-16 12:12:27 +00:00
Hiten Pandya
97ad30b96a Remove stale information in IMPLEMENTATION NOTES section about alq_open()
using the calling thread's ucred.

While I am there, fix references to my name.
2005-03-09 01:56:48 +00:00
Joseph Koshy
a4230398d3 Note that functions alq_flush() and alq_post() should not be called in
contexts where sleeping is disallowed.

Pointed out by:	ru
2005-02-05 02:39:07 +00:00
Joseph Koshy
2f6e95a1d2 Bring the prototype for alq_open() in line with the code.
Add a section on locking.
2005-01-30 10:21:04 +00:00
Ruslan Ermilov
db79bbff16 Sweep formatting and assorted fixes. 2004-07-07 07:56:58 +00:00
Hiten Pandya
dab12c8eba Manual page for Asynchronous Logging Queues (ALQ) facility.
The manual page contains enough information to get someone started
with ALQ.

MLINKS have been added appropriately.

Approved by:	jeff, des
Reviewed by:	des, jeff, sam, brooks, rwatson, mtm
2003-11-10 22:45:09 +00:00