Commit Graph

21 Commits

Author SHA1 Message Date
riastradh f7a9d62bfe Constify. 2020-06-13 22:15:57 +00:00
riastradh 78d996a8c7 Tidy up includes. 2020-06-13 18:38:33 +00:00
mlelstv afc6579b5e Defer crypto operations to a workqueue and make it utilize all CPUs.
Make device mpsafe.
Some code cleanup.
2020-03-09 08:33:15 +00:00
dholland 1fbab01a93 More on PR 41200: headers that declare ioctls should include sys/ioccom.h.
This covers (I think) all the MI headers outside of external/ (and dist/).
2015-09-06 06:00:59 +00:00
skrll b7fe3a93a8 Remove a simplelock and replace with a kmutex 2014-03-18 15:44:37 +00:00
christos 0f179f793d add cgdconfig -l like vnconfig -l 2012-12-05 02:23:20 +00:00
elric 99c563ccca Modify dksubr.c to add a function that sets the disk properties in
the drvctl framework.  And call this new functionality from cgd(4),
the consumer of dksubr.c.  We do this to allow gpt(8) to be able
to label cgd(4) disks.  We also add in some DIOCGSECTORSIZE logic
and we ensure that the WEDGE ioctls are not called on either
uninitialised disks or disks which have not been opened for write
access.
2012-05-25 10:53:46 +00:00
dyoung 1b379d7ac4 Make cgd(4) into a detachable pseudo-device. Thanks, Jan Danielsson,
for the patches!

I've lightly tested the basics: create cgd0 on vnd0d, initialize with
zeros, newfs /dev/cgd0a, mount, copy files on, unmount, drvctl -d
cgd0.  Works fine.  I also shutdown with a cgd0 configured: detached as
expected.
2010-01-12 21:08:08 +00:00
christos 189751127b avoid variable array stack allocation by enforcing and allocating always the
maximum.
2009-11-10 20:05:50 +00:00
christos 9fd9aaab22 PR/39525: Joachim Schueth, Frederik Sausmikat:
cgd inadvertently encrypts blkno eight times to generate IV
2008-09-12 16:51:55 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
ad 0664a0459b Start detangling lock.h from intr.h. This is likely to cause short term
breakage, but the mess of dependencies has been regularly breaking the
build recently anyhow.
2008-01-04 21:17:40 +00:00
christos 53524e44ef Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. 2007-03-04 05:59:00 +00:00
christos 456024195b revert previous commit (size_t -> int change). Thanks cube. 2006-12-02 06:22:09 +00:00
christos c54ef0193c restore binary compatibility. 2006-12-02 05:27:27 +00:00
christos 972b81c7cd int -> size_t 2006-12-02 05:16:01 +00:00
christos 95e1ffb156 merge ktrace-lwp. 2005-12-11 12:16:03 +00:00
christos e2e7fbd568 no reason for those not to be const. 2005-06-27 03:00:03 +00:00
thorpej 878ac57b19 Protect against multiple inclusion. 2004-08-23 04:45:18 +00:00
elric befeae8929 Modified the dksubr routines to:
o  expect the disk's start routine to return an int.  If the
	   int is non-zero, we enqueue the request and try again
	   later.
	o  have a dk_start() routine which runs the request queue.
	o  have a dk_iodone() function which should be called by the
	   driver using the framwork from its iodone.  dk_iodone will
	   retry the queue since presumably further progress may be
	   possible once a request is complete.  It is required that
	   the underlying driver have the resources to keep at least
	   one transaction in flight at any time.

Modified cgd to:

	o  be able to keep one transaction in flight at any time
	   (almost) by keeping a buffer of size MAXPHYS in its softc
	   and use it.

We still need to make the cgd_cbufpool per device rather than global
and provide a low water mark for it.

Addresses PR: kern/24715
(at least according to the submitter.)
2004-03-27 23:23:06 +00:00
elric 4366a007ff The CryptoGraphic Disk Driver. 2002-10-04 18:22:35 +00:00