The NetBSD Project

CVS log for src/sys/dev/cgd.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / dev

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.146 / (download) - annotate - [select for diffs], Sat Apr 2 09:53:20 2022 UTC (2 years ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm, HEAD
Changes since 1.145: +3 -3 lines
Diff to previous 1.145 (colored) to selected 1.29 (colored)

cgd(4): Omit technically-correct-but-broken adiantum dependency again.

It is true that cgd_crypto.c depends on sys/crypto/adiantum now, and
transitively on sys/crypto/aes.

However, there's a problem with the cgd module having a formal
(transitive) module dependency on the aes module.

Yesterday I thought the problem with this was that fpu_kern_enter was
artificially restricted while cold -- to detect, and noisily crash
on, reentrance, it raises the IPL to IPL_VM, asserts that the IPL is
not _higher_ (so it can't be re-entered by an IPL_SCHED or IPL_HIGH
interrupt), and asserts that it's not currently in use on the current
CPU.

Early at boot, the IPL is at IPL_HIGH, and no interrupts are possible
anyway, so the assertions tripped for artificial reasons, which I
fixed in:

https://mail-index.netbsd.org/source-changes/2022/04/01/msg137840.html

However, I had forgotten that there's a deeper problem for the cgd
module dependency on aes.  The ordering of events is:

1. Initialize builtin MODULE_CLASS_DRIVER modules -- including cgd.

2. Run configure -- including detecting CPUs, which on aarch64 is
   where the decision of which AES (and ChaCha) implementation to use
   based on supported CPU features.

3. Initialize builtin MODULE_CLASS_MISC modules -- including aes,
   _if_ there are no driver-class modules that depend on it.

There's a tangle of ordering dependencies here:

- MODULE_CLASS_DRIVER modules providing _autoconf_ drivers generally
  have to be initialized _before_ configure, because you need the
  driver to be initialized before configure can attach its devices.

- configure must run _before_ aes is initialized because the decision
  of which AES implementation to choose depends on CPU features
  detected in configure, and the prospect of dynamically changing the
  AES implementation is too painful to contemplate (it may change the
  key schedule, so it would invalidate any existing key schedules
  precomputed by callers like uvm_swap or configured cgd devices,
  which raises a host of painful concurrency issues to invalidate
  these cached key schedules on all CPUs in all subsystems using
  them).

- cgd doesn't figure into the configure stage of autoconf, but it
  nevertheless has to be MODULE_CLASS_DRIVER because specfs autoloads
  MODULE_CLASS_DRIVER modules in case they provide _devsw_ drivers
  (i.e., /dev nodes), as cgd does.  And we don't have a mechanism for
  identifying `autoconf driver modules' separately from `devsw driver
  modules' because some modules provide both and each module can have
  only one class.

For now, this is breaking boot on several tier I architectures so
let's nix the cgd->adiantum->aes module dependency as a stop-gap
measure.

Revision 1.145 / (download) - annotate - [select for diffs], Fri Apr 1 21:09:24 2022 UTC (2 years ago) by pgoyette
Branch: MAIN
Changes since 1.144: +3 -3 lines
Diff to previous 1.144 (colored) to selected 1.29 (colored)

Create a loaable adiantum module, and make cgd require it.

This enablees use of a loadable cgd module, rather thtan requiring
it to be built-in.

Partially resolves kern/56772

Revision 1.144 / (download) - annotate - [select for diffs], Fri Apr 1 00:21:19 2022 UTC (2 years ago) by riastradh
Branch: MAIN
Changes since 1.143: +3 -3 lines
Diff to previous 1.143 (colored) to selected 1.29 (colored)

cgd(4): Remove recently added dependency on adiantum.

While this dependency is technically correct, it triggers a problem
with module initialization for builtin modules that manifests as an
instant crash on boot for x86 (and likely arm) kernels, and that
problem is not trivial to solve immediately.  See the top of
sys/crypto/aes/aes_impl.c for a summary of the problem and why it's
tricky.

So as a stop-gap measure, we'll remove this dependency for now; we
can reinstate it later once the underlying problem with module
initialization order is resolved.

Reported-by: syzbot+e9b3550af985b6557414@syzkaller.appspotmail.com
(actually first reported, to my knowledge, by pgoyette@, but this
line tells syzkaller that we fixed the problem)

Revision 1.143 / (download) - annotate - [select for diffs], Thu Mar 31 19:30:15 2022 UTC (2 years ago) by pgoyette
Branch: MAIN
Changes since 1.142: +27 -28 lines
Diff to previous 1.142 (colored) to selected 1.29 (colored)

For device modules that provide both auto-config and /dev/xxx
interfaces, make sure that initialization and destruction
follow the proper sequence.  This is triggered by the recent
changes to the devsw stuff; per riastradh@ the required call
sequence is:

	devsw_attach()
	config_init_component() or config_cf*_attach()
	...
	config_fini_component() or config_cf*_detach()
	devsw_detach()

While here, add a few missing calls to some of the detach
routines.

Testing of these changes has been limited to:
	1. compile without build break
	2. no related test failures from atf
	3. modload/modunload work as well as
	   before.

No functional device testing done, since I don't have any
of these devices.  Let me know of any damage I might cause
here!

XXX Some of the modules affected by this commit are already
XXX broken;  see kern/56772.  This commit does not break
any additional modules (as far as I know).

Revision 1.114.6.1 / (download) - annotate - [select for diffs], Thu Dec 30 12:40:53 2021 UTC (2 years, 3 months ago) by martin
Branch: netbsd-8
Changes since 1.114: +3 -4 lines
Diff to previous 1.114 (colored) next main 1.115 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by riastradh in ticket #1722):

	sys/dev/cgd.c: revision 1.142

cgd(4): Fix criterion for detach when wedgies are held.

The somewhat confusingly named DK_BUSY(dksc, pmask) answers the
following question:

        Suppose I hold either the character or the block device (but
        not both) of all of the partitions in pmask.  Is anyone else
        using the disk, rendering it unsafe to detach?

This is useful for ioctls like CGDIOCCLR and VNDIOCCLR, which must be
issued on open file descriptors for the disk, so the question cannot
simply be answered by testing whether dk_openmask != 0.
Instead, DK_BUSY breaks the question into the following criteria:

        1. Are there any _other_ partitions than those in pmask open
           at all?  If so, it must be someone else, since I only hold
           partitions in pmask -- hence the disk is busy.
        2. Are any of the partitions in pmask open _both_ as a block
           device _and_ as a character device?  If so, it must be
           someone else, since I only hold _either_ the character
           _or_ the block device open but not both -- hence the disk
           is busy.

When config_detach_all runs at shutdown time, it tries to detach
cgd(4), which has DVF_DETACH_SHUTDOWN; this is important so we submit
queued writes to the underlying disk and wait for them to complete
with dk_drain.

If cgd(4) has any dk wedges with file systems mounted still
configured on it, it isn't ready to detach yet.  But asking
DK_BUSY(dksc, 1 << RAW_PART) returns false, because the dk wedges
only hold RAW_PART open as a block device -- so if nobody has
RAW_PART open as a character device, or any other partitions open,
cgd_detach blithely goes on its way to forcibly detach the wedges.

Instead, ask DK_BUSY(dksc, 0), because the caller -- cgd_detach
issued by config_detach_all -- does not, in fact, hold any partitions
open, so it doesn't need to work around them like ioctl(CGDIOCCLR)
does.  Fixes hang in zfs on dk on cgd during shutdown (and probably
also zfs on cgd without any intervening dk but I haven't tested).

(This change might have the side effect that `drvctl -d cgdN' doesn't
work, but I don't care.)

XXX pullup-9
XXX pullup-8 (...-7, -6, -5...)

Revision 1.116.10.5 / (download) - annotate - [select for diffs], Thu Dec 30 12:38:22 2021 UTC (2 years, 3 months ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE
Changes since 1.116.10.4: +3 -4 lines
Diff to previous 1.116.10.4 (colored) to branchpoint 1.116 (colored) next main 1.117 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by riastradh in ticket #1398):

	sys/dev/cgd.c: revision 1.142

cgd(4): Fix criterion for detach when wedgies are held.

The somewhat confusingly named DK_BUSY(dksc, pmask) answers the
following question:

        Suppose I hold either the character or the block device (but
        not both) of all of the partitions in pmask.  Is anyone else
        using the disk, rendering it unsafe to detach?

This is useful for ioctls like CGDIOCCLR and VNDIOCCLR, which must be
issued on open file descriptors for the disk, so the question cannot
simply be answered by testing whether dk_openmask != 0.
Instead, DK_BUSY breaks the question into the following criteria:

        1. Are there any _other_ partitions than those in pmask open
           at all?  If so, it must be someone else, since I only hold
           partitions in pmask -- hence the disk is busy.
        2. Are any of the partitions in pmask open _both_ as a block
           device _and_ as a character device?  If so, it must be
           someone else, since I only hold _either_ the character
           _or_ the block device open but not both -- hence the disk
           is busy.

When config_detach_all runs at shutdown time, it tries to detach
cgd(4), which has DVF_DETACH_SHUTDOWN; this is important so we submit
queued writes to the underlying disk and wait for them to complete
with dk_drain.

If cgd(4) has any dk wedges with file systems mounted still
configured on it, it isn't ready to detach yet.  But asking
DK_BUSY(dksc, 1 << RAW_PART) returns false, because the dk wedges
only hold RAW_PART open as a block device -- so if nobody has
RAW_PART open as a character device, or any other partitions open,
cgd_detach blithely goes on its way to forcibly detach the wedges.

Instead, ask DK_BUSY(dksc, 0), because the caller -- cgd_detach
issued by config_detach_all -- does not, in fact, hold any partitions
open, so it doesn't need to work around them like ioctl(CGDIOCCLR)
does.  Fixes hang in zfs on dk on cgd during shutdown (and probably
also zfs on cgd without any intervening dk but I haven't tested).

(This change might have the side effect that `drvctl -d cgdN' doesn't
work, but I don't care.)

XXX pullup-9
XXX pullup-8 (...-7, -6, -5...)

Revision 1.142 / (download) - annotate - [select for diffs], Mon Dec 27 22:57:19 2021 UTC (2 years, 3 months ago) by riastradh
Branch: MAIN
Changes since 1.141: +3 -4 lines
Diff to previous 1.141 (colored) to selected 1.29 (colored)

cgd(4): Fix criterion for detach when wedgies are held.

The somewhat confusingly named DK_BUSY(dksc, pmask) answers the
following question:

        Suppose I hold either the character or the block device (but
        not both) of all of the partitions in pmask.  Is anyone else
        using the disk, rendering it unsafe to detach?

This is useful for ioctls like CGDIOCCLR and VNDIOCCLR, which must be
issued on open file descriptors for the disk, so the question cannot
simply be answered by testing whether dk_openmask != 0.

Instead, DK_BUSY breaks the question into the following criteria:

        1. Are there any _other_ partitions than those in pmask open
           at all?  If so, it must be someone else, since I only hold
           partitions in pmask -- hence the disk is busy.

        2. Are any of the partitions in pmask open _both_ as a block
           device _and_ as a character device?  If so, it must be
           someone else, since I only hold _either_ the character
           _or_ the block device open but not both -- hence the disk
           is busy.

When config_detach_all runs at shutdown time, it tries to detach
cgd(4), which has DVF_DETACH_SHUTDOWN; this is important so we submit
queued writes to the underlying disk and wait for them to complete
with dk_drain.

If cgd(4) has any dk wedges with file systems mounted still
configured on it, it isn't ready to detach yet.  But asking
DK_BUSY(dksc, 1 << RAW_PART) returns false, because the dk wedges
only hold RAW_PART open as a block device -- so if nobody has
RAW_PART open as a character device, or any other partitions open,
cgd_detach blithely goes on its way to forcibly detach the wedges.

Instead, ask DK_BUSY(dksc, 0), because the caller -- cgd_detach
issued by config_detach_all -- does not, in fact, hold any partitions
open, so it doesn't need to work around them like ioctl(CGDIOCCLR)
does.  Fixes hang in zfs on dk on cgd during shutdown (and probably
also zfs on cgd without any intervening dk but I haven't tested).

(This change might have the side effect that `drvctl -d cgdN' doesn't
work, but I don't care.)

XXX pullup-9
XXX pullup-8 (...-7, -6, -5...)

Revision 1.116.10.4 / (download) - annotate - [select for diffs], Tue Dec 14 19:05:11 2021 UTC (2 years, 4 months ago) by martin
Branch: netbsd-9
Changes since 1.116.10.3: +10 -4 lines
Diff to previous 1.116.10.3 (colored) to branchpoint 1.116 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by riastradh in ticket #1393):

	sys/dev/cgd.c: revision 1.141

cgd(4): Wait for worker threads to complete before destroying mutex.

Fixes PR kern/56546 (probably!).

Revision 1.141 / (download) - annotate - [select for diffs], Mon Dec 13 21:15:26 2021 UTC (2 years, 4 months ago) by riastradh
Branch: MAIN
Changes since 1.140: +10 -4 lines
Diff to previous 1.140 (colored) to selected 1.29 (colored)

cgd(4): Wait for worker threads to complete before destroying mutex.

Fixes PR kern/56546 (probably!).

Revision 1.140 / (download) - annotate - [select for diffs], Sun Oct 17 14:42:15 2021 UTC (2 years, 6 months ago) by jmcneill
Branch: MAIN
Changes since 1.139: +4 -4 lines
Diff to previous 1.139 (colored) to selected 1.29 (colored)

Upgrade cgd self-test output from verbose to debug.

Revision 1.139 / (download) - annotate - [select for diffs], Sat Aug 1 02:15:49 2020 UTC (3 years, 8 months ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.138: +3 -4 lines
Diff to previous 1.138 (colored) to selected 1.29 (colored)

Fix whitespace.

Revision 1.138 / (download) - annotate - [select for diffs], Sat Aug 1 02:15:17 2020 UTC (3 years, 8 months ago) by riastradh
Branch: MAIN
Changes since 1.137: +3 -3 lines
Diff to previous 1.137 (colored) to selected 1.29 (colored)

Run cgd(4) crypto threads with the FPU/SIMD units pre-enabled.

Improves cgd throughput on systems with vectorized crypto by ~20%.

Revision 1.137 / (download) - annotate - [select for diffs], Mon Jun 29 23:36:06 2020 UTC (3 years, 9 months ago) by riastradh
Branch: MAIN
Changes since 1.136: +3 -3 lines
Diff to previous 1.136 (colored) to selected 1.29 (colored)

cgd(4): Align IVs on the stack.

This will make it easier for some hardware crypto support.

Revision 1.136 / (download) - annotate - [select for diffs], Mon Jun 29 23:35:26 2020 UTC (3 years, 9 months ago) by riastradh
Branch: MAIN
Changes since 1.135: +6 -6 lines
Diff to previous 1.135 (colored) to selected 1.29 (colored)

cgd(4): Print which key size is broken when a self-test fails.

Can be gleaned from the test index but this is a little quicker.

Revision 1.135 / (download) - annotate - [select for diffs], Wed Jun 17 20:44:45 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.134: +3 -3 lines
Diff to previous 1.134 (colored) to selected 1.29 (colored)

Spell `blowfish-cbc' as such, not like `bf-cbc'.

Gotta match the name we actually use for this to work!

Should fix the cgd blowfish-cbc encblkno8 test failures reported at

https://mail-index.netbsd.org/current-users/2020/06/15/msg038871.html

Revision 1.134 / (download) - annotate - [select for diffs], Sat Jun 13 22:17:03 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.133: +82 -5 lines
Diff to previous 1.133 (colored) to selected 1.29 (colored)

Fix encblkno8 legacy support.  Add a test vector while here.

What a crock!

This is deliberately _not_ neatly abstracted because the whole
configurable `iv method' mechanism is a mistake and should never be
used for anything new.

Revision 1.133 / (download) - annotate - [select for diffs], Sat Jun 13 22:15:57 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.132: +5 -5 lines
Diff to previous 1.132 (colored) to selected 1.29 (colored)

Constify.

Revision 1.132 / (download) - annotate - [select for diffs], Sat Jun 13 22:15:06 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.131: +6 -26 lines
Diff to previous 1.131 (colored) to selected 1.29 (colored)

Eliminate uio indirection for cgd crypto.

We don't actually use it, and we only ever used it kludgily in the
CBC encryption direction in the past anyway.

Revision 1.131 / (download) - annotate - [select for diffs], Sat Jun 13 18:42:22 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.130: +7 -4 lines
Diff to previous 1.130 (colored) to selected 1.29 (colored)

Move cgd selftest from module init to cgdattach.

This defers it until considerably later at boot, after cpu_attach has
run, which will be needed in order to make AES-NI work.

Revision 1.130 / (download) - annotate - [select for diffs], Sat Jun 13 18:40:44 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.129: +14 -6 lines
Diff to previous 1.129 (colored) to selected 1.29 (colored)

Specify which cgd self-test failed and dump the mismatch.

Revision 1.129 / (download) - annotate - [select for diffs], Sat Jun 13 18:38:33 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.128: +14 -13 lines
Diff to previous 1.128 (colored) to selected 1.29 (colored)

Tidy up includes.

Revision 1.128 / (download) - annotate - [select for diffs], Sat Jun 13 18:36:07 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.127: +4 -6 lines
Diff to previous 1.127 (colored) to selected 1.29 (colored)

Print cgd self-test noise only with verbose boot.

Revision 1.127 / (download) - annotate - [select for diffs], Sat Jun 13 18:35:35 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.126: +4 -13 lines
Diff to previous 1.126 (colored) to selected 1.29 (colored)

Fold `cipher prep' into `cipher' in cgd.

Simplify some logic along the way and u_int*_t -> uint*_t.

Revision 1.126 / (download) - annotate - [select for diffs], Thu Jun 4 19:54:53 2020 UTC (3 years, 10 months ago) by riastradh
Branch: MAIN
Changes since 1.125: +158 -3 lines
Diff to previous 1.125 (colored) to selected 1.29 (colored)

Add self-tests for 3des and blowfish too.

Nobody should use these on new disks but it is good to have them so
we don't break decrypting old disks.

Revision 1.116.4.2 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:14 2020 UTC (3 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.116.4.1: +1 -1 lines
Diff to previous 1.116.4.1 (colored) to branchpoint 1.116 (colored) next main 1.117 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.124.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:02 2020 UTC (3 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.124: +3 -3 lines
Diff to previous 1.124 (colored) next main 1.125 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.125 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:02 2020 UTC (4 years ago) by maxv
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.124: +3 -3 lines
Diff to previous 1.124 (colored) to selected 1.29 (colored)

constify

Revision 1.116.4.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:08:02 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.116: +553 -202 lines
Diff to previous 1.116 (colored) to selected 1.29 (colored)

Merge changes from current as of 20200406

Revision 1.116.10.3 / (download) - annotate - [select for diffs], Mon Apr 6 14:57:42 2020 UTC (4 years ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-2-RELEASE, netbsd-9-1-RELEASE
Changes since 1.116.10.2: +525 -193 lines
Diff to previous 1.116.10.2 (colored) to branchpoint 1.116 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by riastradh in ticket #823):

	sys/dev/cgdvar.h: revision 1.19
	sys/dev/cgd.c: revision 1.122
	sys/dev/cgd.c: revision 1.123
	sys/dev/cgd.c: revision 1.124

Defer crypto operations to a workqueue and make it utilize all CPUs.

Make device mpsafe.

Some code cleanup.

Don't wait for data buffer.

cgd: switch from malloc(9) to kmem(9)
XXX might be worthwhile to use pool_cache(9) in the write path

Revision 1.116.10.2 / (download) - annotate - [select for diffs], Sat Mar 21 15:52:09 2020 UTC (4 years ago) by martin
Branch: netbsd-9
Changes since 1.116.10.1: +3 -3 lines
Diff to previous 1.116.10.1 (colored) to branchpoint 1.116 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by riastradh in ticket #795):

	sys/dev/dksubr.c: revision 1.112
	sys/arch/xen/xen/xbd_xenbus.c: revision 1.95
	sys/dev/scsipi/sd.c: revision 1.328
	sys/dev/dkvar.h: revision 1.32
	sys/dev/ld.c: revision 1.109
	sys/dev/cgd.c: revision 1.120
	sys/dev/raidframe/rf_netbsdkintf.c: revision 1.380
	sys/dev/ata/wd.c: revision 1.458

Add a flag to dk_dump for virtual disk devices.

If a disk is backed by a physical medium other than itself, such as
cgd(4), then it passes DK_DUMP_RECURSIVE to disable the recursion
detection for dk_dump.

If, however, a device represents a physical medium on its own, such
as wd(4), then it passes 0 instead.

With this, I can now dump to dk on cgd on dk on wd.

Revision 1.116.10.1 / (download) - annotate - [select for diffs], Sat Mar 21 15:18:57 2020 UTC (4 years ago) by martin
Branch: netbsd-9
Changes since 1.116: +29 -2 lines
Diff to previous 1.116 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by riastradh in ticket #788):

	sys/sys/dkio.h: revision 1.26
	sys/dev/dkwedge/dk.c: revision 1.100
	sys/sys/disk.h: revision 1.75
	external/cddl/osnet/dist/uts/common/fs/zfs/vdev_disk.c: revision 1.14
	external/cddl/osnet/dist/uts/common/fs/zfs/vdev_disk.c: revision 1.15
	sys/dev/cgd.c: revision 1.121
	sys/dev/ata/wdvar.h: revision 1.50
	sys/kern/subr_disk_open.c: revision 1.15
	sys/dev/ata/wd.c: revision 1.459

New ioctl DIOCGSECTORALIGN returns sector alignment parameters.

struct disk_sectoralign {
        /* First aligned sector number.  */
        uint32_t dsa_firstaligned;
        /* Number of sectors per aligned unit.  */
        uint32_t dsa_alignment;
};

- Teach wd(4) to get it from ATA.
- Teach cgd(4) to pass it through from the underlying disk.
- Teach dk(4) to pass it through with adjustments.
- Teach zpool (zfs) to take advantage of it.
  => XXX zpool doesn't seem to understand when the vdev's starting
     sector is misaligned.

Missing:
- ccd(4) and raidframe(4) support -- these should support _using_
  DIOCGSECTORALIGN to decide where to start putting ccd or raid
  stripes on disk, and these should perhaps _implement_
  DIOCGSECTORALIGN by reporting the stripe/interleave factor.
- sd(4) support -- I don't know any obvious way to get it from SCSI,
  but if any SCSI wizards know better than I, please feel free to
  teach sd(4) about it!
- any ld(4) attachments -- might be worth teaching the ld drivers for
  nvme and various raid controllers to get the aligned sector size

There's some duplicate logic here for now.  I'm doing it this way,
rather than gathering the logic into a new disklabel_sectoralign
function or something, so that this change is limited to adding a new
ioctl, without any new kernel symbols, in order to make it easy to
pull up to netbsd-9 without worrying about the module ABI.

Make getdiskinfo() compatible with a DIOCGWEDGEINFO.

dkw_parent is defined to hold the disk name as used by disk_find(), not
a partition (i.e. no partition letter appended).

Use utility functions to handle disk geometry.

Revision 1.124 / (download) - annotate - [select for diffs], Fri Mar 20 19:03:13 2020 UTC (4 years ago) by tnn
Branch: MAIN
CVS Tags: phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.123: +11 -12 lines
Diff to previous 1.123 (colored) to selected 1.29 (colored)

cgd: switch from malloc(9) to kmem(9)

XXX might be worthwhile to use pool_cache(9) in the write path

Revision 1.123 / (download) - annotate - [select for diffs], Wed Mar 11 13:48:45 2020 UTC (4 years, 1 month ago) by mlelstv
Branch: MAIN
Changes since 1.122: +3 -3 lines
Diff to previous 1.122 (colored) to selected 1.29 (colored)

Don't wait for data buffer.

Revision 1.122 / (download) - annotate - [select for diffs], Mon Mar 9 08:33:15 2020 UTC (4 years, 1 month ago) by mlelstv
Branch: MAIN
Changes since 1.121: +522 -191 lines
Diff to previous 1.121 (colored) to selected 1.29 (colored)

Defer crypto operations to a workqueue and make it utilize all CPUs.
Make device mpsafe.
Some code cleanup.

Revision 1.121 / (download) - annotate - [select for diffs], Mon Mar 2 16:01:56 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp
Changes since 1.120: +29 -2 lines
Diff to previous 1.120 (colored) to selected 1.29 (colored)

New ioctl DIOCGSECTORALIGN returns sector alignment parameters.

struct disk_sectoralign {
	/* First aligned sector number.  */
	uint32_t dsa_firstaligned;

	/* Number of sectors per aligned unit.  */
	uint32_t dsa_alignment;
};

- Teach wd(4) to get it from ATA.
- Teach cgd(4) to pass it through from the underlying disk.
- Teach dk(4) to pass it through with adjustments.
- Teach zpool (zfs) to take advantage of it.
  => XXX zpool doesn't seem to understand when the vdev's starting
     sector is misaligned.

Missing:

- ccd(4) and raidframe(4) support -- these should support _using_
  DIOCGSECTORALIGN to decide where to start putting ccd or raid
  stripes on disk, and these should perhaps _implement_
  DIOCGSECTORALIGN by reporting the stripe/interleave factor.

- sd(4) support -- I don't know any obvious way to get it from SCSI,
  but if any SCSI wizards know better than I, please feel free to
  teach sd(4) about it!

- any ld(4) attachments -- might be worth teaching the ld drivers for
  nvme and various raid controllers to get the aligned sector size

There's some duplicate logic here for now.  I'm doing it this way,
rather than gathering the logic into a new disklabel_sectoralign
function or something, so that this change is limited to adding a new
ioctl, without any new kernel symbols, in order to make it easy to
pull up to netbsd-9 without worrying about the module ABI.

Revision 1.120 / (download) - annotate - [select for diffs], Sun Mar 1 03:21:54 2020 UTC (4 years, 1 month ago) by riastradh
Branch: MAIN
Changes since 1.119: +3 -3 lines
Diff to previous 1.119 (colored) to selected 1.29 (colored)

Add a flag to dk_dump for virtual disk devices.

If a disk is backed by a physical medium other than itself, such as
cgd(4), then it passes DK_DUMP_RECURSIVE to disable the recursion
detection for dk_dump.

If, however, a device represents a physical medium on its own, such
as wd(4), then it passes 0 instead.

With this, I can now dump to dk on cgd on dk on wd.

Revision 1.118.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:30 2020 UTC (4 years, 3 months ago) by ad
Branch: ad-namecache
Changes since 1.118: +4 -2 lines
Diff to previous 1.118 (colored) next main 1.119 (colored) to selected 1.29 (colored)

Sync with head.

Revision 1.119 / (download) - annotate - [select for diffs], Fri Jan 17 19:31:30 2020 UTC (4 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: ad-namecache-base3, ad-namecache-base2, ad-namecache-base1
Changes since 1.118: +4 -2 lines
Diff to previous 1.118 (colored) to selected 1.29 (colored)

Acquire kernel_lock in the bp->b_iodone callback.

Revision 1.118 / (download) - annotate - [select for diffs], Sat Dec 14 16:58:38 2019 UTC (4 years, 4 months ago) by riastradh
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.117: +9 -17 lines
Diff to previous 1.117 (colored) to selected 1.29 (colored)

Just use KASSERTMSG and panic.  No need for custom wrappers.

Revision 1.117 / (download) - annotate - [select for diffs], Sun Dec 8 12:14:40 2019 UTC (4 years, 4 months ago) by mlelstv
Branch: MAIN
Changes since 1.116: +3 -3 lines
Diff to previous 1.116 (colored) to selected 1.29 (colored)

Switch to vn_bdev_open* functions.

Revision 1.116 / (download) - annotate - [select for diffs], Tue Jan 23 22:42:29 2018 UTC (6 years, 2 months ago) by pgoyette
Branch: MAIN
CVS Tags: phil-wifi-base, phil-wifi-20191119, phil-wifi-20190609, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, jdolecek-ncqfixes-base, jdolecek-ncqfixes, isaki-audio2-base, isaki-audio2
Branch point for: phil-wifi, netbsd-9
Changes since 1.115: +3 -3 lines
Diff to previous 1.115 (colored) to selected 1.29 (colored)

Add "bufq_fcfs" requirement to all those driver modules that explicitly
request it in their calls to bufq_alloc().

Revision 1.77.2.4 / (download) - annotate - [select for diffs], Sun Dec 3 11:36:58 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.77.2.3: +402 -208 lines
Diff to previous 1.77.2.3 (colored) to branchpoint 1.77 (colored) next main 1.78 (colored) to selected 1.29 (colored)

update from HEAD

Revision 1.115 / (download) - annotate - [select for diffs], Sat Oct 28 03:47:24 2017 UTC (6 years, 5 months ago) by riastradh
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.114: +2 -3 lines
Diff to previous 1.114 (colored) to selected 1.29 (colored)

Kill some more extern cfdriver xyz_cd in favour of #include "ioconf.h".

Revision 1.90.2.3 / (download) - annotate - [select for diffs], Mon Oct 23 19:27:44 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.90.2.2: +3 -3 lines
Diff to previous 1.90.2.2 (colored) to branchpoint 1.90 (colored) next main 1.91 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by kamil in ticket #1518):
	sys/dev/cgd.c: revision 1.113
PR kern/52630: The cgd(4) module requires des and blowfish symbols
This has been exposed with the MODULAR kernel.
kobj_checksyms, 979: [cgd]: linker error: symbol `BF_set_key' not found
kobj_checksyms, 979: [cgd]: linker error: symbol `des_key_sched' not found
kobj_checksyms, 979: [cgd]: linker error: symbol `des_ede3_cbc_encrypt' not found
WARNING: module error: unable to affix module `cgd', error 8
Reviewed by <riastradh>

Revision 1.90.2.1.4.2 / (download) - annotate - [select for diffs], Mon Oct 23 19:27:43 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-7-1
CVS Tags: netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE
Changes since 1.90.2.1.4.1: +3 -3 lines
Diff to previous 1.90.2.1.4.1 (colored) to branchpoint 1.90.2.1 (colored) next main 1.90.2.2 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by kamil in ticket #1518):
	sys/dev/cgd.c: revision 1.113
PR kern/52630: The cgd(4) module requires des and blowfish symbols
This has been exposed with the MODULAR kernel.
kobj_checksyms, 979: [cgd]: linker error: symbol `BF_set_key' not found
kobj_checksyms, 979: [cgd]: linker error: symbol `des_key_sched' not found
kobj_checksyms, 979: [cgd]: linker error: symbol `des_ede3_cbc_encrypt' not found
WARNING: module error: unable to affix module `cgd', error 8
Reviewed by <riastradh>

Revision 1.90.4.3 / (download) - annotate - [select for diffs], Mon Oct 23 19:27:41 2017 UTC (6 years, 5 months ago) by snj
Branch: netbsd-7-0
Changes since 1.90.4.2: +3 -3 lines
Diff to previous 1.90.4.2 (colored) to branchpoint 1.90 (colored) next main 1.91 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by kamil in ticket #1518):
	sys/dev/cgd.c: revision 1.113
PR kern/52630: The cgd(4) module requires des and blowfish symbols
This has been exposed with the MODULAR kernel.
kobj_checksyms, 979: [cgd]: linker error: symbol `BF_set_key' not found
kobj_checksyms, 979: [cgd]: linker error: symbol `des_key_sched' not found
kobj_checksyms, 979: [cgd]: linker error: symbol `des_ede3_cbc_encrypt' not found
WARNING: module error: unable to affix module `cgd', error 8
Reviewed by <riastradh>

Revision 1.91.2.8 / (download) - annotate - [select for diffs], Mon Aug 28 17:52:00 2017 UTC (6 years, 7 months ago) by skrll
Branch: nick-nhusb
Changes since 1.91.2.7: +5 -9 lines
Diff to previous 1.91.2.7 (colored) to branchpoint 1.91 (colored) next main 1.92 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.76.10.1 / (download) - annotate - [select for diffs], Fri Jul 21 04:03:01 2017 UTC (6 years, 8 months ago) by snj
Branch: netbsd-6-0
Changes since 1.76: +6 -2 lines
Diff to previous 1.76 (colored) next main 1.77 (colored) to selected 1.29 (colored)

Apply patch (requested by chs in ticket #1455):
Avoid crashes by checking if a cgd device has been configured before
processing most ioctls, and failing with ENXIO if the device is not
configured.

Revision 1.76.12.1 / (download) - annotate - [select for diffs], Fri Jul 21 04:02:34 2017 UTC (6 years, 8 months ago) by snj
Branch: netbsd-6-1
Changes since 1.76: +6 -2 lines
Diff to previous 1.76 (colored) next main 1.77 (colored) to selected 1.29 (colored)

Apply patch (requested by chs in ticket #1455):
Avoid crashes by checking if a cgd device has been configured before
processing most ioctls, and failing with ENXIO if the device is not
configured.

Revision 1.76.6.2 / (download) - annotate - [select for diffs], Fri Jul 21 04:02:12 2017 UTC (6 years, 8 months ago) by snj
Branch: netbsd-6
Changes since 1.76.6.1: +6 -2 lines
Diff to previous 1.76.6.1 (colored) to branchpoint 1.76 (colored) next main 1.77 (colored) to selected 1.29 (colored)

Apply patch (requested by chs in ticket #1455):
Avoid crashes by checking if a cgd device has been configured before
processing most ioctls, and failing with ENXIO if the device is not
configured.

Revision 1.90.2.2 / (download) - annotate - [select for diffs], Sat Jul 8 16:14:19 2017 UTC (6 years, 9 months ago) by snj
Branch: netbsd-7
Changes since 1.90.2.1: +6 -2 lines
Diff to previous 1.90.2.1 (colored) to branchpoint 1.90 (colored) to selected 1.29 (colored)

Apply patch (requested by chs in ticket #1429):
Avoid crashes by checking if a cgd device has been configured before
processing most ioctls, and failing with ENXIO if the device is not
configured.

Revision 1.90.2.1.4.1 / (download) - annotate - [select for diffs], Sat Jul 8 16:13:55 2017 UTC (6 years, 9 months ago) by snj
Branch: netbsd-7-1
Changes since 1.90.2.1: +6 -2 lines
Diff to previous 1.90.2.1 (colored) to selected 1.29 (colored)

Apply patch (requested by chs in ticket #1429):
Avoid crashes by checking if a cgd device has been configured before
processing most ioctls, and failing with ENXIO if the device is not
configured.

Revision 1.90.4.2 / (download) - annotate - [select for diffs], Sat Jul 8 16:12:44 2017 UTC (6 years, 9 months ago) by snj
Branch: netbsd-7-0
Changes since 1.90.4.1: +6 -2 lines
Diff to previous 1.90.4.1 (colored) to branchpoint 1.90 (colored) to selected 1.29 (colored)

Apply patch (requested by chs in ticket #1429):
Avoid crashes by checking if a cgd device has been configured before
processing most ioctls, and failing with ENXIO if the device is not
configured.

Revision 1.114.4.7 / (download) - annotate - [select for diffs], Wed May 17 01:44:17 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.114.4.6: +3 -6 lines
Diff to previous 1.114.4.6 (colored) to branchpoint 1.114 (colored) next main 1.115 (colored) to selected 1.29 (colored)

At suggestion of chuq@, modify config_attach_pseudo() to return with a
reference held on the device.

Adapt callers to expect the reference to exist, and to ensure that the
reference is released.

Revision 1.114.4.6 / (download) - annotate - [select for diffs], Sat Apr 29 10:50:46 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.114.4.5: +2 -3 lines
Diff to previous 1.114.4.5 (colored) to branchpoint 1.114 (colored) to selected 1.29 (colored)

Remove explicit inclusion of <sys/localcount.h> since there is no
explicit usage of localcounts here.  <sys/conf.h> will take care of
including as needed.

Revision 1.114.4.5 / (download) - annotate - [select for diffs], Sat Apr 29 08:55:37 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.114.4.4: +4 -2 lines
Diff to previous 1.114.4.4 (colored) to branchpoint 1.114 (colored) to selected 1.29 (colored)

add a comment - NFC

Revision 1.114.4.4 / (download) - annotate - [select for diffs], Fri Apr 28 06:00:33 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.114.4.3: +4 -6 lines
Diff to previous 1.114.4.3 (colored) to branchpoint 1.114 (colored) to selected 1.29 (colored)

Introduce config_detach_release() which does all the work from the
former config_detach().  Now, config_detach() simply acquires a
reference to the device, which config_detach_release() can release!

This is needed because some drivers call config_detach() with a
reference, while other drivers have not been updated to use the
localcount reference mechanism.  So we provide a shim to make
everyone equal.

Revision 1.114.4.3 / (download) - annotate - [select for diffs], Thu Apr 27 12:07:23 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.114.4.2: +3 -3 lines
Diff to previous 1.114.4.2 (colored) to branchpoint 1.114 (colored) to selected 1.29 (colored)

Once more let's try to fix the exit path in cgdclose()

Revision 1.114.4.2 / (download) - annotate - [select for diffs], Thu Apr 27 11:58:58 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.114.4.1: +9 -8 lines
Diff to previous 1.114.4.1 (colored) to branchpoint 1.114 (colored) to selected 1.29 (colored)

Fix checking of failure-to-spawn a unit (check the returned address for
NULL, vs the pointer to that address).

Ensure that that device_release() is called in all exit paths from cgd_close().

Update handling of CGDIOCCLR ioctl the same as CGDIOCSET.  In particular,
don't return without calling device_release(), as any subsequent attempt to
detach the device will hang forever waiting for its localcount to drain.

Revision 1.114.4.1 / (download) - annotate - [select for diffs], Thu Apr 27 05:36:35 2017 UTC (6 years, 11 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.114: +143 -46 lines
Diff to previous 1.114 (colored) to selected 1.29 (colored)

Restore all work from the former pgoyette-localcount branch (which is
now abandoned doe to cvs merge botch).

The branch now builds, and installs via anita.  There are still some
problems (cgd is non-functional and all atf tests time-out) but they
will get resolved soon.

Revision 1.113.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:44 2017 UTC (6 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.113: +5 -9 lines
Diff to previous 1.113 (colored) next main 1.114 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.108.2.21 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:27 2017 UTC (7 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.20: +7 -13 lines
Diff to previous 1.108.2.20 (colored) to branchpoint 1.108 (colored) next main 1.109 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.114 / (download) - annotate - [select for diffs], Mon Feb 27 21:25:45 2017 UTC (7 years, 1 month ago) by jdolecek
Branch: MAIN
CVS Tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Branch point for: prg-localcount2, netbsd-8
Changes since 1.113: +5 -9 lines
Diff to previous 1.113 (colored) to selected 1.29 (colored)

pass also DIOCGCACHE to underlying device, so that upper layers would be able
to get device cache properties without knowing the topology

Revision 1.91.2.7 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:26 2017 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.91.2.6: +187 -47 lines
Diff to previous 1.91.2.6 (colored) to branchpoint 1.91 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.108.2.20 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:31 2017 UTC (7 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.19: +187 -47 lines
Diff to previous 1.108.2.19 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.113 / (download) - annotate - [select for diffs], Thu Dec 22 20:57:33 2016 UTC (7 years, 3 months ago) by kamil
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, nick-nhusb-base-20170204, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.112: +3 -3 lines
Diff to previous 1.112 (colored) to selected 1.29 (colored)

The cgd(4) module requires des and blowfish symbols

This has been exposed with the MODULAR kernel.

kobj_checksyms, 979: [cgd]: linker error: symbol `BF_set_key' not found
kobj_checksyms, 979: [cgd]: linker error: symbol `des_key_sched' not found
kobj_checksyms, 979: [cgd]: linker error: symbol `des_ede3_cbc_encrypt' not found
WARNING: module error: unable to affix module `cgd', error 8

Reviewed by <riastradh>

Revision 1.112 / (download) - annotate - [select for diffs], Sun Dec 11 00:20:49 2016 UTC (7 years, 4 months ago) by alnsn
Branch: MAIN
Changes since 1.111: +186 -46 lines
Diff to previous 1.111 (colored) to selected 1.29 (colored)

Add XTS mode to cgd(4).

Revision 1.108.2.19 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:08 2016 UTC (7 years, 5 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.18: +15 -9 lines
Diff to previous 1.108.2.18 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.91.2.6 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:39 2016 UTC (7 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.91.2.5: +106 -30 lines
Diff to previous 1.91.2.5 (colored) to branchpoint 1.91 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.111 / (download) - annotate - [select for diffs], Wed Sep 14 23:16:30 2016 UTC (7 years, 7 months ago) by mlelstv
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104, nick-nhusb-base-20161204, nick-nhusb-base-20161004
Changes since 1.110: +17 -15 lines
Diff to previous 1.110 (colored) to selected 1.29 (colored)

Fix error handling in cgdstrategy().

- check cgd_softc != NULL, may happen in rare memory shortage situations.
- no longer test geometry, the same check is done in dk_strategy which
  knows to check for an uninitialized geometry.

Revision 1.108.2.18 / (download) - annotate - [select for diffs], Sat Aug 6 00:19:07 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.17: +5 -5 lines
Diff to previous 1.108.2.17 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.110 / (download) - annotate - [select for diffs], Fri Aug 5 08:24:46 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: MAIN
CVS Tags: pgoyette-localcount-20160806, localcount-20160914
Changes since 1.109: +5 -5 lines
Diff to previous 1.109 (colored) to selected 1.29 (colored)

Ignore return values when restoring what has just been undone.  We're
really just putting back something that was there before, so we should
not get any errors, and a panic() would be rather severe.

This and the corresponding commit to vnd.c address newly reported
Coverity CID 1364761 and CID 1364760

Revision 1.108.2.17 / (download) - annotate - [select for diffs], Thu Jul 28 06:45:32 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.16: +2 -8 lines
Diff to previous 1.108.2.16 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Remove duplicated code (cut-and-paste error)

Revision 1.108.2.16 / (download) - annotate - [select for diffs], Tue Jul 26 05:54:39 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.15: +4 -4 lines
Diff to previous 1.108.2.15 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Rename LOCALCOUNT_INITIALIZER to DEVSW_MODULE_INIT.  This better describes
what we're doing, and why.

Revision 1.108.2.15 / (download) - annotate - [select for diffs], Tue Jul 26 03:24:20 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.14: +8 -3 lines
Diff to previous 1.108.2.14 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.109 / (download) - annotate - [select for diffs], Mon Jul 25 12:45:13 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: MAIN
CVS Tags: pgoyette-localcount-20160726
Changes since 1.108: +43 -16 lines
Diff to previous 1.108 (colored) to selected 1.29 (colored)

When initializing the rump cgd component, use the correct driver name
(as found in the devsw_conv[] table).  This will get us the "official"
major numbers for the cgd device.

After creating the rump file-space nodes for /dev/cgd* we then need to
detach the [bc]devsw's because normal module initialization will do its
own attachment, and we don't want that to fail.

While here, since we're doing the devsw_attach() twice, share the
results from the first call rather than starting from scratch.

Revision 1.108.2.14 / (download) - annotate - [select for diffs], Mon Jul 25 03:40:52 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.13: +7 -2 lines
Diff to previous 1.108.2.13 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Add a comment to describe why we didn't convert one caller of
device_lokup_private().

Revision 1.108.2.13 / (download) - annotate - [select for diffs], Sun Jul 24 10:44:57 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.12: +37 -21 lines
Diff to previous 1.108.2.12 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Call device_release() in appropriate error paths.

In the module initialization code, make the bmajor/cmajor variables
global so they can be shared with the rump component initialization.

Revision 1.108.2.12 / (download) - annotate - [select for diffs], Sun Jul 24 00:14:08 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.11: +5 -35 lines
Diff to previous 1.108.2.11 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Remove cgd_release() - it's not needed now that getcgd_softc() provides
access to the device_t

Restore original cgdattach() - seems to be needed after all.

Remove some debug printf's from GETCGD_SOFTC() macro.

Revision 1.108.2.11 / (download) - annotate - [select for diffs], Sat Jul 23 03:20:37 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.10: +4 -20 lines
Diff to previous 1.108.2.10 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Remove debug printfs.

For MODULE builds, define cgd_cd via CFDRIVER_DECL

Revision 1.108.2.10 / (download) - annotate - [select for diffs], Sat Jul 23 02:36:51 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.9: +62 -30 lines
Diff to previous 1.108.2.9 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Revert changes in revision 1.108.2.3

For pseudo-devices, config(1) doesn't provide a valid cfattach, so when
a modular driver calls config_pseudo_attach() it will fail.  This is not
an issue for built-in drivers.

Revision 1.108.2.9 / (download) - annotate - [select for diffs], Fri Jul 22 06:32:54 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.8: +5 -14 lines
Diff to previous 1.108.2.8 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Remove debug

Revision 1.108.2.8 / (download) - annotate - [select for diffs], Fri Jul 22 05:49:53 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.7: +17 -7 lines
Diff to previous 1.108.2.7 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Call cgd_spawn() if the requested device doesn't exist, rather than if
the device exists but without any softc data.

Revision 1.108.2.7 / (download) - annotate - [select for diffs], Fri Jul 22 03:44:36 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.6: +3 -3 lines
Diff to previous 1.108.2.6 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Pass correct arg to cgd_spawn()

Revision 1.108.2.6 / (download) - annotate - [select for diffs], Fri Jul 22 03:40:51 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.5: +3 -3 lines
Diff to previous 1.108.2.5 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Use correct prototype.

Revision 1.108.2.5 / (download) - annotate - [select for diffs], Fri Jul 22 03:39:43 2016 UTC (7 years, 8 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.4: +95 -41 lines
Diff to previous 1.108.2.4 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Make sure that whenever we're using the cgd device's softc, we maintain
a reference to the device so things won't get deleted out from under us!

Revision 1.108.2.4 / (download) - annotate - [select for diffs], Wed Jul 20 06:51:13 2016 UTC (7 years, 9 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.3: +55 -12 lines
Diff to previous 1.108.2.3 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

First pass at updating the cgd(4) driver for use with localcount(9)
ref-counts.

So far all I've done is to manage the ref-counts.  This will defer
removal of the driver from the devsw tables and/or the autoconf tree
while anyone has a reference to any of the device's critical data
(mostly, the softc or the device_t).  Note that these ref-counts will
only defer the removal;  once the references are released, the removal
will proceed.

On-going work is needed to identify potentially blocking operations,
and to deny any removals if such operations are in-flight.  We really
shouldn't be waiting (possibly indefinitely) for these operations to
complete, especially since removals could be attempted by the module(9)
subsystem while holding the kernel_config lock.

Revision 1.108.2.3 / (download) - annotate - [select for diffs], Wed Jul 20 04:33:53 2016 UTC (7 years, 9 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.2: +36 -17 lines
Diff to previous 1.108.2.2 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Rather than manually manipulating individual autoconf data, just use
config_{init,fini}_component() to do it all at once.

Revision 1.108.2.2 / (download) - annotate - [select for diffs], Tue Jul 19 06:26:58 2016 UTC (7 years, 9 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108.2.1: +4 -12 lines
Diff to previous 1.108.2.1 (colored) to branchpoint 1.108 (colored) to selected 1.29 (colored)

Instead of repeatedly typing the conditional initialization of the
.d_localcount members in the various {b,c}devsw, define an initializer
macro and use it.  This also removes the need for defining new symbols
for each 'struct localcount'.

As suggested by riastradh@

Revision 1.108.2.1 / (download) - annotate - [select for diffs], Mon Jul 18 03:49:59 2016 UTC (7 years, 9 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.108: +13 -2 lines
Diff to previous 1.108 (colored) to selected 1.29 (colored)

Rump drivers are always installed via devsw_attach() so we need to
always allocate a 'struct localcount' for these drivers whenever they
are built as modules.

Revision 1.108 / (download) - annotate - [select for diffs], Sun Jul 10 17:40:23 2016 UTC (7 years, 9 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-localcount-base
Branch point for: pgoyette-localcount
Changes since 1.107: +50 -3 lines
Diff to previous 1.107 (colored) to selected 1.29 (colored)

Make kernel core dumps on cgd(4) work.

Revision 1.91.2.5 / (download) - annotate - [select for diffs], Sat Jul 9 20:25:01 2016 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.91.2.4: +7 -6 lines
Diff to previous 1.91.2.4 (colored) to branchpoint 1.91 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.107 / (download) - annotate - [select for diffs], Thu Jul 7 06:55:40 2016 UTC (7 years, 9 months ago) by msaitoh
Branch: MAIN
CVS Tags: nick-nhusb-base-20160907
Changes since 1.106: +7 -6 lines
Diff to previous 1.106 (colored) to selected 1.29 (colored)

KNF. Remove extra spaces. No functional change.

Revision 1.91.2.4 / (download) - annotate - [select for diffs], Sun Dec 27 12:09:48 2015 UTC (8 years, 3 months ago) by skrll
Branch: nick-nhusb
Changes since 1.91.2.3: +24 -18 lines
Diff to previous 1.91.2.3 (colored) to branchpoint 1.91 (colored) to selected 1.29 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.106 / (download) - annotate - [select for diffs], Sat Nov 28 21:06:30 2015 UTC (8 years, 4 months ago) by mlelstv
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226
Changes since 1.105: +2 -5 lines
Diff to previous 1.105 (colored) to selected 1.29 (colored)

Remove bogus dk_getdisklabel call.

- there is no need to read the label in the attach routine
- passing a (dev_t)0 may cause havoc.

This fixes PR 41704.

Revision 1.105 / (download) - annotate - [select for diffs], Sat Nov 28 14:45:24 2015 UTC (8 years, 4 months ago) by mlelstv
Branch: MAIN
Changes since 1.104: +24 -15 lines
Diff to previous 1.104 (colored) to selected 1.29 (colored)

Inherit sector size from underlying disk to support disks with
sector sizes other than 512 bytes.

The CGD disk image depends on disk geometry as it encodes the block
number into each block. You cannot copy an image between disks
with different sector sizes.

Revision 1.90.2.1 / (download) - annotate - [select for diffs], Wed Nov 4 16:25:17 2015 UTC (8 years, 5 months ago) by riz
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1
Branch point for: netbsd-7-1
Changes since 1.90: +3 -3 lines
Diff to previous 1.90 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by riastradh in ticket #899):
	sys/dev/cgd.c: revision 1.97
Use explicit_memset to zero key material.

Revision 1.90.4.1 / (download) - annotate - [select for diffs], Wed Nov 4 16:24:38 2015 UTC (8 years, 5 months ago) by riz
Branch: netbsd-7-0
CVS Tags: netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE
Changes since 1.90: +3 -3 lines
Diff to previous 1.90 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by riastradh in ticket #899):
	sys/dev/cgd.c: revision 1.97
Use explicit_memset to zero key material.

Revision 1.91.2.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:56 2015 UTC (8 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.91.2.2: +60 -76 lines
Diff to previous 1.91.2.2 (colored) to branchpoint 1.91 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.104 / (download) - annotate - [select for diffs], Thu Aug 27 05:51:50 2015 UTC (8 years, 7 months ago) by mlelstv
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.103: +4 -7 lines
Diff to previous 1.103 (colored) to selected 1.29 (colored)

Make dksubr use a spin-mutex again, since some drivers still call dk_done
from hardware interrupt. Instead, release mutex while calling start routine.

The buffer peek/use/get sequence which can no longer be atomic. So consume
the buffer directly and on error privately save and retry the buffer later.
The dk_drain function is used to flush such a deferred buffer together with
the buffer queue.
Adjust drivers to use dk_drain.

Fix an error path where dk_done was called while the lock was already held.

Revision 1.103 / (download) - annotate - [select for diffs], Fri Aug 21 09:33:53 2015 UTC (8 years, 7 months ago) by christos
Branch: MAIN
Changes since 1.102: +7 -2 lines
Diff to previous 1.102 (colored) to selected 1.29 (colored)

don't allow STRATEGY if we are not inited.

Revision 1.102 / (download) - annotate - [select for diffs], Thu Aug 20 14:40:17 2015 UTC (8 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.101: +4 -4 lines
Diff to previous 1.101 (colored) to selected 1.29 (colored)

include "ioconf.h" to get the 'void <driver>attach(int count);' prototype.

Revision 1.101 / (download) - annotate - [select for diffs], Wed Aug 19 20:15:20 2015 UTC (8 years, 8 months ago) by mlelstv
Branch: MAIN
Changes since 1.100: +3 -2 lines
Diff to previous 1.100 (colored) to selected 1.29 (colored)

restart queue when a request completes

Revision 1.100 / (download) - annotate - [select for diffs], Tue Aug 18 21:24:19 2015 UTC (8 years, 8 months ago) by mlelstv
Branch: MAIN
Changes since 1.99: +7 -2 lines
Diff to previous 1.99 (colored) to selected 1.29 (colored)

restore deleted lines that kept buffer fields resid,count and error consistent.

Revision 1.99 / (download) - annotate - [select for diffs], Sun Aug 16 18:00:03 2015 UTC (8 years, 8 months ago) by mlelstv
Branch: MAIN
Changes since 1.98: +50 -74 lines
Diff to previous 1.98 (colored) to selected 1.29 (colored)

Two changes to the dksubr interface.

- d_diskstart callback now processes a single buffer only.
  The new wrapper function dk_start processes the queue,
  performs other buffer handling and also provides locking
  for the the data structures.

- add d_discard callback to handle device specific function inside
  the new dk_discard helper function.

Replace splbio with mutex to protect queue and disk structure.
Refactor common code in dk_strategy and dk_discard into dk_translate.

Adjust and simplify ld(4), cgd(4) and xbd(4) drivers accordingly.

ld(4) now becomes MP_SAFE.

Bump kernel version.

Revision 1.91.2.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:06 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.91.2.1: +37 -44 lines
Diff to previous 1.91.2.1 (colored) to branchpoint 1.91 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.98 / (download) - annotate - [select for diffs], Sat May 2 08:00:08 2015 UTC (8 years, 11 months ago) by mlelstv
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.97: +36 -43 lines
Diff to previous 1.97 (colored) to selected 1.29 (colored)

Merge dk_intf and dkdriver interfaces.
Merge common disk driver functionality in ld.c with dksubr.c.
Adjust the two previous users of dk_intf (cgd and xbd) to
the changes.

bump kernel version to 7.99.14

Revision 1.97 / (download) - annotate - [select for diffs], Sat Apr 25 13:06:11 2015 UTC (8 years, 11 months ago) by riastradh
Branch: MAIN
Changes since 1.96: +3 -3 lines
Diff to previous 1.96 (colored) to selected 1.29 (colored)

Use explicit_memset to zero key material.

Revision 1.91.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:08 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.91: +8 -9 lines
Diff to previous 1.91 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.96 / (download) - annotate - [select for diffs], Fri Jan 2 19:42:06 2015 UTC (9 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.95: +3 -3 lines
Diff to previous 1.95 (colored) to selected 1.29 (colored)

We have three sets of DTYPE_ constants in the kernel:
	altq		Drop 		Type
	disklabel	Disk 		Type
	file		Descriptor	Type
(not to mention constants that contain the string DTYPE).
Let's make them two, by changing the disklabel one to be DisK TYPE since the
other disklabel constants seem to do that. Not many userland programs use
these constants (and the ones that they do are mostly in ifdefs). They will
be fixed shortly.

Revision 1.95 / (download) - annotate - [select for diffs], Fri Jan 2 01:13:00 2015 UTC (9 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.94: +2 -7 lines
Diff to previous 1.94 (colored) to selected 1.29 (colored)

these call dk_ioctl, no need to call disk_ioctl anymore.

Revision 1.94 / (download) - annotate - [select for diffs], Wed Dec 31 19:52:05 2014 UTC (9 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.93: +3 -3 lines
Diff to previous 1.93 (colored) to selected 1.29 (colored)

make more drivers use disk_ioctl, and add a dev parameter to it so that
we can merge the "easy" disklabel ioctls to it. Ultimately all this will
go do dk_ioctl once all the drivers have been converted.

Revision 1.93 / (download) - annotate - [select for diffs], Tue Dec 30 20:18:44 2014 UTC (9 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.92: +7 -8 lines
Diff to previous 1.92 (colored) to selected 1.29 (colored)

return quickly from the GET ioctl to avoid playing with NULL.

Revision 1.92 / (download) - annotate - [select for diffs], Mon Dec 29 18:23:57 2014 UTC (9 years, 3 months ago) by mlelstv
Branch: MAIN
Changes since 1.91: +7 -2 lines
Diff to previous 1.91 (colored) to selected 1.29 (colored)

use disk_ioctl to provide DIOCGDISKINFO.

Revision 1.91 / (download) - annotate - [select for diffs], Thu Oct 2 21:01:38 2014 UTC (9 years, 6 months ago) by justin
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.90: +3 -3 lines
Diff to previous 1.90 (colored) to selected 1.29 (colored)

devmajor_t not int

Revision 1.77.2.3 / (download) - annotate - [select for diffs], Wed Aug 20 00:03:35 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-maxphys
Changes since 1.77.2.2: +94 -74 lines
Diff to previous 1.77.2.2 (colored) to branchpoint 1.77 (colored) to selected 1.29 (colored)

Rebase to HEAD as of a few days ago.

Revision 1.85.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:54:50 2014 UTC (9 years, 8 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.85: +68 -61 lines
Diff to previous 1.85 (colored) next main 1.86 (colored) to selected 1.29 (colored)

Rebase.

Revision 1.90 / (download) - annotate - [select for diffs], Fri Jul 25 08:10:35 2014 UTC (9 years, 8 months ago) by dholland
Branch: MAIN
CVS Tags: tls-maxphys-base, tls-earlyentropy-base, netbsd-7-base, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1
Branch point for: netbsd-7-0, netbsd-7
Changes since 1.89: +3 -2 lines
Diff to previous 1.89 (colored) to selected 1.29 (colored)

Add d_discard to all struct cdevsw instances I could find.

All have been set to "nodiscard"; some should get a real implementation.

Revision 1.89 / (download) - annotate - [select for diffs], Fri Jul 25 08:02:19 2014 UTC (9 years, 8 months ago) by dholland
Branch: MAIN
Changes since 1.88: +3 -2 lines
Diff to previous 1.88 (colored) to selected 1.29 (colored)

Add d_discard to all struct bdevsw instances I could find.

I've set them all to nodiscard. Some of them (wd, dk, vnd, ld,
raidframe, maybe cgd) should be implemented for real.

Revision 1.88 / (download) - annotate - [select for diffs], Sat Jun 14 07:39:00 2014 UTC (9 years, 10 months ago) by hannken
Branch: MAIN
Changes since 1.87: +5 -10 lines
Diff to previous 1.87 (colored) to selected 1.29 (colored)

Change dk_lookup() to return an anonymous vnode not associated with
any file system.  Change all consumers of dk_lookup() to get the
device from "v_rdev" instead of VOP_GETATTR() as specfs does not
support VOP_GETATTR().  Devices obtained with dk_lookup() will no
longer disappear on forced unmounts.

Fix for PR kern/48849 (root mirror raid fails on shutdown)

Welcome to 6.99.44

Revision 1.76.6.1 / (download) - annotate - [select for diffs], Tue Jun 3 09:17:52 2014 UTC (9 years, 10 months ago) by sborrill
Branch: netbsd-6
Changes since 1.76: +62 -53 lines
Diff to previous 1.76 (colored) to selected 1.29 (colored)

Pull up the following revisions(s) (requested by bouyer in ticket #1075):
	sys/arch/xen/xen/xbd_xenbus.c:	revision 1.63 via patch
	sys/dev/cgd.c:			revision 1.87 via patch
	sys/dev/dksubr.c:		revision 1.50 via patch
	sys/dev/dkvar.h:		revision 1.19 via patch

Avoid xbd(4) reordering requests, which, depending on the underlying
hardware, can badly affect write performances. This can give up to a 5x
performance gain in sequencial writes.

Revision 1.87 / (download) - annotate - [select for diffs], Sun May 25 19:23:49 2014 UTC (9 years, 10 months ago) by bouyer
Branch: MAIN
Changes since 1.86: +62 -53 lines
Diff to previous 1.86 (colored) to selected 1.29 (colored)

As proposed in
https://mail-index.netbsd.org/tech-kern/2014/05/21/msg017098.html
remove dk_start() and dk_iodone() from dksubr.c and move the related code
to the underlying driver.
This increase complexity only marginally: the underlying drivers have
to do the while() loop themselves, but this can now be done properly with
bufq_peek()/bufq_get(), removing the buffer from the queue at the right time.
This handle both the recursion and reordering issues (the reordering
issue is described here:
https://mail-index.netbsd.org/tech-kern/2014/05/19/msg017089.html
the recursion isssue is PR #25240).

Difference with the patch posted to tech-kern@: KASSERT() that the
buffer we remove with bufq_get() is the same as the one we bufq_peek()'d
just before.
Hopefully this will allow more disk drivers to use dksubr.c

Revision 1.86 / (download) - annotate - [select for diffs], Sun May 25 19:15:50 2014 UTC (9 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.85: +3 -2 lines
Diff to previous 1.85 (colored) to selected 1.29 (colored)

create on attach needs destroy on detach.

Revision 1.75.2.4 / (download) - annotate - [select for diffs], Thu May 22 11:40:19 2014 UTC (9 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.75.2.3: +56 -42 lines
Diff to previous 1.75.2.3 (colored) to branchpoint 1.75 (colored) next main 1.76 (colored) to selected 1.29 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.81.2.1 / (download) - annotate - [select for diffs], Sun May 18 17:45:35 2014 UTC (9 years, 11 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.81: +30 -17 lines
Diff to previous 1.81 (colored) next main 1.82 (colored) to selected 1.29 (colored)

sync with head

Revision 1.85 / (download) - annotate - [select for diffs], Tue Mar 18 15:44:37 2014 UTC (10 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: yamt-pagecache-base9, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Branch point for: tls-earlyentropy
Changes since 1.84: +7 -7 lines
Diff to previous 1.84 (colored) to selected 1.29 (colored)

Remove a simplelock and replace with a kmutex

Revision 1.84 / (download) - annotate - [select for diffs], Sun Mar 16 05:20:26 2014 UTC (10 years, 1 month ago) by dholland
Branch: MAIN
CVS Tags: riastradh-drm2-base3
Changes since 1.83: +20 -6 lines
Diff to previous 1.83 (colored) to selected 1.29 (colored)

Change (mostly mechanically) every cdevsw/bdevsw I can find to use
designated initializers.

I have not built every extant kernel so I have probably broken at
least one build; however I've also found and fixed some wrong
cdevsw/bdevsw entries so even if so I think we come out ahead.

Revision 1.83 / (download) - annotate - [select for diffs], Sat Dec 28 19:25:07 2013 UTC (10 years, 3 months ago) by pgoyette
Branch: MAIN
Changes since 1.82: +3 -3 lines
Diff to previous 1.82 (colored) to selected 1.29 (colored)

Make dksubr.c into a module, and make the cgd and dm modules depend on
it.

Now that cgd is completely modularized, descend into modules/cgd to
actually create the module.

Revision 1.82 / (download) - annotate - [select for diffs], Thu Sep 12 12:28:49 2013 UTC (10 years, 7 months ago) by martin
Branch: MAIN
Changes since 1.81: +6 -7 lines
Diff to previous 1.81 (colored) to selected 1.29 (colored)

#ifdef variable declarations/initializations like their use

Revision 1.77.2.2 / (download) - annotate - [select for diffs], Sun Jun 23 06:20:16 2013 UTC (10 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.77.2.1: +28 -27 lines
Diff to previous 1.77.2.1 (colored) to branchpoint 1.77 (colored) to selected 1.29 (colored)

resync from head

Revision 1.81 / (download) - annotate - [select for diffs], Thu May 30 08:28:13 2013 UTC (10 years, 10 months ago) by martin
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Changes since 1.80: +3 -3 lines
Diff to previous 1.80 (colored) to selected 1.29 (colored)

Avoid dereferencing an uninitialized pointer

Revision 1.80 / (download) - annotate - [select for diffs], Wed May 29 23:25:39 2013 UTC (10 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.79: +27 -26 lines
Diff to previous 1.79 (colored) to selected 1.29 (colored)

eliminare dk_geom

Revision 1.79 / (download) - annotate - [select for diffs], Wed May 29 00:47:48 2013 UTC (10 years, 10 months ago) by christos
Branch: MAIN
Changes since 1.78: +3 -3 lines
Diff to previous 1.78 (colored) to selected 1.29 (colored)

phase 1 of disk geometry cleanup:
	- centralize the geometry -> plist code so that we don't have
	  n useless copies of it.

Revision 1.77.2.1 / (download) - annotate - [select for diffs], Mon Feb 25 00:29:10 2013 UTC (11 years, 1 month ago) by tls
Branch: tls-maxphys
Changes since 1.77: +57 -6 lines
Diff to previous 1.77 (colored) to selected 1.29 (colored)

resync with head

Revision 1.75.2.3 / (download) - annotate - [select for diffs], Wed Jan 16 05:33:13 2013 UTC (11 years, 3 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.75.2.2: +57 -6 lines
Diff to previous 1.75.2.2 (colored) to branchpoint 1.75 (colored) to selected 1.29 (colored)

sync with (a bit old) head

Revision 1.78 / (download) - annotate - [select for diffs], Wed Dec 5 02:23:20 2012 UTC (11 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, khorben-n900, agc-symver-base, agc-symver
Changes since 1.77: +57 -6 lines
Diff to previous 1.77 (colored) to selected 1.29 (colored)

add cgdconfig -l like vnconfig -l

Revision 1.75.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:20:49 2012 UTC (11 years, 5 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.75.2.1: +11 -9 lines
Diff to previous 1.75.2.1 (colored) to branchpoint 1.75 (colored) to selected 1.29 (colored)

sync with head

Revision 1.76.4.1 / (download) - annotate - [select for diffs], Sat Jun 2 11:09:16 2012 UTC (11 years, 10 months ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.76: +11 -9 lines
Diff to previous 1.76 (colored) next main 1.77 (colored) to selected 1.29 (colored)

sync to latest -current.

Revision 1.77 / (download) - annotate - [select for diffs], Fri May 25 10:53:46 2012 UTC (11 years, 10 months ago) by elric
Branch: MAIN
CVS Tags: yamt-pagecache-base6, jmcneill-usbmp-base10
Branch point for: tls-maxphys
Changes since 1.76: +11 -9 lines
Diff to previous 1.76 (colored) to selected 1.29 (colored)

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.

Revision 1.75.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:07:25 2012 UTC (12 years ago) by yamt
Branch: yamt-pagecache
Changes since 1.75: +7 -28 lines
Diff to previous 1.75 (colored) to selected 1.29 (colored)

sync with head

Revision 1.76 / (download) - annotate - [select for diffs], Sun Nov 13 23:03:24 2011 UTC (12 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base5, yamt-pagecache-base4, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, jmcneill-usbmp-pre-base2, jmcneill-usbmp-base9, jmcneill-usbmp-base8, jmcneill-usbmp-base7, jmcneill-usbmp-base6, jmcneill-usbmp-base5, jmcneill-usbmp-base4, jmcneill-usbmp-base3, jmcneill-usbmp-base2, jmcneill-usbmp-base, jmcneill-audiomp3-base, jmcneill-audiomp3
Branch point for: netbsd-6-1, netbsd-6-0, netbsd-6, jmcneill-usbmp
Changes since 1.75: +7 -28 lines
Diff to previous 1.75 (colored) to selected 1.29 (colored)

use getdisksize() instead of homebrew()

Revision 1.75 / (download) - annotate - [select for diffs], Fri Oct 14 09:23:30 2011 UTC (12 years, 6 months ago) by hannken
Branch: MAIN
CVS Tags: yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base
Branch point for: yamt-pagecache
Changes since 1.74: +6 -3 lines
Diff to previous 1.74 (colored) to selected 1.29 (colored)

Change the vnode locking protocol of VOP_GETATTR() to request at least
a shared lock.  Make all calls outside of file systems respect it.

The calls from file systems need review.

No objections from tech-kern.

Revision 1.72.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:19:54 2011 UTC (12 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.72: +17 -14 lines
Diff to previous 1.72 (colored) next main 1.73 (colored) to selected 1.29 (colored)

Catchup with rmind-uvmplock merge.

Revision 1.74 / (download) - annotate - [select for diffs], Tue Jun 21 06:23:38 2011 UTC (12 years, 10 months ago) by jruoho
Branch: MAIN
Changes since 1.73: +15 -12 lines
Diff to previous 1.73 (colored) to selected 1.29 (colored)

Adjust the #ifdefs such that ccd(4) and cgd(4) show in
modstat(8) even if built into the kernel.

Revision 1.73 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:51 2011 UTC (12 years, 10 months ago) by rmind
Branch: MAIN
Changes since 1.72: +4 -4 lines
Diff to previous 1.72 (colored) to selected 1.29 (colored)

Welcome to 5.99.53!  Merge rmind-uvmplock branch:

- Reorganize locking in UVM and provide extra serialisation for pmap(9).
  New lock order: [vmpage-owner-lock] -> pmap-lock.

- Simplify locking in some pmap(9) modules by removing P->V locking.

- Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share
  the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs).

- Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner.
  Add TLBSTATS option for x86 to collect statistics about TLB shootdowns.

- Unify /dev/mem et al in MI code and provide required locking (removes
  kernel-lock on some ports).  Also, avoid cache-aliasing issues.

Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches
formed the core changes of this branch.

Revision 1.71.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:07:38 2011 UTC (12 years, 10 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.71: +17 -2 lines
Diff to previous 1.71 (colored) next main 1.72 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.70.2.3 / (download) - annotate - [select for diffs], Tue May 31 03:04:34 2011 UTC (12 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.70.2.2: +15 -0 lines
Diff to previous 1.70.2.2 (colored) to branchpoint 1.70 (colored) next main 1.71 (colored) to selected 1.29 (colored)

sync with head

Revision 1.72 / (download) - annotate - [select for diffs], Thu May 19 20:34:13 2011 UTC (12 years, 11 months ago) by riastradh
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase, rmind-uvmplock-base, cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.71: +17 -2 lines
Diff to previous 1.71 (colored) to selected 1.29 (colored)

Reject unaligned writes to cgd.

Fixes the following PRs:

PR kern/44515 (cgd dies on non-aligned writes to the raw device)
PR kern/44964 (cgd seems to panic on unaligned writes instead of giving EINVAL)

ok christos

Revision 1.70.2.2 / (download) - annotate - [select for diffs], Sat Mar 5 20:52:59 2011 UTC (13 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.70.2.1: +13 -3 lines
Diff to previous 1.70.2.1 (colored) to branchpoint 1.70 (colored) to selected 1.29 (colored)

sync with head

Revision 1.71 / (download) - annotate - [select for diffs], Fri Nov 19 06:44:39 2010 UTC (13 years, 5 months ago) by dholland
Branch: MAIN
CVS Tags: matt-mips64-premerge-20101231, jruoho-x86intr-base, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: jruoho-x86intr
Changes since 1.70: +13 -3 lines
Diff to previous 1.70 (colored) to selected 1.29 (colored)

Introduce struct pathbuf. This is an abstraction to hold a pathname
and the metadata required to interpret it. Callers of namei must now
create a pathbuf and pass it to NDINIT (instead of a string and a
uio_seg), then destroy the pathbuf after the namei session is
complete.

Update all namei call sites accordingly. Add a pathbuf(9) man page and
update namei(9).

The pathbuf interface also now appears in a couple of related
additional places that were passing string/uio_seg pairs that were
later fed into NDINIT. Update other call sites accordingly.

Revision 1.69.2.1 / (download) - annotate - [select for diffs], Fri Apr 30 14:43:04 2010 UTC (13 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.69: +5 -2 lines
Diff to previous 1.69 (colored) next main 1.70 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.53.4.2.4.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:27:32 2010 UTC (14 years ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-k15
Changes since 1.53.4.2: +5 -3 lines
Diff to previous 1.53.4.2 (colored) next main 1.53.4.3 (colored) to selected 1.29 (colored)

sync to netbsd-5

Revision 1.70.2.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:05 2010 UTC (14 years, 1 month ago) by rmind
Branch: rmind-uvmplock
Changes since 1.70: +4 -4 lines
Diff to previous 1.70 (colored) to selected 1.29 (colored)

Change struct uvm_object::vmobjlock to be dynamically allocated with
mutex_obj_alloc().  It allows us to share the locks among UVM objects.

Revision 1.51.6.5 / (download) - annotate - [select for diffs], Thu Mar 11 15:03:21 2010 UTC (14 years, 1 month ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.51.6.4: +158 -75 lines
Diff to previous 1.51.6.4 (colored) to branchpoint 1.51 (colored) next main 1.52 (colored) to selected 1.29 (colored)

sync with head

Revision 1.70 / (download) - annotate - [select for diffs], Thu Feb 11 18:24:48 2010 UTC (14 years, 2 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base4, uebayasi-xip-base3, uebayasi-xip-base2, uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.69: +5 -2 lines
Diff to previous 1.69 (colored) to selected 1.29 (colored)

Register with pmf.

Revision 1.53.4.2.2.1 / (download) - annotate - [select for diffs], Sat Jan 30 19:05:04 2010 UTC (14 years, 2 months ago) by snj
Branch: netbsd-5-0
CVS Tags: netbsd-5-0-2-RELEASE
Changes since 1.53.4.2: +5 -3 lines
Diff to previous 1.53.4.2 (colored) next main 1.53.4.3 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1269):
	sys/dev/dkwedge/dk.c: revision 1.53
	sys/dev/cgd.c: revision 1.69
	sys/dev/vnd.c: revision 1.206
struct buf::b_iodone is not called at splbio() any more.
Make sure non-MPsafe iodone callbacks raise the SPL as appropriate.
Fix buffer corruption issue I noticed in dk(4), and probable similar
issues in vnd(4) and cgd(4).

Revision 1.53.4.3 / (download) - annotate - [select for diffs], Sat Jan 30 19:00:46 2010 UTC (14 years, 2 months ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, matt-nb5-pq3-base, matt-nb5-pq3
Changes since 1.53.4.2: +5 -3 lines
Diff to previous 1.53.4.2 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by bouyer in ticket #1269):
	sys/dev/cgd.c: revision 1.69
	sys/dev/vnd.c: revision 1.206
	sys/dev/dkwedge/dk.c: revision 1.53
struct buf::b_iodone is not called at splbio() any more.
Make sure non-MPsafe iodone callbacks raise the SPL as appropriate.
Fix buffer corruption issue I noticed in dk(4), and probable similar
issues in vnd(4) and cgd(4).

Revision 1.69 / (download) - annotate - [select for diffs], Sat Jan 23 18:31:04 2010 UTC (14 years, 2 months ago) by bouyer
Branch: MAIN
CVS Tags: uebayasi-xip-base
Branch point for: uebayasi-xip
Changes since 1.68: +5 -3 lines
Diff to previous 1.68 (colored) to selected 1.29 (colored)

struct buf::b_iodone is not called at splbio() any more.
Make sure non-MPsafe iodone callbacks raise the SPL as appropriate.
Fix buffer corruption issue I noticed in dk(4), and probable similar
issues in vnd(4) and cgd(4).

Revision 1.68 / (download) - annotate - [select for diffs], Wed Jan 20 19:00:47 2010 UTC (14 years, 3 months ago) by dyoung
Branch: MAIN
Changes since 1.67: +8 -20 lines
Diff to previous 1.67 (colored) to selected 1.29 (colored)

Cosmetic: get out of cgdioctl() early.  Instead of

	int ret;

        switch (...) {
        case ...:
                ret = ...;
                break;
        }
        return ret;

write:

        switch (...) {
        case ...:
                return ...;
        }

Revision 1.67 / (download) - annotate - [select for diffs], Wed Jan 20 18:55:17 2010 UTC (14 years, 3 months ago) by dyoung
Branch: MAIN
Changes since 1.66: +13 -15 lines
Diff to previous 1.66 (colored) to selected 1.29 (colored)

Get out of cgd_detach() early on error.  Do not call disk_destroy(9)
on error, that leaves the cgd_softc in an inconsistent state.

Fixes a crash during shutdown reported by Patrick Welche.  Thanks
to Patrick for reporting and for testing the fix.

Revision 1.66 / (download) - annotate - [select for diffs], Tue Jan 12 23:49:34 2010 UTC (14 years, 3 months ago) by dyoung
Branch: MAIN
Changes since 1.65: +26 -5 lines
Diff to previous 1.65 (colored) to selected 1.29 (colored)

Provide a more complete modules hook, cgd_modcmd(), derived from
vnd_modcmd().

Revision 1.65 / (download) - annotate - [select for diffs], Tue Jan 12 21:08:08 2010 UTC (14 years, 3 months ago) by dyoung
Branch: MAIN
Changes since 1.64: +115 -46 lines
Diff to previous 1.64 (colored) to selected 1.29 (colored)

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.

Revision 1.64 / (download) - annotate - [select for diffs], Tue Nov 10 20:39:36 2009 UTC (14 years, 5 months ago) by christos
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.63: +7 -7 lines
Diff to previous 1.63 (colored) to selected 1.29 (colored)

avoid doing extra work by just zeroing/printing real blocksize.

Revision 1.63 / (download) - annotate - [select for diffs], Tue Nov 10 20:24:30 2009 UTC (14 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.62: +3 -3 lines
Diff to previous 1.62 (colored) to selected 1.29 (colored)

add a missing c.

Revision 1.62 / (download) - annotate - [select for diffs], Tue Nov 10 20:05:50 2009 UTC (14 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.61: +18 -10 lines
Diff to previous 1.61 (colored) to selected 1.29 (colored)

avoid variable array stack allocation by enforcing and allocating always the
maximum.

Revision 1.61 / (download) - annotate - [select for diffs], Tue Nov 10 16:49:53 2009 UTC (14 years, 5 months ago) by tron
Branch: MAIN
Changes since 1.60: +10 -16 lines
Diff to previous 1.60 (colored) to selected 1.29 (colored)

Backout the last two revisions because the cause panic on LOCKDEBUG
kernels. Problem reported by David Young.

Revision 1.51.6.4 / (download) - annotate - [select for diffs], Wed Sep 16 13:37:45 2009 UTC (14 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.51.6.3: +16 -10 lines
Diff to previous 1.51.6.3 (colored) to branchpoint 1.51 (colored) to selected 1.29 (colored)

sync with head

Revision 1.60 / (download) - annotate - [select for diffs], Fri Sep 11 13:36:37 2009 UTC (14 years, 7 months ago) by tron
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8, jym-xensuspend-nbase
Changes since 1.59: +7 -7 lines
Diff to previous 1.59 (colored) to selected 1.29 (colored)

Fix incomplete conversion from stack buffers to heap buffers.

Revision 1.59 / (download) - annotate - [select for diffs], Fri Sep 11 09:28:34 2009 UTC (14 years, 7 months ago) by tron
Branch: MAIN
Changes since 1.58: +11 -5 lines
Diff to previous 1.58 (colored) to selected 1.29 (colored)

Don't allocate block buffers on the stack. This can cause stack overflows
in the kernel and breaks SSP builds.

Revision 1.56.2.2 / (download) - annotate - [select for diffs], Thu Jul 23 23:31:45 2009 UTC (14 years, 8 months ago) by jym
Branch: jym-xensuspend
Changes since 1.56.2.1: +37 -2 lines
Diff to previous 1.56.2.1 (colored) to branchpoint 1.56 (colored) next main 1.57 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.51.6.3 / (download) - annotate - [select for diffs], Sat Jun 20 07:20:20 2009 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.51.6.2: +37 -2 lines
Diff to previous 1.51.6.2 (colored) to branchpoint 1.51 (colored) to selected 1.29 (colored)

sync with head

Revision 1.58 / (download) - annotate - [select for diffs], Fri Jun 5 19:21:02 2009 UTC (14 years, 10 months ago) by haad
Branch: MAIN
CVS Tags: yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, jymxensuspend-base
Changes since 1.57: +37 -2 lines
Diff to previous 1.57 (colored) to selected 1.29 (colored)

Add work in support for compiling ccd and cgd drivers as a modules. I forgot
to committ when I have written device module autoloading stuff.

Revision 1.56.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:19:05 2009 UTC (14 years, 11 months ago) by jym
Branch: jym-xensuspend
Changes since 1.56: +17 -2 lines
Diff to previous 1.56 (colored) to selected 1.29 (colored)

Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.

Revision 1.51.6.2 / (download) - annotate - [select for diffs], Mon May 4 08:12:32 2009 UTC (14 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.51.6.1: +76 -24 lines
Diff to previous 1.51.6.1 (colored) to branchpoint 1.51 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.53.2.2 / (download) - annotate - [select for diffs], Tue Apr 28 07:35:13 2009 UTC (14 years, 11 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.53.2.1: +17 -2 lines
Diff to previous 1.53.2.1 (colored) to branchpoint 1.53 (colored) next main 1.54 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.53.4.2 / (download) - annotate - [select for diffs], Sat Apr 4 17:18:53 2009 UTC (15 years ago) by snj
Branch: netbsd-5
CVS Tags: netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-1-RELEASE, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b
Branch point for: netbsd-5-0, matt-nb5-mips64
Changes since 1.53.4.1: +17 -2 lines
Diff to previous 1.53.4.1 (colored) to branchpoint 1.53 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by apb in ticket #653):
	sys/dev/cgd.c: revision 1.57
Pass DIOCCACHESYNC ioctl down to the underlying disk.
Addresses PR 41016.

Revision 1.57 / (download) - annotate - [select for diffs], Sat Mar 14 17:56:47 2009 UTC (15 years, 1 month ago) by apb
Branch: MAIN
CVS Tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, jym-xensuspend-base
Changes since 1.56: +17 -2 lines
Diff to previous 1.56 (colored) to selected 1.29 (colored)

Pass DIOCCACHESYNC ioctl down to the underlying disk.
Addresses PR 41016.

Revision 1.53.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:17:51 2009 UTC (15 years, 3 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.53: +36 -21 lines
Diff to previous 1.53 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.50.6.5 / (download) - annotate - [select for diffs], Sat Jan 17 13:28:52 2009 UTC (15 years, 3 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.50.6.4: +34 -19 lines
Diff to previous 1.50.6.4 (colored) to branchpoint 1.50 (colored) next main 1.51 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.56 / (download) - annotate - [select for diffs], Sun Jan 11 09:51:38 2009 UTC (15 years, 3 months ago) by cegger
Branch: MAIN
CVS Tags: nick-hppapmap-base2, mjf-devfs2-base
Branch point for: jym-xensuspend
Changes since 1.55: +13 -12 lines
Diff to previous 1.55 (colored) to selected 1.29 (colored)

make this compile

Revision 1.55 / (download) - annotate - [select for diffs], Sun Jan 11 02:45:50 2009 UTC (15 years, 3 months ago) by christos
Branch: MAIN
Changes since 1.54: +11 -11 lines
Diff to previous 1.54 (colored) to selected 1.29 (colored)

merge christos-time_t

Revision 1.51.2.3 / (download) - annotate - [select for diffs], Sat Dec 27 23:14:24 2008 UTC (15 years, 3 months ago) by christos
Branch: christos-time_t
Changes since 1.51.2.2: +25 -11 lines
Diff to previous 1.51.2.2 (colored) to branchpoint 1.51 (colored) next main 1.52 (colored) to selected 1.29 (colored)

merge with head.

Revision 1.52.6.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:14:12 2008 UTC (15 years, 4 months ago) by haad
Branch: haad-dm
Changes since 1.52.6.1: +25 -11 lines
Diff to previous 1.52.6.1 (colored) to branchpoint 1.52 (colored) next main 1.53 (colored) to selected 1.29 (colored)

Update haad-dm branch to haad-dm-base2.

Revision 1.53.4.1 / (download) - annotate - [select for diffs], Sun Nov 23 21:10:46 2008 UTC (15 years, 4 months ago) by riz
Branch: netbsd-5
CVS Tags: netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1
Changes since 1.53: +25 -11 lines
Diff to previous 1.53 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by jakllsch in ticket #111):
	sys/dev/cgd.c: revision 1.54
PR/38735: Jonathan A. Kollasch: cgd cannot be used on top of wedges

Revision 1.54 / (download) - annotate - [select for diffs], Fri Nov 21 20:14:20 2008 UTC (15 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: haad-nbase2, haad-dm-base2, haad-dm-base, christos-time_t-nbase, christos-time_t-base, ad-audiomp2-base, ad-audiomp2
Changes since 1.53: +25 -11 lines
Diff to previous 1.53 (colored) to selected 1.29 (colored)

PR/38735: Jonathan A. Kollasch: add the ability for cgd to be used on top of wedges

Revision 1.51.2.2 / (download) - annotate - [select for diffs], Sat Nov 1 21:22:26 2008 UTC (15 years, 5 months ago) by christos
Branch: christos-time_t
Changes since 1.51.2.1: +27 -12 lines
Diff to previous 1.51.2.1 (colored) to branchpoint 1.51 (colored) to selected 1.29 (colored)

Sync with head.

Revision 1.52.6.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:16:18 2008 UTC (15 years, 6 months ago) by haad
Branch: haad-dm
Changes since 1.52: +27 -5 lines
Diff to previous 1.52 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.50.6.4 / (download) - annotate - [select for diffs], Sun Sep 28 10:40:18 2008 UTC (15 years, 6 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.50.6.3: +25 -3 lines
Diff to previous 1.50.6.3 (colored) to branchpoint 1.50 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.52.2.1 / (download) - annotate - [select for diffs], Wed Sep 24 16:38:51 2008 UTC (15 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.52: +27 -5 lines
Diff to previous 1.52 (colored) next main 1.53 (colored) to selected 1.29 (colored)

Merge in changes between wrstuden-revivesa-base-2 and
wrstuden-revivesa-base-3.

Revision 1.53 / (download) - annotate - [select for diffs], Fri Sep 12 16:51:55 2008 UTC (15 years, 7 months ago) by christos
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, netbsd-5-base, matt-mips64-base2, haad-dm-base1
Branch point for: nick-hppapmap, netbsd-5
Changes since 1.52: +27 -5 lines
Diff to previous 1.52 (colored) to selected 1.29 (colored)

PR/39525: Joachim Schueth, Frederik Sausmikat:
cgd inadvertently encrypts blkno eight times to generate IV
Add "encblkno1" IV type to encrypt only once, rename old "encblkno" to
"encblkno8" for clarity, and make "encblkno" an alias for "encblkno8"
for backward compatibility.

Revision 1.50.6.3 / (download) - annotate - [select for diffs], Mon Jun 2 13:23:11 2008 UTC (15 years, 10 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.50.6.2: +2 -9 lines
Diff to previous 1.50.6.2 (colored) to branchpoint 1.50 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.51.4.1 / (download) - annotate - [select for diffs], Sun May 18 12:33:30 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-pf42
Changes since 1.51: +2 -9 lines
Diff to previous 1.51 (colored) next main 1.52 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.51.6.1 / (download) - annotate - [select for diffs], Fri May 16 02:23:48 2008 UTC (15 years, 11 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.51: +2 -9 lines
Diff to previous 1.51 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.52 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:46 2008 UTC (15 years, 11 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa, haad-dm
Changes since 1.51: +2 -9 lines
Diff to previous 1.51 (colored) to selected 1.29 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.50.6.2 / (download) - annotate - [select for diffs], Sat Apr 5 23:33:20 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.50.6.1: +14 -4 lines
Diff to previous 1.50.6.1 (colored) to branchpoint 1.50 (colored) to selected 1.29 (colored)

- add "file-system DEVFS" and "pseudo-device devfsctl" to conf/std seeing
  as these are always needed.

- convert many, many drivers over to the New Devfs World Order. For a
  list of device drivers yet to be converted see,
  http://www.netbsd.org/~mjf/devfs-todo.html.

- add a new device_unregister_all(device_t) function to remove all device
  names associated with a device_t, which saves us having to construct
  device names when the driver is detached.

- add a DEV_AUDIO type for devices.

Revision 1.50.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:36 2008 UTC (16 years ago) by mjf
Branch: mjf-devfs2
Changes since 1.50: +4 -4 lines
Diff to previous 1.50 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.51.2.1 / (download) - annotate - [select for diffs], Sat Mar 29 20:47:00 2008 UTC (16 years ago) by christos
Branch: christos-time_t
Changes since 1.51: +11 -11 lines
Diff to previous 1.51 (colored) to selected 1.29 (colored)

Welcome to the time_t=long long dev_t=uint64_t branch.

Revision 1.27.2.8 / (download) - annotate - [select for diffs], Mon Mar 24 09:38:46 2008 UTC (16 years ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.2.7: +4 -4 lines
Diff to previous 1.27.2.7 (colored) next main 1.28 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.51 / (download) - annotate - [select for diffs], Fri Mar 21 21:54:59 2008 UTC (16 years, 1 month ago) by ad
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp, christos-time_t
Changes since 1.50: +4 -4 lines
Diff to previous 1.50 (colored) to selected 1.29 (colored)

Catch up with descriptor handling changes. See kern_descrip.c revision
1.173 for details.

Revision 1.47.4.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:05:31 2008 UTC (16 years, 2 months ago) by mjf
Branch: mjf-devfs
Changes since 1.47.4.1: +11 -7 lines
Diff to previous 1.47.4.1 (colored) to branchpoint 1.47 (colored) next main 1.48 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.27.2.7 / (download) - annotate - [select for diffs], Mon Jan 21 09:42:23 2008 UTC (16 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.2.6: +11 -7 lines
Diff to previous 1.27.2.6 (colored) to selected 1.29 (colored)

sync with head

Revision 1.46.6.2 / (download) - annotate - [select for diffs], Wed Jan 9 01:52:11 2008 UTC (16 years, 3 months ago) by matt
Branch: matt-armv6
Changes since 1.46.6.1: +13 -9 lines
Diff to previous 1.46.6.1 (colored) to branchpoint 1.46 (colored) next main 1.47 (colored) to selected 1.29 (colored)

sync with HEAD

Revision 1.48.6.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:10:53 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.48.6.1: +0 -1 lines
Diff to previous 1.48.6.1 (colored) to branchpoint 1.48 (colored) next main 1.49 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.50 / (download) - annotate - [select for diffs], Fri Jan 4 21:17:46 2008 UTC (16 years, 3 months ago) by ad
Branch: MAIN
CVS Tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, matt-armv6-nbase, matt-armv6-base, keiichi-mipv6-nbase, keiichi-mipv6-base, keiichi-mipv6, hpcarm-cleanup-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Branch point for: mjf-devfs2
Changes since 1.49: +2 -3 lines
Diff to previous 1.49 (colored) to selected 1.29 (colored)

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.

Revision 1.48.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:53:45 2008 UTC (16 years, 3 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.48: +11 -6 lines
Diff to previous 1.48 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.49 / (download) - annotate - [select for diffs], Wed Jan 2 11:48:36 2008 UTC (16 years, 3 months ago) by ad
Branch: MAIN
Changes since 1.48: +11 -6 lines
Diff to previous 1.48 (colored) to selected 1.29 (colored)

Merge vmlocking2 to head.

Revision 1.47.4.1 / (download) - annotate - [select for diffs], Sat Dec 8 18:19:18 2007 UTC (16 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.47: +4 -4 lines
Diff to previous 1.47 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.27.2.6 / (download) - annotate - [select for diffs], Fri Dec 7 17:29:16 2007 UTC (16 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.2.5: +4 -4 lines
Diff to previous 1.27.2.5 (colored) to selected 1.29 (colored)

sync with head

Revision 1.48.2.1 / (download) - annotate - [select for diffs], Tue Dec 4 13:02:55 2007 UTC (16 years, 4 months ago) by ad
Branch: vmlocking2
Changes since 1.48: +11 -6 lines
Diff to previous 1.48 (colored) next main 1.49 (colored) to selected 1.29 (colored)

Pull the vmlocking changes into a new branch.

Revision 1.46.4.2 / (download) - annotate - [select for diffs], Tue Nov 27 19:36:57 2007 UTC (16 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.46.4.1: +4 -4 lines
Diff to previous 1.46.4.1 (colored) to branchpoint 1.46 (colored) next main 1.47 (colored) to selected 1.29 (colored)

Sync with HEAD. amd64 Xen support needs testing.

Revision 1.48 / (download) - annotate - [select for diffs], Mon Nov 26 19:01:34 2007 UTC (16 years, 4 months ago) by pooka
Branch: MAIN
CVS Tags: yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, cube-autoconf-base, cube-autoconf
Branch point for: vmlocking2, bouyer-xeni386
Changes since 1.47: +4 -4 lines
Diff to previous 1.47 (colored) to selected 1.29 (colored)

Remove the "struct lwp *" argument from all VFS and VOP interfaces.
The general trend is to remove it from all kernel interfaces and
this is a start.  In case the calling lwp is desired, curlwp should
be used.

quick consensus on tech-kern

Revision 1.46.6.1 / (download) - annotate - [select for diffs], Tue Nov 6 23:25:27 2007 UTC (16 years, 5 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.46: +5 -6 lines
Diff to previous 1.46 (colored) to selected 1.29 (colored)

sync with HEAD

Revision 1.27.2.5 / (download) - annotate - [select for diffs], Sat Oct 27 11:29:57 2007 UTC (16 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.2.4: +5 -6 lines
Diff to previous 1.27.2.4 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.46.4.1 / (download) - annotate - [select for diffs], Fri Oct 26 15:44:09 2007 UTC (16 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.46: +5 -6 lines
Diff to previous 1.46 (colored) to selected 1.29 (colored)

Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.

Revision 1.46.8.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:47:59 2007 UTC (16 years, 6 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.46: +5 -6 lines
Diff to previous 1.46 (colored) next main 1.47 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.47 / (download) - annotate - [select for diffs], Mon Oct 8 16:41:10 2007 UTC (16 years, 6 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base4, yamt-x86pmap-base3, vmlocking-base, jmcneill-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: mjf-devfs
Changes since 1.46: +5 -6 lines
Diff to previous 1.46 (colored) to selected 1.29 (colored)

Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.

Revision 1.27.2.4 / (download) - annotate - [select for diffs], Mon Sep 3 14:33:10 2007 UTC (16 years, 7 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.2.3: +17 -17 lines
Diff to previous 1.27.2.3 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.42.4.1 / (download) - annotate - [select for diffs], Mon Sep 3 07:04:18 2007 UTC (16 years, 7 months ago) by wrstuden
Branch: wrstuden-fixsa
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 (colored) next main 1.43 (colored) to selected 1.29 (colored)

Sync w/ NetBSD-4-RC_1

Revision 1.44.2.7 / (download) - annotate - [select for diffs], Fri Aug 24 23:28:34 2007 UTC (16 years, 7 months ago) by ad
Branch: vmlocking
Changes since 1.44.2.6: +6 -5 lines
Diff to previous 1.44.2.6 (colored) to branchpoint 1.44 (colored) next main 1.45 (colored) to selected 1.29 (colored)

Sync with buffer cache locking changes. See buf.h/vfs_bio.c for details.
Some minor portions are incomplete and needs to be verified as a whole.

Revision 1.44.2.6 / (download) - annotate - [select for diffs], Mon Aug 20 22:42:50 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.44.2.5: +3 -3 lines
Diff to previous 1.44.2.5 (colored) to branchpoint 1.44 (colored) to selected 1.29 (colored)

Sync with head.

Revision 1.44.2.5 / (download) - annotate - [select for diffs], Mon Aug 20 18:16:10 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.44.2.4: +5 -6 lines
Diff to previous 1.44.2.4 (colored) to branchpoint 1.44 (colored) to selected 1.29 (colored)

- Alter disk attach/detach to fix a panic when closing a vnd device.
- Sync with HEAD.

Revision 1.44.2.4 / (download) - annotate - [select for diffs], Sun Aug 19 19:24:20 2007 UTC (16 years, 8 months ago) by ad
Branch: vmlocking
Changes since 1.44.2.3: +6 -7 lines
Diff to previous 1.44.2.3 (colored) to branchpoint 1.44 (colored) to selected 1.29 (colored)

- Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).

Revision 1.45.2.1 / (download) - annotate - [select for diffs], Wed Aug 15 13:48:12 2007 UTC (16 years, 8 months ago) by skrll
Branch: nick-csl-alignment
Changes since 1.45: +5 -7 lines
Diff to previous 1.45 (colored) next main 1.46 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.46.10.2 / (download) - annotate - [select for diffs], Sun Jul 29 12:50:19 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.46.10.1: +799 -0 lines
Diff to previous 1.46.10.1 (colored) to branchpoint 1.46 (colored) next main 1.47 (colored) to selected 1.29 (colored)

It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.46.10.1, Sun Jul 29 12:50:18 2007 UTC (16 years, 8 months ago) by ad
Branch: matt-mips64
Changes since 1.46: +0 -799 lines
FILE REMOVED

file cgd.c was added on branch matt-mips64 on 2007-07-29 12:50:19 +0000

Revision 1.46 / (download) - annotate - [select for diffs], Sun Jul 29 12:50:18 2007 UTC (16 years, 8 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base2, yamt-x86pmap-base, nick-csl-alignment-base5, matt-mips64-base, hpcarm-cleanup
Branch point for: yamt-x86pmap, matt-mips64, matt-armv6, jmcneill-pm
Changes since 1.45: +5 -7 lines
Diff to previous 1.45 (colored) to selected 1.29 (colored)

It's not a good idea for device drivers to modify b_flags, as they don't
need to understand the locking around that field. Instead of setting
B_ERROR, set b_error instead. b_error is 'owned' by whoever completes
the I/O request.

Revision 1.44.2.3 / (download) - annotate - [select for diffs], Sun Jul 15 13:21:06 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.44.2.2: +3 -3 lines
Diff to previous 1.44.2.2 (colored) to branchpoint 1.44 (colored) to selected 1.29 (colored)

Sync with head.

Revision 1.44.4.1 / (download) - annotate - [select for diffs], Wed Jul 11 20:04:59 2007 UTC (16 years, 9 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored) next main 1.45 (colored) to selected 1.29 (colored)

Sync with head.

Revision 1.44.2.2 / (download) - annotate - [select for diffs], Sun Jul 1 17:35:21 2007 UTC (16 years, 9 months ago) by ad
Branch: vmlocking
Changes since 1.44.2.1: +7 -3 lines
Diff to previous 1.44.2.1 (colored) to branchpoint 1.44 (colored) to selected 1.29 (colored)

V_INCR_NUMOUTPUT() is no more.

Revision 1.42.2.1 / (download) - annotate - [select for diffs], Sun Jul 1 17:09:24 2007 UTC (16 years, 9 months ago) by bouyer
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, matt-nb4-arm-base, matt-nb4-arm
Changes since 1.42: +3 -3 lines
Diff to previous 1.42 (colored) next main 1.43 (colored) to selected 1.29 (colored)

Pull up following revision(s) (requested by cube in ticket #748):
	sys/dev/dksubr.c: revision 1.29
	sys/dev/ccd.c: revision 1.120
	sys/dev/raidframe/rf_disks.c: revision 1.66
	sys/dev/raidframe/rf_reconstruct.c: revision 1.96
	sys/dev/cgd.c: revision 1.45
	sys/dev/dkvar.h: revision 1.11
	sys/dev/raidframe/rf_copyback.c: revision 1.38
Change dk_lookup() to accept an additional argument of the type enum uio_seg
that tells whether the given path is in user space or kernel space, so it
can tell NDINIT().
While the raidframe calls were ok, both ccd(4) and cgd(4) were passing
pointers to user space data, which leads to strange error on i386, as
reported by Jukka Salmi on current-users.

Revision 1.45 / (download) - annotate - [select for diffs], Tue Jun 26 15:22:24 2007 UTC (16 years, 9 months ago) by cube
Branch: MAIN
CVS Tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored) to selected 1.29 (colored)

Change dk_lookup() to accept an additional argument of the type enum uio_seg
that tells whether the given path is in user space or kernel space, so it
can tell NDINIT().

While the raidframe calls were ok, both ccd(4) and cgd(4) were passing
pointers to user space data, which leads to strange error on i386, as
reported by Jukka Salmi on current-users.

The issue has been there since last august, I'm actually a bit surprised
that no one in the meantime has used ccd(4) or cgd(4) on an arch where it
would have simply faulted.

Revision 1.44.2.1 / (download) - annotate - [select for diffs], Sun May 13 17:36:20 2007 UTC (16 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.44: +3 -3 lines
Diff to previous 1.44 (colored) to selected 1.29 (colored)

- Pass the error number and residual count to biodone(), and let it handle
  setting error indicators. Prepare to eliminate B_ERROR.
- Add a flag argument to brelse() to be set into the buf's flags, instead
  of doing it directly. Typically used to set B_INVAL.
- Add a "struct cpu_info *" argument to kthread_create(), to be used to
  create bound threads. Change "bool mpsafe" to "int flags".
- Allow exit of LWPs in the IDL state when (l != curlwp).
- More locking fixes & conversion to the new API.

Revision 1.43.2.1 / (download) - annotate - [select for diffs], Mon Mar 12 05:53:02 2007 UTC (17 years, 1 month ago) by rmind
Branch: yamt-idlelwp
Changes since 1.43: +13 -11 lines
Diff to previous 1.43 (colored) next main 1.44 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.44 / (download) - annotate - [select for diffs], Sun Mar 4 06:01:41 2007 UTC (17 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Changes since 1.43: +13 -11 lines
Diff to previous 1.43 (colored) to selected 1.29 (colored)

Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.27.2.3 / (download) - annotate - [select for diffs], Mon Feb 26 09:09:53 2007 UTC (17 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.2.2: +5 -5 lines
Diff to previous 1.27.2.2 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.37.4.3 / (download) - annotate - [select for diffs], Thu Feb 1 08:48:17 2007 UTC (17 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.37.4.2: +5 -5 lines
Diff to previous 1.37.4.2 (colored) to branchpoint 1.37 (colored) next main 1.38 (colored) to selected 1.29 (colored)

Sync with head.

Revision 1.43 / (download) - annotate - [select for diffs], Fri Jan 19 18:59:59 2007 UTC (17 years, 3 months ago) by cbiere
Branch: MAIN
CVS Tags: post-newlock2-merge, newlock2-nbase, newlock2-base, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp
Changes since 1.42: +5 -5 lines
Diff to previous 1.42 (colored) to selected 1.29 (colored)

cgd_ioctl_set():
  * Corrected type of keybytes to size_t to prevent a potential buffer
    overflow on 64-bit archs.
  * Fixed incorrect but harmless use of sizeof.
hexprint():
  * Corrected cast to prevent sign extension if char is signed.

Revision 1.37.4.2 / (download) - annotate - [select for diffs], Fri Jan 12 00:57:34 2007 UTC (17 years, 3 months ago) by ad
Branch: newlock2
Changes since 1.37.4.1: +3 -3 lines
Diff to previous 1.37.4.1 (colored) to branchpoint 1.37 (colored) to selected 1.29 (colored)

Sync with head.

Revision 1.27.2.2 / (download) - annotate - [select for diffs], Sat Dec 30 20:47:49 2006 UTC (17 years, 3 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27.2.1: +7 -7 lines
Diff to previous 1.27.2.1 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.37.6.2 / (download) - annotate - [select for diffs], Sun Dec 10 07:16:53 2006 UTC (17 years, 4 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.37.6.1: +6 -6 lines
Diff to previous 1.37.6.1 (colored) to branchpoint 1.37 (colored) next main 1.38 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.42 / (download) - annotate - [select for diffs], Fri Dec 1 15:52:55 2006 UTC (17 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, netbsd-4-base
Branch point for: wrstuden-fixsa, netbsd-4
Changes since 1.41: +3 -9 lines
Diff to previous 1.41 (colored) to selected 1.29 (colored)

- remove size check; the init functions do it.
- fix size_t/int confusion
- caddr_t -> void *

Revision 1.41 / (download) - annotate - [select for diffs], Sat Nov 25 21:13:23 2006 UTC (17 years, 4 months ago) by christos
Branch: MAIN
Changes since 1.40: +8 -2 lines
Diff to previous 1.40 (colored) to selected 1.29 (colored)

prevent blocksizes > 4K.

Revision 1.37.4.1 / (download) - annotate - [select for diffs], Sat Nov 18 21:34:03 2006 UTC (17 years, 5 months ago) by ad
Branch: newlock2
Changes since 1.37: +2 -2 lines
Diff to previous 1.37 (colored) to selected 1.29 (colored)

Sync with head.

Revision 1.40 / (download) - annotate - [select for diffs], Thu Nov 16 01:32:44 2006 UTC (17 years, 5 months ago) by christos
Branch: MAIN
Changes since 1.39: +5 -5 lines
Diff to previous 1.39 (colored) to selected 1.29 (colored)

__unused removal on arguments; approved by core.

Revision 1.37.6.1 / (download) - annotate - [select for diffs], Sun Oct 22 06:05:28 2006 UTC (17 years, 6 months ago) by yamt
Branch: yamt-splraiseipl
Changes since 1.37: +5 -5 lines
Diff to previous 1.37 (colored) to selected 1.29 (colored)

sync with head

Revision 1.39 / (download) - annotate - [select for diffs], Thu Oct 12 06:57:27 2006 UTC (17 years, 6 months ago) by xtraeme
Branch: MAIN
CVS Tags: yamt-splraiseipl-base2
Changes since 1.38: +4 -4 lines
Diff to previous 1.38 (colored) to selected 1.29 (colored)

Use __unused in function arguments where appropiate. (hi christos)

Revision 1.38 / (download) - annotate - [select for diffs], Thu Oct 12 01:30:50 2006 UTC (17 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.37: +3 -3 lines
Diff to previous 1.37 (colored) to selected 1.29 (colored)

- sprinkle __unused on function decls.
- fix a couple of unused bugs
- no more -Wno-unused for i386

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Sat Sep 9 02:49:09 2006 UTC (17 years, 7 months ago) by rpaulo
Branch: rpaulo-netinet-merge-pcb
Changes since 1.34: +20 -14 lines
Diff to previous 1.34 (colored) next main 1.35 (colored) to selected 1.29 (colored)

sync with head

Revision 1.34.6.3 / (download) - annotate - [select for diffs], Fri Aug 11 15:43:52 2006 UTC (17 years, 8 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.34.6.2: +6 -6 lines
Diff to previous 1.34.6.2 (colored) to branchpoint 1.34 (colored) next main 1.35 (colored) to selected 1.29 (colored)

sync with head

Revision 1.37 / (download) - annotate - [select for diffs], Fri Jul 21 16:48:47 2006 UTC (17 years, 9 months ago) by ad
Branch: MAIN
CVS Tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, yamt-pdpolicy-base7, rpaulo-netinet-merge-pcb-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Branch point for: yamt-splraiseipl, newlock2
Changes since 1.36: +6 -6 lines
Diff to previous 1.36 (colored) to selected 1.29 (colored)

- Use the LWP cached credentials where sane.
- Minor cosmetic changes.

Revision 1.35.4.1 / (download) - annotate - [select for diffs], Thu Jul 13 17:49:17 2006 UTC (17 years, 9 months ago) by gdamore
Branch: gdamore-uart
Changes since 1.35: +16 -10 lines
Diff to previous 1.35 (colored) next main 1.36 (colored) to selected 1.29 (colored)

Merge from HEAD.

Revision 1.34.6.2 / (download) - annotate - [select for diffs], Mon Jun 26 12:50:37 2006 UTC (17 years, 9 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.34.6.1: +16 -10 lines
Diff to previous 1.34.6.1 (colored) to branchpoint 1.34 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.27.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 15:02:11 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.27: +61 -61 lines
Diff to previous 1.27 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.36 / (download) - annotate - [select for diffs], Tue Jun 20 03:20:44 2006 UTC (17 years, 10 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pdpolicy-base6
Changes since 1.35: +16 -10 lines
Diff to previous 1.35 (colored) to selected 1.29 (colored)

don't allocate too much stuff on the stack.

Revision 1.34.4.1 / (download) - annotate - [select for diffs], Thu Jun 1 22:36:03 2006 UTC (17 years, 10 months ago) by kardel
Branch: simonb-timecounters
CVS Tags: simonb-timcounters-final
Changes since 1.34: +6 -6 lines
Diff to previous 1.34 (colored) next main 1.35 (colored) to selected 1.29 (colored)

Sync with head.

Revision 1.34.10.1 / (download) - annotate - [select for diffs], Wed May 24 15:50:07 2006 UTC (17 years, 10 months ago) by tron
Branch: peter-altq
Changes since 1.34: +6 -6 lines
Diff to previous 1.34 (colored) next main 1.35 (colored) to selected 1.29 (colored)

Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.34.6.1 / (download) - annotate - [select for diffs], Wed May 24 10:57:36 2006 UTC (17 years, 10 months ago) by yamt
Branch: yamt-pdpolicy
Changes since 1.34: +6 -6 lines
Diff to previous 1.34 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.35 / (download) - annotate - [select for diffs], Sun May 14 21:42:26 2006 UTC (17 years, 11 months ago) by elad
Branch: MAIN
CVS Tags: yamt-pdpolicy-base5, simonb-timecounters-base, gdamore-uart-base, chap-midi-nbase, chap-midi-base, chap-midi
Branch point for: gdamore-uart
Changes since 1.34: +6 -6 lines
Diff to previous 1.34 (colored) to selected 1.29 (colored)

integrate kauth.

Revision 1.34.8.1 / (download) - annotate - [select for diffs], Wed Mar 8 01:44:48 2006 UTC (18 years, 1 month ago) by elad
Branch: elad-kernelauth
Changes since 1.34: +6 -6 lines
Diff to previous 1.34 (colored) next main 1.35 (colored) to selected 1.29 (colored)

Adapt to kernel authorization KPI.

Revision 1.32.2.1 / (download) - annotate - [select for diffs], Sun Jan 15 10:02:47 2006 UTC (18 years, 3 months ago) by yamt
Branch: yamt-uio_vmspace
Changes since 1.32: +5 -11 lines
Diff to previous 1.32 (colored) next main 1.33 (colored) to selected 1.29 (colored)

sync with head.

Revision 1.34 / (download) - annotate - [select for diffs], Wed Jan 4 17:16:35 2006 UTC (18 years, 3 months ago) by xtraeme
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base, elad-kernelauth-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Changes since 1.33: +2 -3 lines
Diff to previous 1.33 (colored) to selected 1.29 (colored)

Make this build again (remove unused variable).

Revision 1.33 / (download) - annotate - [select for diffs], Wed Jan 4 10:13:05 2006 UTC (18 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.32: +5 -10 lines
Diff to previous 1.32 (colored) to selected 1.29 (colored)

- add simple functions to allocate/free a buffer for i/o.
- make bufpool static.

Revision 1.32 / (download) - annotate - [select for diffs], Sun Dec 11 12:20:53 2005 UTC (18 years, 4 months ago) by christos
Branch: MAIN
Branch point for: yamt-uio_vmspace
Changes since 1.31: +23 -23 lines
Diff to previous 1.31 (colored) to selected 1.29 (colored)

merge ktrace-lwp.

Revision 1.12.2.10 / (download) - annotate - [select for diffs], Thu Nov 10 14:03:00 2005 UTC (18 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.2.9: +33 -33 lines
Diff to previous 1.12.2.9 (colored) next main 1.13 (colored) to selected 1.29 (colored)

Sync with HEAD. Here we go again...

Revision 1.31 / (download) - annotate - [select for diffs], Tue Oct 18 00:14:43 2005 UTC (18 years, 6 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-vop-base3, yamt-vop-base2, yamt-vop-base, yamt-vop, yamt-readahead-pervnode, yamt-readahead-perfile, yamt-readahead-base3, yamt-readahead-base2, yamt-readahead-base, yamt-readahead, thorpej-vnode-attr-base, thorpej-vnode-attr, ktrace-lwp-base
Changes since 1.30: +3 -14 lines
Diff to previous 1.30 (colored) to selected 1.29 (colored)

dksubr: do b_blkno -> b_rawblkno translation earlier so that bufq can uses it.

Revision 1.30 / (download) - annotate - [select for diffs], Sat Oct 15 17:29:11 2005 UTC (18 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.29: +5 -5 lines
Diff to previous 1.29 (colored)

- change the way to specify a bufq strategy.  (by string rather than by number)
- rather than embedding bufq_state in driver softc,
  have a pointer to the former.
- move bufq related functions from kern/subr_disk.c to kern/subr_bufq.c.
- rename method to strategy for consistency.
- move some definitions which don't need to be exposed to the rest of kernel
  from sys/bufq.h to sys/bufq_impl.h.
  (is it better to move it to kern/ or somewhere?)
- fix some obvious breakage in dev/qbus/ts.c.  (not tested)

Revision 1.29 / (download) - annotate - [selected], Sat Aug 20 12:03:52 2005 UTC (18 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.28: +16 -6 lines
Diff to previous 1.28 (colored)

add wedge support to xbd and cgd.

Revision 1.28 / (download) - annotate - [select for diffs], Sat Aug 20 12:01:04 2005 UTC (18 years, 8 months ago) by yamt
Branch: MAIN
Changes since 1.27: +5 -4 lines
Diff to previous 1.27 (colored) to selected 1.29 (colored)

use pseudo_disk_{init,attach,detach} where appropriate.

Revision 1.27 / (download) - annotate - [select for diffs], Tue Jun 28 20:23:02 2005 UTC (18 years, 9 months ago) by drochner
Branch: MAIN
Branch point for: yamt-lazymbuf
Changes since 1.26: +5 -5 lines
Diff to previous 1.26 (colored) to selected 1.29 (colored)

constification fallout

Revision 1.26 / (download) - annotate - [select for diffs], Tue May 31 19:20:37 2005 UTC (18 years, 10 months ago) by drochner
Branch: MAIN
Changes since 1.25: +4 -4 lines
Diff to previous 1.25 (colored) to selected 1.29 (colored)

cast-qual fallout

Revision 1.25 / (download) - annotate - [select for diffs], Tue May 31 02:50:59 2005 UTC (18 years, 10 months ago) by xtraeme
Branch: MAIN
Changes since 1.24: +7 -7 lines
Diff to previous 1.24 (colored) to selected 1.29 (colored)

Make this build with "-Wcast-qual -Wshadow".

Revision 1.21.4.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:28:44 2005 UTC (18 years, 11 months ago) by kent
Branch: kent-audio2
Changes since 1.21: +10 -16 lines
Diff to previous 1.21 (colored) next main 1.22 (colored) to selected 1.29 (colored)

sync with -current

Revision 1.22.2.2 / (download) - annotate - [select for diffs], Wed Apr 6 11:58:58 2005 UTC (19 years ago) by tron
Branch: netbsd-3
CVS Tags: netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0
Changes since 1.22.2.1: +2 -3 lines
Diff to previous 1.22.2.1 (colored) to branchpoint 1.22 (colored) next main 1.23 (colored) to selected 1.29 (colored)

Pull up revision 1.24 (requested by yamt in ticket #112):
Looks like a 'struct buf *bp' was left over from a previosu commit.  Since kernel builds stop on this, removing it.

Revision 1.22.2.1 / (download) - annotate - [select for diffs], Wed Apr 6 11:57:14 2005 UTC (19 years ago) by tron
Branch: netbsd-3
Changes since 1.22: +3 -8 lines
Diff to previous 1.22 (colored) to selected 1.29 (colored)

Pull up revision 1.23 (requested by yamt in ticket #112):
introduce a function to drain bufq and use it where appropriate.

Revision 1.12.2.9 / (download) - annotate - [select for diffs], Fri Apr 1 14:29:37 2005 UTC (19 years ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.2.8: +3 -9 lines
Diff to previous 1.12.2.8 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.24 / (download) - annotate - [select for diffs], Thu Mar 31 16:46:13 2005 UTC (19 years ago) by explorer
Branch: MAIN
CVS Tags: kent-audio2-base
Changes since 1.23: +2 -3 lines
Diff to previous 1.23 (colored) to selected 1.29 (colored)

Looks like a 'struct buf *bp' was left over from a previosu commit.  Since kernel builds stop on this, removing it.

Revision 1.23 / (download) - annotate - [select for diffs], Thu Mar 31 11:28:53 2005 UTC (19 years ago) by yamt
Branch: MAIN
Changes since 1.22: +3 -8 lines
Diff to previous 1.22 (colored) to selected 1.29 (colored)

introduce a function to drain bufq and use it where appropriate.

Revision 1.21.6.1 / (download) - annotate - [select for diffs], Sat Mar 19 08:33:53 2005 UTC (19 years, 1 month ago) by yamt
Branch: yamt-km
Changes since 1.21: +9 -9 lines
Diff to previous 1.21 (colored) next main 1.22 (colored) to selected 1.29 (colored)

sync with head.  xen and whitespace.  xen part is not finished.

Revision 1.12.2.8 / (download) - annotate - [select for diffs], Fri Mar 4 16:40:53 2005 UTC (19 years, 1 month ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.2.7: +9 -9 lines
Diff to previous 1.12.2.7 (colored) to selected 1.29 (colored)

Sync with HEAD.

Hi Perry!

Revision 1.22 / (download) - annotate - [select for diffs], Sun Feb 27 00:26:58 2005 UTC (19 years, 1 month ago) by perry
Branch: MAIN
CVS Tags: yamt-km-base4, yamt-km-base3, netbsd-3-base
Branch point for: netbsd-3
Changes since 1.21: +9 -9 lines
Diff to previous 1.21 (colored) to selected 1.29 (colored)

nuke trailing whitespace

Revision 1.12.2.7 / (download) - annotate - [select for diffs], Tue Nov 2 07:51:19 2004 UTC (19 years, 5 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.2.6: +3 -2 lines
Diff to previous 1.12.2.6 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.21 / (download) - annotate - [select for diffs], Thu Oct 28 07:07:39 2004 UTC (19 years, 5 months ago) by yamt
Branch: MAIN
CVS Tags: yamt-km-base2, yamt-km-base, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Changes since 1.20: +3 -2 lines
Diff to previous 1.20 (colored) to selected 1.29 (colored)

move buffer queue related stuffs from buf.h to their own header, bufq.h.

Revision 1.12.2.6 / (download) - annotate - [select for diffs], Tue Oct 19 15:56:44 2004 UTC (19 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.2.5: +4 -4 lines
Diff to previous 1.12.2.5 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.20 / (download) - annotate - [select for diffs], Mon Oct 4 11:12:09 2004 UTC (19 years, 6 months ago) by yamt
Branch: MAIN
Changes since 1.19: +4 -4 lines
Diff to previous 1.19 (colored) to selected 1.29 (colored)

fix debug printf formats to match with the recent sys/buf.h.
a patch provided by Ryo HAYASAKA.  PR/27138.

Revision 1.12.2.5 / (download) - annotate - [select for diffs], Tue Sep 21 13:26:24 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.2.4: +21 -21 lines
Diff to previous 1.12.2.4 (colored) to selected 1.29 (colored)

Fix the sync with head I botched.

Revision 1.12.2.4 / (download) - annotate - [select for diffs], Sat Sep 18 14:44:27 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.2.3: +23 -23 lines
Diff to previous 1.12.2.3 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.12.2.3 / (download) - annotate - [select for diffs], Wed Aug 25 06:57:34 2004 UTC (19 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.2.2: +19 -21 lines
Diff to previous 1.12.2.2 (colored) to selected 1.29 (colored)

Sync with HEAD.

Revision 1.19 / (download) - annotate - [select for diffs], Mon Aug 23 05:38:15 2004 UTC (19 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.18: +2 -4 lines
Diff to previous 1.18 (colored) to selected 1.29 (colored)

Remove a comment that doesn't really make sense.

Revision 1.18 / (download) - annotate - [select for diffs], Mon Aug 23 05:37:42 2004 UTC (19 years, 8 months ago) by thorpej
Branch: MAIN
Changes since 1.17: +19 -19 lines
Diff to previous 1.17 (colored) to selected 1.29 (colored)

Use static in a few more places.

Revision 1.12.2.2 / (download) - annotate - [select for diffs], Tue Aug 3 10:44:53 2004 UTC (19 years, 8 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.12.2.1: +126 -75 lines
Diff to previous 1.12.2.1 (colored) to selected 1.29 (colored)

Sync with HEAD

Revision 1.17 / (download) - annotate - [select for diffs], Mon Jul 19 13:46:23 2004 UTC (19 years, 9 months ago) by dbj
Branch: MAIN
Changes since 1.16: +39 -55 lines
Diff to previous 1.16 (colored) to selected 1.29 (colored)

. eliminate cgd specific buffer pool, use bufpool instead
  and store previous buffer in bp->b_private.
. don't bother to raise splbio in cgdiodone
. use V_INCR_NUMOUTPUT

Revision 1.16 / (download) - annotate - [select for diffs], Sat Mar 27 23:23:06 2004 UTC (20 years ago) by elric
Branch: MAIN
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-base, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2-0, netbsd-2
Changes since 1.15: +90 -26 lines
Diff to previous 1.15 (colored) to selected 1.29 (colored)

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

Revision 1.15 / (download) - annotate - [select for diffs], Thu Mar 18 10:42:08 2004 UTC (20 years, 1 month ago) by dan
Branch: MAIN
Changes since 1.14: +6 -4 lines
Diff to previous 1.14 (colored) to selected 1.29 (colored)

Fix a longstanding bug in key-handling for the blowfish cipher.

This is an incompatible change, and will break all existing cgd images
encrypted with blowfish. Users will need to dump their data before
booting a kernel with this change, and recreate cgd's and restore data
afterwards.

I believe this affects a very small number of users other than myself;
indeed after several alert mails in an attempt to find them, only 2
such users have come forward. They have both agreed the requirement
for backwards compatibility does not warrant the effort nor the mess
in the code.  This code does exist, if it should later prove to be
needed, but will not be in the tree.

Further, by the nature of the issue, I have strong reasons to believe
that, even if they missed these mails, there would be few other users
of blowfish who update their systems with any regularity; any such
users would have tripped over the problem in the same way I did when
it was first found over a year ago.

The problem stems from two issues with the underlying blowfish
encryption routines used by cgd:
 - they take key length arguments counted in bytes, rather than bits
   like all the opther ciphers.
 - they silently truncate any keys longer than an internal limit,
   rather than returning an error (which would have exposed the
   previous discrepancy immediately).

As a result, the kernel reads too much data as the key from cgdconfig,
and then truncates most of it. This can easily be demonstrated/tested.
Currently, Blowfish users will find that if they mis-enter the cgd
passphrase on the first attempt, when validation fails and cgdconfig
prompts for the passphrase again, the cgd will not correctly configure
even when given a correct passphrase.

Revision 1.14 / (download) - annotate - [select for diffs], Sun Jan 25 18:06:48 2004 UTC (20 years, 2 months ago) by hannken
Branch: MAIN
Changes since 1.13: +3 -4 lines
Diff to previous 1.13 (colored) to selected 1.29 (colored)

Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.

VOP_STRATEGY(bp) is replaced by one of two new functions:

- VOP_STRATEGY(vp, bp)  Call the strategy routine of vp for bp.
- DEV_STRATEGY(bp)      Call the d_strategy routine of bp->b_dev for bp.

DEV_STRATEGY(bp) is used only for block-to-block device situations.

Revision 1.13 / (download) - annotate - [select for diffs], Sat Jan 10 14:39:50 2004 UTC (20 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.12: +4 -2 lines
Diff to previous 1.12 (colored) to selected 1.29 (colored)

store a i/o priority hint in struct buf for buffer queue discipline.

Revision 1.12.2.1 / (download) - annotate - [select for diffs], Wed Jul 2 15:25:59 2003 UTC (20 years, 9 months ago) by darrenr
Branch: ktrace-lwp
Changes since 1.12: +23 -23 lines
Diff to previous 1.12 (colored) to selected 1.29 (colored)

Apply the aborted ktrace-lwp changes to a specific branch.  This is just for
others to review, I'm concerned that patch fuziness may have resulted in some
errant code being generated but I'll look at that later by comparing the diff
from the base to the branch with the file I attempt to apply to it.  This will,
at the very least, put the changes in a better context for others to review
them and attempt to tinker with removing passing of 'struct lwp' through
the kernel.

Revision 1.12 / (download) - annotate - [select for diffs], Sun Jun 29 22:29:58 2003 UTC (20 years, 9 months ago) by fvdl
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.11: +21 -21 lines
Diff to previous 1.11 (colored) to selected 1.29 (colored)

Back out the lwp/ktrace changes. They contained a lot of colateral damage,
and need to be examined and discussed more.

Revision 1.11 / (download) - annotate - [select for diffs], Sat Jun 28 14:21:30 2003 UTC (20 years, 9 months ago) by darrenr
Branch: MAIN
Changes since 1.10: +23 -23 lines
Diff to previous 1.10 (colored) to selected 1.29 (colored)

Pass lwp pointers throughtout the kernel, as required, so that the lwpid can
be inserted into ktrace records.  The general change has been to replace
"struct proc *" with "struct lwp *" in various function prototypes, pass
the lwp through and use l_proc to get the process pointer when needed.

Bump the kernel rev up to 1.6V

Revision 1.10 / (download) - annotate - [select for diffs], Sat May 17 14:26:30 2003 UTC (20 years, 11 months ago) by agc
Branch: MAIN
Changes since 1.9: +4 -5 lines
Diff to previous 1.9 (colored) to selected 1.29 (colored)

Test the right variable after allocating space, and then get rid of an
unused local variable.

Revision 1.9 / (download) - annotate - [select for diffs], Fri Mar 21 23:11:22 2003 UTC (21 years, 1 month ago) by dsl
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored) to selected 1.29 (colored)

Use 'void *' instead of 'caddr_t' in prototypes of VOP_IOCTL, VOP_FCNTL
and VOP_ADVLOCK, delete casts from callers (and some to copyin/out).

Revision 1.8 / (download) - annotate - [select for diffs], Tue Feb 25 20:35:34 2003 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.7: +3 -4 lines
Diff to previous 1.7 (colored) to selected 1.29 (colored)

Add a new BUF_INIT() macro which initializes b_dep and b_interlock, and
use it.  This fixes a few places where either b_dep or b_interlock were
not properly initialized.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Feb 5 21:38:40 2003 UTC (21 years, 2 months ago) by pk
Branch: MAIN
Changes since 1.6: +3 -2 lines
Diff to previous 1.6 (colored) to selected 1.29 (colored)

Make the buffer cache code MP-safe.

Revision 1.6 / (download) - annotate - [select for diffs], Sun Feb 2 20:55:16 2003 UTC (21 years, 2 months ago) by bouyer
Branch: MAIN
Changes since 1.5: +4 -4 lines
Diff to previous 1.5 (colored) to selected 1.29 (colored)

Fix DEBUG printf warning.

Revision 1.2.2.3 / (download) - annotate - [select for diffs], Mon Nov 11 22:08:43 2002 UTC (21 years, 5 months ago) by nathanw
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.2.2.2: +6 -5 lines
Diff to previous 1.2.2.2 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored) to selected 1.29 (colored)

Catch up to -current

Revision 1.5 / (download) - annotate - [select for diffs], Fri Nov 1 11:31:55 2002 UTC (21 years, 5 months ago) by mrg
Branch: MAIN
CVS Tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Changes since 1.4: +5 -4 lines
Diff to previous 1.4 (colored) to selected 1.29 (colored)

implement separate read/write disk statistics:
	- disk_unbusy() gets a new parameter to tell the IO direction.
	- struct disk_sysctl gets 4 new members for read/write bytes/transfers.
	when processing hw.diskstats, add the read&write bytes/transfers for
	the old combined stats to attempt to keep backwards compatibility.

unfortunately, due to multiple bugs, this will cause new kernels and old
vmstat/iostat/systat programs to fail.  however, the next time this is
change it will not fail again.

this is just the kernel portion.

Revision 1.4 / (download) - annotate - [select for diffs], Thu Oct 24 08:04:00 2002 UTC (21 years, 5 months ago) by jdolecek
Branch: MAIN
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored) to selected 1.29 (colored)

put back the D_DISK tag for cdevsw mistakely removed in previous
revision

Revision 1.3 / (download) - annotate - [select for diffs], Thu Oct 24 01:43:54 2002 UTC (21 years, 6 months ago) by augustss
Branch: MAIN
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored) to selected 1.29 (colored)

Make it compile after the kq changes.
XXX I'm not sure what kqfilter cgd should have, it gets nokqfilter for now.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Fri Oct 18 02:41:25 2002 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2.2.1: +755 -0 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored) to selected 1.29 (colored)

Catch up to -current.

Revision 1.2.2.1, Mon Oct 14 19:16:55 2002 UTC (21 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.2: +0 -755 lines
FILE REMOVED

file cgd.c was added on branch nathanw_sa on 2002-10-18 02:41:25 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Mon Oct 14 19:16:55 2002 UTC (21 years, 6 months ago) by elric
Branch: MAIN
CVS Tags: kqueue-beforemerge, kqueue-aftermerge
Branch point for: nathanw_sa
Changes since 1.1: +4 -3 lines
Diff to previous 1.1 (colored) to selected 1.29 (colored)

Allow debugging to work on LP64 arches.

Revision 1.1 / (download) - annotate - [select for diffs], Fri Oct 4 18:22:35 2002 UTC (21 years, 6 months ago) by elric
Branch: MAIN
Diff to selected 1.29 (colored)

The CryptoGraphic Disk Driver.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>