The NetBSD Project

CVS log for src/sys/kern/subr_disk.c

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

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.134.4.1: download - view: text, markup, annotated - select for diffs
Tue Aug 1 14:49:06 2023 UTC (16 months ago) by martin
Branches: netbsd-10
CVS tags: 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
Diff to: previous 1.134: preferred, colored; next MAIN 1.135: preferred, colored
Changes since revision 1.134: +30 -8 lines
Pull up following revision(s) (requested by riastradh in ticket #284):

	sys/dev/dkwedge/dk.c				1.125-1.158
	sys/kern/subr_disk.c				1.135-1.137
	sys/sys/disk.h					1.78

dk(4): Explain why dk_rawopens can't overflow and assert it.

dk(4): Restore assertions in dklastclose.

We only enter dklastclose if the wedge is open (sc->sc_dk.dk_openmask
!= 0), which can happen only if dkfirstopen has succeeded, in which
case we hold a dk_rawopens reference to the parent that prevents
anyone else from closing it.  Hence sc->sc_parent->dk_rawopens > 0.

On open, sc->sc_parent->dk_rawvp is set to nonnull, and it is only
reset to null on close.  Hence if the parent is still open, as it
must be here, sc->sc_parent->dk_rawvp must be nonnull.

dk(4): Avoid holding dkwedges_lock while allocating array.

This is not great -- we shouldn't be choosing the unit number here
anyway; we should just let autoconf do it for us -- but it's better
than potentially blocking any dk_openlock or dk_rawlock (which are
sometimes held when waiting for dkwedges_lock) for memory allocation.

dk(4): KNF: return (v) -> return v.
No functional change intended.

dk(4): KNF: Whitespace.
No functional change intended.

dk(4): Omit needless void * cast.
No functional change intended.

dk(4): Fix typo in comment: dkstrategy, not dkstragegy.
No functional change intended.

dk(4): ENXIO, not ENODEV, means no such device.
ENXIO is `device not configured', meaning there is no such device.
ENODEV is `operation not supported by device', meaning the device is
there but refuses the operation, like writing to a read-only medium.

Exception: For undefined ioctl commands, it's not ENODEV _or_ ENXIO,
but rather ENOTTY, because why make any of this obvious when you
could make it obscure Unix lore?

dk(4): KNF: Sort includes.
No functional change intended.

dk(4): <sys/rwlock.h> for rwlock(9).

dk(4): Prevent races in access to struct dkwedge_softc::sc_size.
Rules:
1. Only ever increases, never decreases.
   (Decreases require removing and readding the wedge.)
2. Increases are serialized by dk_openlock.
3. Reads can happen unlocked in any context where the softc is valid.

Access is gathered into dkwedge_size* subroutines -- don't touch
sc_size outside these.  For now, we use rwlock(9) to keep the
reasoning simple.  This should be done with atomics on 64-bit
platforms and a seqlock on 32-bit platforms to avoid contention.

However, we can do that in a later change.

dk(4): Move CFDRIVER_DECL and CFATTACH_DECL3_NEW earlier in file.

Follows the pattern of most drivers, and will be necessary for
referencing dk_cd in dk_bdevsw and dk_cdevsw soon, to prevent
open/detach races.
No functional change intended.

dk(4): Don't touch dkwedges or ndkwedges outside dkwedges_lock.

dk(4): Assert parent vp is nonnull before we stash it away.

Let's enable early attribution if this goes wrong.

If it's not the parent's first open, also assert the parent vp is
already nonnull.

dk(4): Assert dkwedges[unit] is the sc we're about to free.

dk(4): Require dk_openlock in dk_set_geometry.

Not strictly necessary but this makes reasoning easier and documents
with an assertion how disk_set_info is serialized.

disk(9): Fix use-after-free race with concurrent disk_set_info.

This can happen with dk(4), which allows wedges to have their size
increased without destroying and recreating the device instance.

Drivers which allow concurrent disk_set_info and disk_ioctl must
serialize disk_set_info with dk_openlock.

dk(4): Add null d_cancel routine to devsw.

This way, dkclose is guaranteed that dkopen, dkread, dkwrite,
dkioctl, &c., have all returned before it runs.  For block opens,
setting d_cancel also guarantees that any buffered writes are flushed
with vinvalbuf before dkclose is called.

dk(4): Fix callout detach race.
1. Set a flag sc_iostop under the lock sc_iolock so dkwedge_detach
   and dkstart don't race over it.
2. Decline to schedule the callout if sc_iostop is set.  The callout
   is already only ever scheduled while the lock is held.
3. Use callout_halt to wait for any concurrent callout to complete.
   At this point, it can't reschedule itself.

Without this change, the callout could be concurrently rescheduling
itself as we issue callout_stop, leading to use-after-free later.

dk(4): Use disk_begindetach and rely on vdevgone to close instances.

The first step is to decide whether we can detach (if forced, yes; if
not forced, only if not already open), and prevent new opens if so.

There's no need to start closing open instances at this point --
we're just making a decision to detach, and preventing new opens by
transitioning state that dkopen will respect[*].

The second step is to force all open instances to close.  This is
done by vdevgone.  By the time vdevgone returns, there can be no open
instances, so if there _were_ any, closing them via vdevgone will
have passed through dklastclose.

After that point, there can be no opens and no I/O operations, so
dk_openmask must already be zero and the bufq must be empty.

Thus, there's no need to have an explicit call to dklastclose (via
dkwedge_cleanup_parent) before or after making the decision to
detach.
[*] Currently access to this state is racy: nothing serializes
    dkwedge_detach's state transition with dkopen's test.  TBD in a
    separate commit shortly.

dk(4): Set .d_cfdriver and .d_devtounit to plug open/detach race.

This way, opening dkN or rdkN will wait if attach or detach is still
in progress, and vdevgone will wake up such pending opens and make
them fail.  So it is no longer possible for a wedge to be detached
after dkopen has already started using it.

For now, we use a custom .d_devtounit function that looks up the
autoconf unit number via the dkwedges array, which conceivably may
use an independent unit numbering system -- nothing guarantees they
match up.  (In practice they will mostly match up, but concurrent
wedge creation could lead to different numbering.)  Eventually this
should be changed so the two numbering systems match, which would let
us delete the new dkunit function and just use dev_minor_unit like
many other drivers can.

dk(4): Take a read-lock on dkwedges_lock if we're only reading.
- dkwedge_find_by_name
- dkwedge_find_by_parent
- dkwedge_print_wnames

dk(4): Omit needless locking in dksize, dkdump.

All the members these use are stable after initialization, except for
the wedge size, which dkwedge_size safely reads a snapshot of without
locking in the caller.

dk(4): dkdump: Simplify.  No functional change intended.

dk(4): Narrow the scope of the device numbering lookup on detach.

Just need it for vdevgone, order relative to other things in detach
doesn't matter.
No functional change intended.

disk(9): Fix missing unlock in error branch in previous change.

dk(4): Fix racy access to sc->sc_dk.dk_openmask in dkwedge_delall1.
Need sc->sc_parent->dk_rawlock for this, as used in dkopen/dkclose.

dk(4): Convert tests to assertions in various devsw operations.
.d_cancel, .d_strategy, .d_read, .d_write, .d_ioctl, and .d_discard
are only ever used between successful .d_open return and entry to
.d_close.  .d_open doesn't return until sc is nonnull and sc_state is
RUNNING, and dkwedge_detach waits for the last .d_close before
setting sc_state to DEAD.  So there is no possibility for sc to be
null or for sc_state to be anything other than RUNNING or DYING.

There is a small functional change here but only in the event of a
race: in the short window between when dkwedge_detach is entered, and
when .d_close runs, any I/O operations (read, write, ioctl, &c.) may
be issued that would have failed with ENXIO before.

This shouldn't matter for anything: disk I/O operations are supposed
to complete reasonably promptly, and these operations _could_ have
begun milliseconds prior, before dkwedge_detach was entered, so it's
not a significant distinction.

Notes:
- .d_open must still contend with trying to open a nonexistent wedge,
  of course.
- .d_close must also contend with closing a nonexistent wedge, in
  case there were two calls to open in quick succession and the first
  failed while the second hadn't yet determined it would fail.
- .d_size and .d_dump are used from ddb without any open/close.

dk(4): Fix lock assertion in size increase: parent's, not wedge's.

dk(4): Rename label for consistency.  No functional change intended.

dk(4): dkclose must handle a dying wedge too to close the parent.

Otherwise the parent open leaks on detach (or revoke) when the wedge
was open and had to be forcibly closed.

Fixes assertion sc->sc_dk.dk_openmask == 0.
ioctl(DIOCRMWEDGES): Delete only idle wedges.

Don't forcibly delete busy wedges.

Fixes accidental destruction of the busy wedge that the root file
system is mounted on, triggered by syzbot's ioctl(DIOCRMWEDGES).

dk(4): Omit needless sc_iopend, sc_dkdrn mechanism.
vdevgone guarantees that all instances are closed by the time it
returns, which in turn guarantees all I/O operations (read, write,
ioctl, &c.) have completed, and, if the block device is open,
vinvalbuf(V_SAVE) -> vflushbuf has completed, which forces all
buffered transfers to be issued and waits for them to complete.
So by the time vdevgone returns, no further transfers can be
submitted and the bufq must be empty.

dk(4): Fix typo: sc_state, not sc_satte.

Had tested a patch series, but not every patch in it, and I
inadvertently fixed the typo in a later patch in the series, not in
the one I committed.

dk(4): Make it clearer that dkopen EROFS branch doesn't leak.
It looked like we may need to sometimes call dklastclose in error
branch for the case of (flags & ~sc->sc_mode & FWRITE) != 0, but it
is not actually possible to reach that case: if the caller requested
read/write, and the parent is read-only, and it is the first time
we've opened the parent, then dkfirstopen will fail with EROFS so we
never get there.

But this is confusing and it looked like the error branch is wrong,
so let's rearrange the conditional to make it clearer that we cannot
goto out after dkfirstopen has succeeded.  And then assert that the
case cannot happen when we do call dkfirstopen.

dk(4): Need pdk->dk_openlock to read pdk->dk_wedges.

Revision 1.137: download - view: text, markup, annotated - select for diffs
Tue May 9 12:04:04 2023 UTC (18 months, 3 weeks ago) by riastradh
Branches: MAIN
CVS tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, perseant-exfatfs-base-20240630, perseant-exfatfs-base, perseant-exfatfs, HEAD
Diff to: previous 1.136: preferred, colored
Changes since revision 1.136: +3 -3 lines
ioctl(DIOCRMWEDGES): Delete only idle wedges.

Don't forcibly delete busy wedges.

Reported-by: syzbot+e46f31fe56e04f567d88@syzkaller.appspotmail.com
https://syzkaller.appspot.com/bug?id=8a00fd7f2e7459748d7a274098180a4708ff0f61

Fixes accidental destruction of the busy wedge that the root file
system is mounted on, triggered by syzbot's ioctl(DIOCRMWEDGES).

Revision 1.136: download - view: text, markup, annotated - select for diffs
Sat Apr 22 11:58:01 2023 UTC (19 months, 1 week ago) by riastradh
Branches: MAIN
Diff to: previous 1.135: preferred, colored
Changes since revision 1.135: +10 -5 lines
disk(9): Fix missing unlock in error branch in previous change.

Reported-by: syzbot+870665adaf8911c0d94d@syzkaller.appspotmail.com
https://syzkaller.appspot.com/bug?id=a4ae17cf66b5bb999182ae77fd3c7ad9ad18c891

Revision 1.135: download - view: text, markup, annotated - select for diffs
Fri Apr 21 18:30:04 2023 UTC (19 months, 1 week ago) by riastradh
Branches: MAIN
Diff to: previous 1.134: preferred, colored
Changes since revision 1.134: +22 -5 lines
disk(9): Fix use-after-free race with concurrent disk_set_info.

This can happen with dk(4), which allows wedges to have their size
increased without destroying and recreating the device instance.

Drivers which allow concurrent disk_set_info and disk_ioctl must
serialize disk_set_info with dk_openlock.

Revision 1.134: download - view: text, markup, annotated - select for diffs
Mon Mar 28 12:33:59 2022 UTC (2 years, 8 months ago) by riastradh
Branches: MAIN
CVS tags: netbsd-10-base, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Branch point for: netbsd-10
Diff to: previous 1.133: preferred, colored
Changes since revision 1.133: +9 -2 lines
disk(9): New function disklabel_dev_unit.

Maps a dev_t like wd3e to an autoconf instance number like 3, with no
partition.  Same as DISKUNIT macro, but is a symbol whose pointer can
be taken.  Meant for use with struct bdevsw, cdevsw::d_devtounit.

Revision 1.132.6.1: download - view: text, markup, annotated - select for diffs
Thu Jun 17 04:46:33 2021 UTC (3 years, 5 months ago) by thorpej
Branches: thorpej-i2c-spi-conf
Diff to: previous 1.132: preferred, colored; next MAIN 1.133: preferred, colored
Changes since revision 1.132: +2 -25 lines
Sync w/ HEAD.

Revision 1.132.8.1: download - view: text, markup, annotated - select for diffs
Mon May 31 22:15:20 2021 UTC (3 years, 6 months ago) by cjep
Branches: cjep_staticlib_x
Diff to: previous 1.132: preferred, colored; next MAIN 1.133: preferred, colored
Changes since revision 1.132: +2 -25 lines
sync with head

Revision 1.133: download - view: text, markup, annotated - select for diffs
Mon May 17 08:50:36 2021 UTC (3 years, 6 months ago) by mrg
Branches: MAIN
CVS tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1
Diff to: previous 1.132: preferred, colored
Changes since revision 1.132: +2 -25 lines
move bi-endian disklabel support from the kernel and libsa into libkern.

- dkcksum() and dkcksum_sized() move from subr_disk.c and from
  libsa into libkern/dkcksum.c (which is missing _sized() version),
  using the version from usr.sbin/disklabel.

- swap_disklabel() moves from subr_disk_mbr.c into libkern, now called
  disklabel_swap().  (the sh3 version should be updated to use this.)

- DISKLABEL_EI becomes a first-class option with opt_disklabel.h.

- add libkern.h to libsa/disklabel.c.

this enables future work for bi-endian libsa/ufs.c (relevant for ffsv1,
ffsv2, lfsv1, and lfsv2), as well as making it possible for ports not
using subr_disk_mbr.c to include bi-endian disklabel support (which,
afaict, includes any disk on mbr-supporting platforms that do not have
an mbr as well as disklabel.)

builds successsfully on: alpha, i386, amd64, sun2, sun3, evbarm64,
evbarm64-eb, sparc, and sparc64.  tested in anita on i386 and sparc,
testing in hardware on evbarm64*.

Revision 1.132: download - view: text, markup, annotated - select for diffs
Sat Oct 17 09:42:35 2020 UTC (4 years, 1 month ago) by mlelstv
Branches: MAIN
CVS tags: thorpej-futex-base, thorpej-futex, thorpej-cfargs-base, thorpej-cfargs, cjep_staticlib_x-base
Branch point for: thorpej-i2c-spi-conf, cjep_staticlib_x
Diff to: previous 1.131: preferred, colored
Changes since revision 1.131: +8 -12 lines
Attach disk info even for zero sized disks.
Slight refactoring.

Revision 1.131: download - view: text, markup, annotated - select for diffs
Thu Jun 11 02:32:06 2020 UTC (4 years, 5 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +3 -3 lines
Update for proplib(3) API changes.

Revision 1.122.2.3: download - view: text, markup, annotated - select for diffs
Mon Apr 13 08:05:04 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.122.2.2: preferred, colored; branchpoint 1.122: preferred, colored; next MAIN 1.123: preferred, colored
Changes since revision 1.122.2.2: +1 -1 lines
Mostly merge changes from HEAD upto 20200411

Revision 1.122.2.2: download - view: text, markup, annotated - select for diffs
Wed Apr 8 14:08:52 2020 UTC (4 years, 7 months ago) by martin
Branches: phil-wifi
Diff to: previous 1.122.2.1: preferred, colored; branchpoint 1.122: preferred, colored
Changes since revision 1.122.2.1: +6 -2 lines
Merge changes from current as of 20200406

Revision 1.128.2.1: download - view: text, markup, annotated - select for diffs
Thu Apr 2 19:15:35 2020 UTC (4 years, 8 months ago) by martin
Branches: netbsd-9
CVS tags: netbsd-9-4-RELEASE, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE
Diff to: previous 1.128: preferred, colored; next MAIN 1.129: preferred, colored
Changes since revision 1.128: +6 -2 lines
Pull up following revision(s) (requested by mlelstv in ticket #814):

	sys/dev/scsipi/cd.c: revision 1.343
	sys/kern/subr_disk.c: revision 1.130

Avoid division by zero if label isn't valid.

Allow open of RAWPART even when no medium is loaded.
Keep errors silent if no medium is loaded.

Fixes PR kern/55104

Revision 1.119.2.3: download - view: text, markup, annotated - select for diffs
Sun Mar 29 12:10:37 2020 UTC (4 years, 8 months ago) by martin
Branches: netbsd-8
CVS tags: netbsd-8-3-RELEASE, netbsd-8-2-RELEASE
Diff to: previous 1.119.2.2: preferred, colored; branchpoint 1.119: preferred, colored; next MAIN 1.120: preferred, colored
Changes since revision 1.119.2.2: +6 -2 lines
Pull up following revision(s) (requested by mlelstv in ticket #1527):

	sys/dev/scsipi/cd.c: revision 1.343
	sys/kern/subr_disk.c: revision 1.130

Avoid division by zero if label isn't valid.
Allow open of RAWPART even when no medium is loaded.
Keep errors silent if no medium is loaded.
Fixes PR kern/55104

Revision 1.130: download - view: text, markup, annotated - select for diffs
Fri Mar 27 11:13:57 2020 UTC (4 years, 8 months ago) by mlelstv
Branches: MAIN
CVS tags: phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +6 -2 lines
Avoid division by zero if label isn't valid.

Revision 1.119.2.2: download - view: text, markup, annotated - select for diffs
Fri Nov 1 09:29:25 2019 UTC (5 years, 1 month ago) by martin
Branches: netbsd-8
Diff to: previous 1.119.2.1: preferred, colored; branchpoint 1.119: preferred, colored
Changes since revision 1.119.2.1: +3 -3 lines
Pull up following revision(s) (requested by cnst in ticket #1397):

	sys/kern/subr_disk.c: revision 1.129

kern/subr_disk: bounds_check_with_label: really protect against div by zero

Solves kernel panic in NetBSD 8.1 amd64 on VirtualBox 6.0.12 r133076.

Triggered with an NVMe controller without any actual discs behind it:

nvme0 at pci0 dev 14 function 0: vendor 80ee product 4e56 (rev. 0x00)
nvme0: NVMe 1.2
nvme0: interrupting at ioapic0 pin 22
nvme0: ORCL-VBOX-NVME-VER12, firmware 1.0, serial VB1234-56789
ld0 at nvme0 nsid 1
ld0: 0, 0 cyl, 16 head, 63 sec, 1 bytes/sect x 0 sectors

Code path is reached 4 times during normal boot, each time after wd0a
is already mounted; this patch avoids a crash with a dirty filesystem.

Revision 1.129: download - view: text, markup, annotated - select for diffs
Mon Sep 30 23:23:59 2019 UTC (5 years, 2 months ago) by cnst
Branches: MAIN
CVS tags: phil-wifi-20191119, is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +3 -3 lines
kern/subr_disk: bounds_check_with_label: really protect against div by zero

Solves kernel panic in NetBSD 8.1 amd64 on VirtualBox 6.0.12 r133076.

Triggered with an NVMe controller without any actual discs behind it:

nvme0 at pci0 dev 14 function 0: vendor 80ee product 4e56 (rev. 0x00)
nvme0: NVMe 1.2
nvme0: interrupting at ioapic0 pin 22
nvme0: ORCL-VBOX-NVME-VER12, firmware 1.0, serial VB1234-56789
ld0 at nvme0 nsid 1
ld0: 0, 0 cyl, 16 head, 63 sec, 1 bytes/sect x 0 sectors

Code path is reached 4 times during normal boot, each time after wd0a
is already mounted; this patch avoids a crash with a dirty filesystem.

Revision 1.122.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 10 22:09:03 2019 UTC (5 years, 5 months ago) by christos
Branches: phil-wifi
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +20 -2 lines
Sync with HEAD

Revision 1.128: download - view: text, markup, annotated - select for diffs
Wed May 22 08:47:02 2019 UTC (5 years, 6 months ago) by hannken
Branches: MAIN
CVS tags: phil-wifi-20190609, netbsd-9-base, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1
Branch point for: netbsd-9
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +13 -2 lines
Implement disk_rename()/iostat_rename() to rename a disk.

Use it from zvol_rename_minor() when renaming a ZVOL.

Revision 1.119.2.1: download - view: text, markup, annotated - select for diffs
Fri Apr 5 08:40:19 2019 UTC (5 years, 8 months ago) by msaitoh
Branches: netbsd-8
CVS tags: netbsd-8-1-RELEASE, netbsd-8-1-RC1
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +9 -2 lines
Pull up following revision(s) (requested by martin in ticket #1223):
	sys/sys/dkio.h: revision 1.25
	sys/kern/subr_disk.c: revision 1.123
	sys/dev/dksubr.c: revision 1.107
	sys/dev/ccd.c: revision 1.179
	sys/dev/ofw/ofdisk.c: revision 1.53
Add a disk ioctl DIOCRMWEDGES to remove all wedges of a given disk
(if not busy).

Revision 1.127: download - view: text, markup, annotated - select for diffs
Thu Apr 4 20:19:07 2019 UTC (5 years, 8 months ago) by christos
Branches: MAIN
CVS tags: isaki-audio2-base, isaki-audio2
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +2 -74 lines
move setdisklabel(9) into a separate file.

Revision 1.126: download - view: text, markup, annotated - select for diffs
Thu Apr 4 11:49:06 2019 UTC (5 years, 8 months ago) by christos
Branches: MAIN
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +3 -3 lines
one more __func__

Revision 1.125: download - view: text, markup, annotated - select for diffs
Thu Apr 4 07:09:55 2019 UTC (5 years, 8 months ago) by martin
Branches: MAIN
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +3 -3 lines
Make the DEBUG version compile

Revision 1.124: download - view: text, markup, annotated - select for diffs
Wed Apr 3 22:10:52 2019 UTC (5 years, 8 months ago) by christos
Branches: MAIN
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +74 -2 lines
centralize setdisklabel(9)

Revision 1.123: download - view: text, markup, annotated - select for diffs
Wed Mar 27 19:13:33 2019 UTC (5 years, 8 months ago) by martin
Branches: MAIN
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +9 -2 lines
Add a disk ioctl DIOCRMWEDGES to remove all wedges of a given disk
(if not busy).

Revision 1.121.2.1: download - view: text, markup, annotated - select for diffs
Thu Mar 15 09:12:06 2018 UTC (6 years, 8 months ago) by pgoyette
Branches: pgoyette-compat
CVS tags: pgoyette-compat-merge-20190127
Diff to: previous 1.121: preferred, colored; next MAIN 1.122: preferred, colored
Changes since revision 1.121: +3 -3 lines
Synch with HEAD

Revision 1.122: download - view: text, markup, annotated - select for diffs
Wed Mar 7 21:13:24 2018 UTC (6 years, 8 months ago) by kre
Branches: MAIN
CVS tags: phil-wifi-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
Branch point for: phil-wifi
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +3 -3 lines

Fix typo in comment (s/is/if/) - NFC.

Revision 1.100.18.7: download - view: text, markup, annotated - select for diffs
Sun Dec 3 11:38:45 2017 UTC (7 years ago) by jdolecek
Branches: tls-maxphys
Diff to: previous 1.100.18.6: preferred, colored; branchpoint 1.100: preferred, colored; next MAIN 1.101: preferred, colored
Changes since revision 1.100.18.6: +189 -45 lines
update from HEAD

Revision 1.121: download - view: text, markup, annotated - select for diffs
Fri Oct 27 12:25:15 2017 UTC (7 years, 1 month ago) by joerg
Branches: MAIN
CVS tags: tls-maxphys-base-20171202, pgoyette-compat-base
Branch point for: pgoyette-compat
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +1 -1 lines
Revert printf return value change.

Revision 1.120: download - view: text, markup, annotated - select for diffs
Fri Oct 27 09:59:16 2017 UTC (7 years, 1 month ago) by utkarsh009
Branches: MAIN
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +3 -3 lines
[syzkaller] Cast all the printf's to (void *)
> as a result of new printf(9) declaration.

Revision 1.103.6.5: download - view: text, markup, annotated - select for diffs
Mon Aug 28 17:53:07 2017 UTC (7 years, 3 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.103.6.4: preferred, colored; branchpoint 1.103: preferred, colored; next MAIN 1.104: preferred, colored
Changes since revision 1.103.6.4: +13 -5 lines
Sync with HEAD

Revision 1.119: download - view: text, markup, annotated - select for diffs
Thu Jun 1 02:45:13 2017 UTC (7 years, 6 months ago) by chs
Branches: MAIN
CVS tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, netbsd-8-base, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, matt-nb8-mediatek-base, matt-nb8-mediatek
Branch point for: netbsd-8
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +2 -4 lines
remove checks for failure after memory allocation calls that cannot fail:

  kmem_alloc() with KM_SLEEP
  kmem_zalloc() with KM_SLEEP
  percpu_alloc()
  pserialize_create()
  psref_class_create()

all of these paths include an assertion that the allocation has not failed,
so callers should not assert that again.

Revision 1.116.4.1: download - view: text, markup, annotated - select for diffs
Fri Apr 21 16:54:02 2017 UTC (7 years, 7 months ago) by bouyer
Branches: bouyer-socketcan
Diff to: previous 1.116: preferred, colored; next MAIN 1.117: preferred, colored
Changes since revision 1.116: +13 -3 lines
Sync with HEAD

Revision 1.116.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 20 06:57:47 2017 UTC (7 years, 8 months ago) by pgoyette
Branches: pgoyette-localcount
Diff to: previous 1.116: preferred, colored; next MAIN 1.117: preferred, colored
Changes since revision 1.116: +13 -3 lines
Sync with HEAD

Revision 1.118: download - view: text, markup, annotated - select for diffs
Sun Mar 5 23:07:12 2017 UTC (7 years, 9 months ago) by mlelstv
Branches: MAIN
CVS tags: prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, pgoyette-localcount-20170426, pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +12 -2 lines
Enhance disk metrics by calculating a weighted sum that is incremented
by the number of concurrent I/O requests. Also introduce a new disk_wait()
function to measure requests waiting in a bufq.
iostat -y now reports data about waiting and active requests.

So far only drivers using dksubr and dk, ccd, wd and xbd collect data about
waiting requests.

Revision 1.117: download - view: text, markup, annotated - select for diffs
Tue Feb 28 00:33:36 2017 UTC (7 years, 9 months ago) by jakllsch
Branches: MAIN
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +3 -3 lines
pi_bsize must be at least pi_secsize

Allows block device accesses to 4KiB logical sector disks to function on the
vast majority of ports with 2KiB BLKDEV_IOSIZE.

Revision 1.103.6.4: download - view: text, markup, annotated - select for diffs
Sat Mar 19 11:30:31 2016 UTC (8 years, 8 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.103.6.3: preferred, colored; branchpoint 1.103: preferred, colored
Changes since revision 1.103.6.3: +27 -6 lines
Sync with HEAD

Revision 1.116: download - view: text, markup, annotated - select for diffs
Wed Jan 6 00:22:30 2016 UTC (8 years, 10 months ago) by christos
Branches: MAIN
CVS tags: pgoyette-localcount-base, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, localcount-20160914, bouyer-socketcan-base
Branch point for: pgoyette-localcount, bouyer-socketcan
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +27 -6 lines
print the disklabel information on error if DIAGNOSTIC.

Revision 1.103.6.3: download - view: text, markup, annotated - select for diffs
Sun Dec 27 12:10:05 2015 UTC (8 years, 11 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.103.6.2: preferred, colored; branchpoint 1.103: preferred, colored
Changes since revision 1.103.6.2: +47 -8 lines
Sync with HEAD (as of 26th Dec)

Revision 1.115: download - view: text, markup, annotated - select for diffs
Tue Dec 8 20:36:15 2015 UTC (8 years, 11 months ago) by christos
Branches: MAIN
CVS tags: nick-nhusb-base-20151226
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +46 -7 lines
Replace DIOCGPART -> DIOCGPARTINFO which returns the data needed instead of
pointers.

Revision 1.114: download - view: text, markup, annotated - select for diffs
Sat Nov 28 14:36:00 2015 UTC (9 years ago) by mlelstv
Branches: MAIN
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +3 -3 lines
Handle sector sizes other than DEV_BSIZE when reading labels.

Revision 1.103.6.2: download - view: text, markup, annotated - select for diffs
Sat Jun 6 14:40:22 2015 UTC (9 years, 6 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.103.6.1: preferred, colored; branchpoint 1.103: preferred, colored
Changes since revision 1.103.6.1: +38 -15 lines
Sync with HEAD

Revision 1.103.4.2: download - view: text, markup, annotated - select for diffs
Mon Jun 1 19:19:44 2015 UTC (9 years, 6 months ago) by snj
Branches: netbsd-7
CVS tags: netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0
Diff to: previous 1.103.4.1: preferred, colored; branchpoint 1.103: preferred, colored; next MAIN 1.104: preferred, colored
Changes since revision 1.103.4.1: +12 -3 lines
Pull up following revision(s) (requested by jnemeth in ticket #775):
	share/man/man9/disk.9: revision 1.37
	sys/kern/subr_disk.c: revisions 1.104, 1.105
	sys/dev/dksubr.c: revision 1.56
	sys/sys/dkio.h: revision 1.21
Implement DIOCGMEDIASIZE and DIOCGSECTORSIZE from FreeBSD.
--
clear error for new ioctls.

Revision 1.103.4.1: download - view: text, markup, annotated - select for diffs
Tue May 19 04:53:02 2015 UTC (9 years, 6 months ago) by snj
Branches: netbsd-7
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +28 -5 lines
Pull up following revision(s) (requested by chs in ticket #766):
	sys/kern/subr_disk.c: revision 1.113
in bounds_check_with_*, reject negative block numbers and avoid
a potential overflow in calculating the size of the request.

Revision 1.113: download - view: text, markup, annotated - select for diffs
Thu May 14 17:31:24 2015 UTC (9 years, 6 months ago) by chs
Branches: MAIN
CVS tags: nick-nhusb-base-20150921, nick-nhusb-base-20150606
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +28 -5 lines
in bounds_check_with_*, reject negative block numbers and avoid
a potential overflow in calculating the size of the request.

Revision 1.112: download - view: text, markup, annotated - select for diffs
Tue May 5 22:09:24 2015 UTC (9 years, 7 months ago) by mlelstv
Branches: MAIN
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +12 -12 lines
Always fixup zero sector size, even when other geometry values are invalid.

Revision 1.103.6.1: download - view: text, markup, annotated - select for diffs
Mon Apr 6 15:18:20 2015 UTC (9 years, 8 months ago) by skrll
Branches: nick-nhusb
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +83 -30 lines
Sync with HEAD

Revision 1.111: download - view: text, markup, annotated - select for diffs
Fri Jan 2 01:14:22 2015 UTC (9 years, 11 months ago) by christos
Branches: MAIN
CVS tags: nick-nhusb-base-20150406
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +5 -3 lines
- Use NODEV instead of 0
- Return EBUSY if there was no label

Revision 1.110: download - view: text, markup, annotated - select for diffs
Wed Dec 31 20:13:41 2014 UTC (9 years, 11 months ago) by mlelstv
Branches: MAIN
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +2 -15 lines
Retire disk_blocksize().

Revision 1.109: download - view: text, markup, annotated - select for diffs
Wed Dec 31 19:58:59 2014 UTC (9 years, 11 months ago) by christos
Branches: MAIN
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +24 -22 lines
Mention which ioctls need to move to dk_ioctl, and don't allow wedges on
wedges.

Revision 1.108: download - view: text, markup, annotated - select for diffs
Wed Dec 31 19:52:06 2014 UTC (9 years, 11 months ago) by christos
Branches: MAIN
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +33 -3 lines
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.107: download - view: text, markup, annotated - select for diffs
Wed Dec 31 17:06:49 2014 UTC (9 years, 11 months ago) by christos
Branches: MAIN
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +40 -23 lines
Centralize wedge ioctls in disk_ioctl.

Revision 1.106: download - view: text, markup, annotated - select for diffs
Wed Dec 31 08:24:51 2014 UTC (9 years, 11 months ago) by mlelstv
Branches: MAIN
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +9 -3 lines
disk_blocksize and disk_set_info relay the same information
to the disk subsystem.

Make disk_set_info also set blocksize shift values.
Remove every call to disk_blocksize.

Keep disk_blocksize for ABI compatibility, make it also set dg_secsize.

Revision 1.105: download - view: text, markup, annotated - select for diffs
Mon Dec 29 18:54:19 2014 UTC (9 years, 11 months ago) by mlelstv
Branches: MAIN
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +3 -3 lines
clear error for new ioctls.

Revision 1.104: download - view: text, markup, annotated - select for diffs
Mon Dec 29 18:41:20 2014 UTC (9 years, 11 months ago) by mlelstv
Branches: MAIN
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +11 -2 lines
Implement DIOCGMEDIASIZE and DIOCGSECTORSIZE from FreeBSD.

Revision 1.100.18.6: download - view: text, markup, annotated - select for diffs
Wed Aug 20 00:04:29 2014 UTC (10 years, 3 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.100.18.5: preferred, colored; branchpoint 1.100: preferred, colored
Changes since revision 1.100.18.5: +1 -1 lines
Rebase to HEAD as of a few days ago.

Revision 1.100.8.1: download - view: text, markup, annotated - select for diffs
Thu May 22 11:41:03 2014 UTC (10 years, 6 months ago) by yamt
Branches: yamt-pagecache
Diff to: previous 1.100: preferred, colored; next MAIN 1.101: preferred, colored
Changes since revision 1.100: +84 -3 lines
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.102.2.1: download - view: text, markup, annotated - select for diffs
Sun May 18 17:46:07 2014 UTC (10 years, 6 months ago) by rmind
Branches: rmind-smpnet
Diff to: previous 1.102: preferred, colored; next MAIN 1.103: preferred, colored
Changes since revision 1.102: +3 -3 lines
sync with head

Revision 1.103: download - view: text, markup, annotated - select for diffs
Sat Oct 19 22:36:57 2013 UTC (11 years, 1 month ago) by mlelstv
Branches: MAIN
CVS tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, nick-nhusb-base, netbsd-7-base
Branch point for: nick-nhusb, netbsd-7
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +3 -3 lines
use 64bit arithmetic to compute sectors-per-unit

Revision 1.100.18.5: download - view: text, markup, annotated - select for diffs
Sun Jun 23 06:18:58 2013 UTC (11 years, 5 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.100.18.4: preferred, colored; branchpoint 1.100: preferred, colored
Changes since revision 1.100.18.4: +83 -2 lines
resync from head

Revision 1.102: download - view: text, markup, annotated - select for diffs
Wed May 29 00:47:49 2013 UTC (11 years, 6 months ago) by christos
Branches: MAIN
CVS tags: riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2
Branch point for: rmind-smpnet
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +83 -2 lines
phase 1 of disk geometry cleanup:
	- centralize the geometry -> plist code so that we don't have
	  n useless copies of it.

Revision 1.100.18.4: download - view: text, markup, annotated - select for diffs
Mon Feb 25 00:29:53 2013 UTC (11 years, 9 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.100.18.3: preferred, colored; branchpoint 1.100: preferred, colored
Changes since revision 1.100.18.3: +3 -3 lines
resync with head

Revision 1.100.18.3: download - view: text, markup, annotated - select for diffs
Sun Feb 10 16:26:33 2013 UTC (11 years, 9 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.100.18.2: preferred, colored; branchpoint 1.100: preferred, colored
Changes since revision 1.100.18.2: +4 -2 lines

Add an accessor -- ufs_maxphys() -- to check the maximum transfer size
for a given UFS mountpoint, and move the code from mount that finds
the underlying disk and resets the mountpoint max transfer size into a
utility function, ufs_update_maxphys().

Add a global serial number that counts disk property changes to which
filesystems are meant to accomodate themselves.  Make ufs_maxphys()
check it.  This is a sort of flag-polling interface that avoids callbacks
into the filesystem code, but will require freezing filesystems and
draining in-flight transactions before a decrease in size that is
mandatory (like attaching a disk with a smaller maximum transfer size
as a spare in a RAIDframe set), rather than "advisory", like finding
out set geometry from a RAID controller long after boot and deciding
a smaller transfer size would be optimal, can be signalled.  Still, the
"advisory" case is the common one so this is progress.

Make a bit of an example of RAIDframe by making it bump this new
serial number when disks are added to the subsystem.  I will attack
one of the hardware RAID drivers (probably arcmsr) next.

Revision 1.101: download - view: text, markup, annotated - select for diffs
Sat Feb 9 00:31:21 2013 UTC (11 years, 9 months ago) by christos
Branches: MAIN
CVS tags: khorben-n900, agc-symver-base, agc-symver
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +3 -3 lines
printflike maintenance.

Revision 1.100.18.2: download - view: text, markup, annotated - select for diffs
Sun Dec 2 05:46:40 2012 UTC (12 years ago) by tls
Branches: tls-maxphys
Diff to: previous 1.100.18.1: preferred, colored; branchpoint 1.100: preferred, colored
Changes since revision 1.100.18.1: +5 -2 lines

Don't pass NULL struct dkdriver to disk_init.  That's seriously bogus.

Revision 1.100.18.1: download - view: text, markup, annotated - select for diffs
Wed Sep 12 06:15:34 2012 UTC (12 years, 2 months ago) by tls
Branches: tls-maxphys
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +39 -2 lines
Initial snapshot of work to eliminate 64K MAXPHYS.  Basically works for
physio (I/O to raw devices); needs more doing to get it going with the
filesystems, but it shouldn't damage data.

All work's been done on amd64 so far.  Not hard to add support to other
ports.  If others want to pitch in, one very helpful thing would be to
sort out when and how IDE disks can do 128K or larger transfers, and
adjust the various PCI IDE (or at least ahcisata) drivers and wd.c
accordingly -- it would make testing much easier.  Another very helpful
thing would be to implement a smart minphys() for RAIDframe along the
lines detailed in the MAXPHYS-NOTES file.

Revision 1.99.4.1: download - view: text, markup, annotated - select for diffs
Sat Mar 5 20:55:18 2011 UTC (13 years, 9 months ago) by rmind
Branches: rmind-uvmplock
Diff to: previous 1.99: preferred, colored; next MAIN 1.100: preferred, colored
Changes since revision 1.99: +4 -4 lines
sync with head

Revision 1.93.10.3: download - view: text, markup, annotated - select for diffs
Fri Jan 7 06:33:45 2011 UTC (13 years, 10 months ago) by riz
Branches: 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
Diff to: previous 1.93.10.2: preferred, colored; branchpoint 1.93: preferred, colored; next MAIN 1.94: preferred, colored
Changes since revision 1.93.10.2: +33 -2 lines
Pull up following revision(s) (requested by mrg in ticket #1520):
	sys/sys/device.h: revision 1.133
	sys/kern/subr_disk.c: patch
Add helper function that determines the size and block size of a disk device.
For now we query
- the disk label
- the wedge info and data from disk(9)

Revision 1.83.2.1: download - view: text, markup, annotated - select for diffs
Sun Nov 21 21:52:04 2010 UTC (14 years ago) by riz
Branches: netbsd-4
Diff to: previous 1.83: preferred, colored; next MAIN 1.84: preferred, colored
Changes since revision 1.83: +4 -4 lines
Pull up following revision(s) (requested by mrg in ticket #1411):
	sys/kern/subr_disk.c: revision 1.100
add some (uint64_t) casts so avoid 32 bit overflows.  this fixes my
3TB disk with 4KB sectors and disklabel (which looks like it would
work upto 16TB.)
idea from mlelstv@.

Revision 1.93.10.2: download - view: text, markup, annotated - select for diffs
Sun Nov 21 21:48:28 2010 UTC (14 years ago) by riz
Branches: netbsd-5
CVS tags: matt-nb5-pq3-base, matt-nb5-pq3
Diff to: previous 1.93.10.1: preferred, colored; branchpoint 1.93: preferred, colored
Changes since revision 1.93.10.1: +4 -4 lines
Pull up following revision(s) (requested by mrg in ticket #1463):
	sys/kern/subr_disk.c: revision 1.100
add some (uint64_t) casts so avoid 32 bit overflows.  this fixes my
3TB disk with 4KB sectors and disklabel (which looks like it would
work upto 16TB.)
idea from mlelstv@.

Revision 1.99.2.1: download - view: text, markup, annotated - select for diffs
Fri Oct 22 07:22:28 2010 UTC (14 years, 1 month ago) by uebayasi
Branches: uebayasi-xip
Diff to: previous 1.99: preferred, colored; next MAIN 1.100: preferred, colored
Changes since revision 1.99: +4 -4 lines
Sync with HEAD (-D20101022).

Revision 1.100: download - view: text, markup, annotated - select for diffs
Thu Oct 14 00:47:16 2010 UTC (14 years, 1 month ago) by mrg
Branches: MAIN
CVS tags: yamt-pagecache-tag8, yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, uebayasi-xip-base4, uebayasi-xip-base3, rmind-uvmplock-nbase, rmind-uvmplock-base, 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-1, 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, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus, matt-mips64-premerge-20101231, jruoho-x86intr-base, jruoho-x86intr, 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-base10, jmcneill-usbmp-base, jmcneill-usbmp, jmcneill-audiomp3-base, jmcneill-audiomp3, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Branch point for: yamt-pagecache, tls-maxphys
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +4 -4 lines
add some (uint64_t) casts so avoid 32 bit overflows.  this fixes my
3TB disk with 4KB sectors and disklabel (which looks like it would
work upto 16TB.)

idea from mlelstv@.

Revision 1.92.4.4: download - view: text, markup, annotated - select for diffs
Thu Mar 11 15:04:18 2010 UTC (14 years, 8 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.92.4.3: preferred, colored; branchpoint 1.92: preferred, colored; next MAIN 1.93: preferred, colored
Changes since revision 1.92.4.3: +11 -10 lines
sync with head

Revision 1.99: download - view: text, markup, annotated - select for diffs
Sat Nov 28 22:38:07 2009 UTC (15 years ago) by dsl
Branches: MAIN
CVS tags: yamt-nfs-mp-base9, yamt-nfs-mp-base11, yamt-nfs-mp-base10, uebayasi-xip-base2, uebayasi-xip-base1, uebayasi-xip-base, matt-premerge-20091211
Branch point for: uebayasi-xip, rmind-uvmplock
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +5 -5 lines
When truncating a request in bounds_check_with_mediasize() multiply
by the provided sector size instead of 512.
Fixes last bit of PR/31565

Revision 1.98: download - view: text, markup, annotated - select for diffs
Fri Nov 27 11:23:50 2009 UTC (15 years ago) by tsutsui
Branches: MAIN
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +8 -7 lines
u_short -> uint16_t, some KNF.

Revision 1.94.2.2: download - view: text, markup, annotated - select for diffs
Thu Jul 23 23:32:35 2009 UTC (15 years, 4 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.94.2.1: preferred, colored; branchpoint 1.94: preferred, colored; next MAIN 1.95: preferred, colored
Changes since revision 1.94.2.1: +21 -2 lines
Sync with HEAD.

Revision 1.92.4.3: download - view: text, markup, annotated - select for diffs
Sat Jun 20 07:20:31 2009 UTC (15 years, 5 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.92.4.2: preferred, colored; branchpoint 1.92: preferred, colored
Changes since revision 1.92.4.2: +21 -2 lines
sync with head

Revision 1.97: download - view: text, markup, annotated - select for diffs
Wed May 20 03:26:21 2009 UTC (15 years, 6 months ago) by dyoung
Branches: MAIN
CVS tags: yamt-nfs-mp-base8, yamt-nfs-mp-base7, yamt-nfs-mp-base6, yamt-nfs-mp-base5, jymxensuspend-base, jym-xensuspend-nbase
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +3 -3 lines
On second thought, let's call disk_predetach() disk_begindetach().
Verbs are good.

Revision 1.96: download - view: text, markup, annotated - select for diffs
Tue May 19 23:42:05 2009 UTC (15 years, 6 months ago) by dyoung
Branches: MAIN
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +21 -2 lines
Encapsulate the checks that I do before detaching a disk(9) provider
in a pre-detachment routine, disk_predetach().

Revision 1.94.2.1: download - view: text, markup, annotated - select for diffs
Wed May 13 17:21:57 2009 UTC (15 years, 6 months ago) by jym
Branches: jym-xensuspend
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +13 -3 lines
Sync with HEAD.

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

Revision 1.92.4.2: download - view: text, markup, annotated - select for diffs
Mon May 4 08:13:47 2009 UTC (15 years, 7 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.92.4.1: preferred, colored; branchpoint 1.92: preferred, colored
Changes since revision 1.92.4.1: +20 -15 lines
sync with head.

Revision 1.93.8.2: download - view: text, markup, annotated - select for diffs
Tue Apr 28 07:37:00 2009 UTC (15 years, 7 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.93.8.1: preferred, colored; branchpoint 1.93: preferred, colored; next MAIN 1.94: preferred, colored
Changes since revision 1.93.8.1: +13 -3 lines
Sync with HEAD.

Revision 1.93.10.1: download - view: text, markup, annotated - select for diffs
Sat Apr 4 17:49:21 2009 UTC (15 years, 8 months ago) by snj
Branches: netbsd-5
CVS tags: 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, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +13 -3 lines
Pull up following revision(s) (requested by ad in ticket #657):
	sys/kern/subr_disk.c: revision 1.95
	sys/kern/subr_iostat.c: revision 1.17
	sys/sys/disk.h: revision 1.52
	sys/sys/iostat.h: revision 1.10
Add disk_isbusy(), iostat_isbusy().

Revision 1.95: download - view: text, markup, annotated - select for diffs
Sat Apr 4 07:30:10 2009 UTC (15 years, 8 months ago) by ad
Branches: MAIN
CVS tags: yamt-nfs-mp-base4, yamt-nfs-mp-base3, nick-hppapmap-base4, nick-hppapmap-base3, nick-hppapmap-base, jym-xensuspend-base
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +13 -3 lines
Add disk_isbusy(), iostat_isbusy().

Revision 1.93.8.1: download - view: text, markup, annotated - select for diffs
Tue Mar 3 18:32:56 2009 UTC (15 years, 9 months ago) by skrll
Branches: nick-hppapmap
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +9 -14 lines
Sync with HEAD.

Revision 1.94: download - view: text, markup, annotated - select for diffs
Thu Jan 22 14:38:35 2009 UTC (15 years, 10 months ago) by yamt
Branches: MAIN
CVS tags: nick-hppapmap-base2
Branch point for: jym-xensuspend
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +9 -14 lines
malloc -> kmem_alloc

Revision 1.91.6.2: download - view: text, markup, annotated - select for diffs
Mon Jun 2 13:24:11 2008 UTC (16 years, 6 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.91.6.1: preferred, colored; branchpoint 1.91: preferred, colored; next MAIN 1.92: preferred, colored
Changes since revision 1.91.6.1: +0 -7 lines
Sync with HEAD.

Revision 1.92.2.1: download - view: text, markup, annotated - select for diffs
Sun May 18 12:35:09 2008 UTC (16 years, 6 months ago) by yamt
Branches: yamt-pf42
Diff to: previous 1.92: preferred, colored; next MAIN 1.93: preferred, colored
Changes since revision 1.92: +2 -9 lines
sync with head.

Revision 1.92.4.1: download - view: text, markup, annotated - select for diffs
Fri May 16 02:25:26 2008 UTC (16 years, 6 months ago) by yamt
Branches: yamt-nfs-mp
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +2 -9 lines
sync with head.

Revision 1.93: download - view: text, markup, annotated - select for diffs
Mon Apr 28 20:24:04 2008 UTC (16 years, 7 months ago) by martin
Branches: MAIN
CVS tags: yamt-pf42-base4, yamt-pf42-base3, yamt-pf42-base2, yamt-nfs-mp-base2, wrstuden-revivesa-base-4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, wrstuden-revivesa, simonb-wapbl-nbase, simonb-wapbl-base, simonb-wapbl, netbsd-5-base, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, mjf-devfs2-base, matt-mips64-base2, hpcarm-cleanup-nbase, haad-nbase2, haad-dm-base2, haad-dm-base1, haad-dm-base, haad-dm, ad-audiomp2-base, ad-audiomp2
Branch point for: nick-hppapmap, netbsd-5
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +2 -9 lines
Remove clause 3 and 4 from TNF licenses

Revision 1.91.6.1: download - view: text, markup, annotated - select for diffs
Thu Apr 3 12:43:03 2008 UTC (16 years, 8 months ago) by mjf
Branches: mjf-devfs2
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +3 -3 lines
Sync with HEAD.

Revision 1.91.2.1: download - view: text, markup, annotated - select for diffs
Mon Mar 24 07:16:14 2008 UTC (16 years, 8 months ago) by keiichi
Branches: keiichi-mipv6
Diff to: previous 1.91: preferred, colored; next MAIN 1.92: preferred, colored
Changes since revision 1.91: +3 -3 lines
sync with head.

Revision 1.88.6.3: download - view: text, markup, annotated - select for diffs
Sun Mar 23 02:05:00 2008 UTC (16 years, 8 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.88.6.2: preferred, colored; branchpoint 1.88: preferred, colored; next MAIN 1.89: preferred, colored
Changes since revision 1.88.6.2: +3 -3 lines
sync with HEAD

Revision 1.69.2.7: download - view: text, markup, annotated - select for diffs
Mon Mar 17 09:15:34 2008 UTC (16 years, 8 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69.2.6: preferred, colored; next MAIN 1.70: preferred, colored
Changes since revision 1.69.2.6: +3 -3 lines
sync with head.

Revision 1.92: download - view: text, markup, annotated - select for diffs
Thu Feb 28 04:55:47 2008 UTC (16 years, 9 months ago) by matt
Branches: MAIN
CVS tags: yamt-pf42-baseX, yamt-pf42-base, yamt-nfs-mp-base, yamt-lazymbuf-base15, yamt-lazymbuf-base14, matt-armv6-nbase, keiichi-mipv6-nbase, keiichi-mipv6-base, ad-socklock-base1
Branch point for: yamt-pf42, yamt-nfs-mp
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +3 -3 lines
constify dkdriver

Revision 1.89.4.1: download - view: text, markup, annotated - select for diffs
Mon Feb 18 21:06:47 2008 UTC (16 years, 9 months ago) by mjf
Branches: mjf-devfs
Diff to: previous 1.89: preferred, colored; next MAIN 1.90: preferred, colored
Changes since revision 1.89: +5 -4 lines
Sync with HEAD.

Revision 1.69.2.6: download - view: text, markup, annotated - select for diffs
Mon Feb 4 09:24:16 2008 UTC (16 years, 10 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69.2.5: preferred, colored
Changes since revision 1.69.2.5: +3 -3 lines
sync with head.

Revision 1.91: download - view: text, markup, annotated - select for diffs
Thu Jan 31 18:30:55 2008 UTC (16 years, 10 months ago) by dyoung
Branches: MAIN
CVS tags: nick-net80211-sync-base, nick-net80211-sync, mjf-devfs-base, hpcarm-cleanup-base
Branch point for: mjf-devfs2, keiichi-mipv6
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +3 -3 lines
Constify both struct disk->dk_name and the `name' argument to
disk_init().

Revision 1.89.12.1: download - view: text, markup, annotated - select for diffs
Wed Jan 30 22:09:45 2008 UTC (16 years, 10 months ago) by cube
Branches: cube-autoconf
Diff to: previous 1.89: preferred, colored; next MAIN 1.90: preferred, colored
Changes since revision 1.89: +3 -3 lines
constify disk->dk_name.

Revision 1.69.2.5: download - view: text, markup, annotated - select for diffs
Mon Jan 21 09:46:17 2008 UTC (16 years, 10 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69.2.4: preferred, colored
Changes since revision 1.69.2.4: +4 -3 lines
sync with head

Revision 1.88.6.2: download - view: text, markup, annotated - select for diffs
Wed Jan 9 01:56:15 2008 UTC (16 years, 10 months ago) by matt
Branches: matt-armv6
Diff to: previous 1.88.6.1: preferred, colored; branchpoint 1.88: preferred, colored
Changes since revision 1.88.6.1: +4 -3 lines
sync with HEAD

Revision 1.89.10.1: download - view: text, markup, annotated - select for diffs
Wed Jan 2 21:56:07 2008 UTC (16 years, 11 months ago) by bouyer
Branches: bouyer-xeni386
CVS tags: bouyer-xeni386-merge1
Diff to: previous 1.89: preferred, colored; next MAIN 1.90: preferred, colored
Changes since revision 1.89: +4 -3 lines
Sync with HEAD

Revision 1.90: download - view: text, markup, annotated - select for diffs
Wed Jan 2 11:48:52 2008 UTC (16 years, 11 months ago) by ad
Branches: MAIN
CVS tags: matt-armv6-base, bouyer-xeni386-nbase, bouyer-xeni386-base
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +4 -3 lines
Merge vmlocking2 to head.

Revision 1.89.6.1: download - view: text, markup, annotated - select for diffs
Tue Dec 4 13:03:15 2007 UTC (17 years ago) by ad
Branches: vmlocking2
Diff to: previous 1.89: preferred, colored; next MAIN 1.90: preferred, colored
Changes since revision 1.89: +4 -3 lines
Pull the vmlocking changes into a new branch.

Revision 1.88.6.1: download - view: text, markup, annotated - select for diffs
Tue Nov 6 23:32:13 2007 UTC (17 years, 1 month ago) by matt
Branches: matt-armv6
CVS tags: matt-armv6-prevmlocking
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +17 -54 lines
sync with HEAD

Revision 1.69.2.4: download - view: text, markup, annotated - select for diffs
Sat Oct 27 11:35:32 2007 UTC (17 years, 1 month ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69.2.3: preferred, colored
Changes since revision 1.69.2.3: +17 -54 lines
sync with head.

Revision 1.88.4.1: download - view: text, markup, annotated - select for diffs
Fri Oct 26 15:48:39 2007 UTC (17 years, 1 month ago) by joerg
Branches: jmcneill-pm
Diff to: previous 1.88: preferred, colored; next MAIN 1.89: preferred, colored
Changes since revision 1.88: +17 -54 lines
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.88.8.1: download - view: text, markup, annotated - select for diffs
Sun Oct 14 11:48:45 2007 UTC (17 years, 1 month ago) by yamt
Branches: yamt-x86pmap
Diff to: previous 1.88: preferred, colored; next MAIN 1.89: preferred, colored
Changes since revision 1.88: +17 -54 lines
sync with head.

Revision 1.89: download - view: text, markup, annotated - select for diffs
Mon Oct 8 16:41:15 2007 UTC (17 years, 1 month ago) by ad
Branches: MAIN
CVS tags: yamt-x86pmap-base4, yamt-x86pmap-base3, yamt-kmem-base3, yamt-kmem-base2, yamt-kmem-base, yamt-kmem, vmlocking2-base3, vmlocking2-base2, vmlocking2-base1, vmlocking-nbase, vmlocking-base, reinoud-bufcleanup-nbase, reinoud-bufcleanup-base, jmcneill-pm-base, jmcneill-base, cube-autoconf-base, bouyer-xenamd64-base2, bouyer-xenamd64-base, bouyer-xenamd64
Branch point for: vmlocking2, mjf-devfs, cube-autoconf, bouyer-xeni386
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +17 -54 lines
Merge disk init changes from the vmlocking branch. These seperate init /
destroy of 'struct disk' from attach / detach.

Revision 1.69.2.3: download - view: text, markup, annotated - select for diffs
Mon Sep 3 14:41:01 2007 UTC (17 years, 3 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69.2.2: preferred, colored
Changes since revision 1.69.2.2: +95 -22 lines
sync with head.

Revision 1.85.2.6: download - view: text, markup, annotated - select for diffs
Fri Aug 24 23:28:40 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.85.2.5: preferred, colored; branchpoint 1.85: preferred, colored; next MAIN 1.86: preferred, colored
Changes since revision 1.85.2.5: +4 -3 lines
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.85.2.5: download - view: text, markup, annotated - select for diffs
Mon Aug 20 22:42:52 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.85.2.4: preferred, colored; branchpoint 1.85: preferred, colored
Changes since revision 1.85.2.4: +411 -480 lines
Sync with head.

Revision 1.85.2.4: download - view: text, markup, annotated - select for diffs
Mon Aug 20 21:27:37 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.85.2.3: preferred, colored; branchpoint 1.85: preferred, colored
Changes since revision 1.85.2.3: +480 -411 lines
Sync with HEAD.

Revision 1.85.2.3: download - view: text, markup, annotated - select for diffs
Mon Aug 20 18:16:17 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.85.2.2: preferred, colored; branchpoint 1.85: preferred, colored
Changes since revision 1.85.2.2: +21 -61 lines
- Alter disk attach/detach to fix a panic when closing a vnd device.
- Sync with HEAD.

Revision 1.85.2.2: download - view: text, markup, annotated - select for diffs
Sun Aug 19 19:24:54 2007 UTC (17 years, 3 months ago) by ad
Branches: vmlocking
Diff to: previous 1.85.2.1: preferred, colored; branchpoint 1.85: preferred, colored
Changes since revision 1.85.2.1: +12 -18 lines
- Back out the biodone() changes.
- Eliminate B_ERROR (from HEAD).

Revision 1.86.2.1: download - view: text, markup, annotated - select for diffs
Wed Aug 15 13:49:12 2007 UTC (17 years, 3 months ago) by skrll
Branches: nick-csl-alignment
Diff to: previous 1.86: preferred, colored; next MAIN 1.87: preferred, colored
Changes since revision 1.86: +13 -22 lines
Sync with HEAD.

Revision 1.88.10.2: download - view: text, markup, annotated - select for diffs
Sun Jul 29 12:15:46 2007 UTC (17 years, 4 months ago) by ad
Branches: matt-mips64
Diff to: previous 1.88.10.1: preferred, colored; branchpoint 1.88: preferred, colored; next MAIN 1.89: preferred, colored
Changes since revision 1.88.10.1: +528 -0 lines
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.88.10.1
Sun Jul 29 12:15:45 2007 UTC (17 years, 4 months ago) by ad
Branches: matt-mips64
FILE REMOVED
Changes since revision 1.88: +0 -528 lines
file subr_disk.c was added on branch matt-mips64 on 2007-07-29 12:15:46 +0000

Revision 1.88: download - view: text, markup, annotated - select for diffs
Sun Jul 29 12:15:45 2007 UTC (17 years, 4 months ago) by ad
Branches: 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
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +9 -18 lines
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.87: download - view: text, markup, annotated - select for diffs
Sat Jul 21 19:51:49 2007 UTC (17 years, 4 months ago) by ad
Branches: MAIN
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +6 -6 lines
Replace some uses of lockmgr().

Revision 1.85.2.1: download - view: text, markup, annotated - select for diffs
Sun Jul 15 13:27:43 2007 UTC (17 years, 4 months ago) by ad
Branches: vmlocking
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +78 -2 lines
Sync with head.

Revision 1.85.4.1: download - view: text, markup, annotated - select for diffs
Wed Jul 11 20:10:03 2007 UTC (17 years, 4 months ago) by mjf
Branches: mjf-ufs-trans
Diff to: previous 1.85: preferred, colored; next MAIN 1.86: preferred, colored
Changes since revision 1.85: +78 -2 lines
Sync with head.

Revision 1.86: download - view: text, markup, annotated - select for diffs
Sun Jun 24 01:43:35 2007 UTC (17 years, 5 months ago) by dyoung
Branches: MAIN
CVS tags: nick-csl-alignment-base, mjf-ufs-trans-base
Branch point for: nick-csl-alignment
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +78 -2 lines
Extract common code from i386, xen, and sparc64, creating
config_handle_wedges() and read_disk_sectors().  On x86, handle_wedges()
is a thin wrapper for config_handle_wedges().  Share opendisk()
across architectures.

Add kernel code in support of specifying a root partition by wedge
name.  E.g., root specifications "wedge:wd0a", "wedge:David's Root
Volume" are possible.  (Patches for config(1) coming soon.)

In support of moving disks between architectures (esp. i386 <->
evbmips), I've written a routine convertdisklabel() that ensures
that the raw partition is at RAW_DISK by following these steps:

        0 If we have read a disklabel that has a RAW_PART with
          p_offset == 0 and p_size != 0, then use that raw partition.

        1 If we have read a disklabel that has both partitions 'c'
          and 'd', and RAW_PART has p_offset != 0 or p_size == 0,
          but the other partition is suitable for a raw partition
          (p_offset == 0, p_size != 0), then swap the two partitions
          and use the new raw partition.

        2 If the architecture's raw partition is 'd', and if there
          is no partition 'd', but there is a partition 'c' that
          is suitable for a raw partition, then copy partition 'c'
          to partition 'd'.

        3 Determine the drive's last sector, using either the
          d_secperunit the drive reported, or by guessing (0x1fffffff).
          If we cannot read the drive's last sector, then fail.

        4 If we have read a disklabel that has no partition slot
          RAW_PART, then create a partition RAW_PART.  Make it span
          the whole drive.

        5 If there are fewer than MAXPARTITIONS partitions,
          then "slide" the unsuitable raw partition RAW_PART, and
          subsequent partitions, into partition slots RAW_PART+1
          and subsequent slots.  Create a raw partition at RAW_PART.
          Make it span the whole drive.

The convertdisklabel() procedure can probably stand to be simplified,
but it ought to deal with all but an extraordinarily broken disklabel,
now.

i386: compiled and tested, sparc64: compiled, evbmips: compiled.

Revision 1.83.4.1: download - view: text, markup, annotated - select for diffs
Mon Mar 12 05:58:39 2007 UTC (17 years, 8 months ago) by rmind
Branches: yamt-idlelwp
Diff to: previous 1.83: preferred, colored; next MAIN 1.84: preferred, colored
Changes since revision 1.83: +10 -4 lines
Sync with HEAD.

Revision 1.85: download - view: text, markup, annotated - select for diffs
Sun Mar 4 06:03:07 2007 UTC (17 years, 9 months ago) by christos
Branches: MAIN
CVS tags: yamt-idlelwp-base8, thorpej-atomic-base, thorpej-atomic, reinoud-bufcleanup
Branch point for: vmlocking, mjf-ufs-trans
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +3 -3 lines
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.

Revision 1.84: download - view: text, markup, annotated - select for diffs
Thu Mar 1 21:30:50 2007 UTC (17 years, 9 months ago) by martin
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +9 -3 lines
Split the disklabel checksum function into two, so we can pass the
length separately.
Use this for foreign-endianess labels in wedge autodiscovery, and
calculate the checksum of those before we swap various fields in the
label.

Revision 1.80.2.2: download - view: text, markup, annotated - select for diffs
Fri Jan 12 01:04:07 2007 UTC (17 years, 10 months ago) by ad
Branches: newlock2
Diff to: previous 1.80.2.1: preferred, colored; branchpoint 1.80: preferred, colored; next MAIN 1.81: preferred, colored
Changes since revision 1.80.2.1: +79 -2 lines
Sync with head.

Revision 1.69.2.2: download - view: text, markup, annotated - select for diffs
Sat Dec 30 20:50:06 2006 UTC (17 years, 11 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69.2.1: preferred, colored
Changes since revision 1.69.2.1: +118 -5 lines
sync with head.

Revision 1.80.4.2: download - view: text, markup, annotated - select for diffs
Sun Dec 10 07:18:45 2006 UTC (17 years, 11 months ago) by yamt
Branches: yamt-splraiseipl
Diff to: previous 1.80.4.1: preferred, colored; branchpoint 1.80: preferred, colored; next MAIN 1.81: preferred, colored
Changes since revision 1.80.4.1: +109 -2 lines
sync with head.

Revision 1.83: download - view: text, markup, annotated - select for diffs
Sat Nov 25 11:59:58 2006 UTC (18 years ago) by scw
Branches: MAIN
CVS tags: yamt-splraiseipl-base5, yamt-splraiseipl-base4, yamt-splraiseipl-base3, wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, post-newlock2-merge, newlock2-nbase, newlock2-base, netbsd-4-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, ad-audiomp-base, ad-audiomp
Branch point for: yamt-idlelwp, netbsd-4
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +79 -2 lines
Replace the myriad copies of bounds_check_with_label() with a single MI
version.

Add disk_blocksize(9) so that disk drivers can record the physical
block size of a disk if it is different to DEV_BSIZE. Right now this
simply initialises dk_blkshift and dk_byteshift according to the
supplied block size. This information is used in the MI version of
bounds_check_with_label().

Revision 1.80.2.1: download - view: text, markup, annotated - select for diffs
Sat Nov 18 21:39:22 2006 UTC (18 years ago) by ad
Branches: newlock2
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +40 -2 lines
Sync with head.

Revision 1.82: download - view: text, markup, annotated - select for diffs
Wed Oct 25 04:04:46 2006 UTC (18 years, 1 month ago) by thorpej
Branches: MAIN
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +32 -2 lines
- Add a new disk ioctl (DIOCGDISKINFO) to get the disk-info dictionary
  for the disk.
- Add a new function, disk_ioctl(), that does generic disk ioctl handling.
  DIOCGDISKINFO is handled here now, and others will be added in the future.
- In the wd driver, fill in the dk_info member of struct disk and use the
  new disk_ioctl() function.

Revision 1.80.4.1: download - view: text, markup, annotated - select for diffs
Sun Oct 22 06:07:11 2006 UTC (18 years, 1 month ago) by yamt
Branches: yamt-splraiseipl
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +10 -2 lines
sync with head

Revision 1.81: download - view: text, markup, annotated - select for diffs
Fri Sep 22 04:48:38 2006 UTC (18 years, 2 months ago) by thorpej
Branches: MAIN
CVS tags: yamt-splraiseipl-base2
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +10 -2 lines
- Define disk information, disk geometry, and disk partition dictionary
  schemas.  Disk information and disk geometry are designed to replace
  information currently conveyed to user space using struct disklabel.
- Add a dk_info member to struct disk; a reference to a disk information
  dictionary.  This dictionary is to be allocated and the reference stored
  in struct disk by individual drivers.
- disk_detach0() will release dk_info if non-NULL.
- Convert the wd(4) driver to stash geometry and other disk properties
  as the "disk-info" property in its properties dictionary.  This needs
  some cleanup, but will serve as an example of what to do with other
  disk drivers.

Revision 1.73.4.1: download - view: text, markup, annotated - select for diffs
Sat Sep 9 02:57:16 2006 UTC (18 years, 2 months ago) by rpaulo
Branches: rpaulo-netinet-merge-pcb
Diff to: previous 1.73: preferred, colored; next MAIN 1.74: preferred, colored
Changes since revision 1.73: +16 -230 lines
sync with head

Revision 1.73.8.3: download - view: text, markup, annotated - select for diffs
Sun Sep 3 15:25:22 2006 UTC (18 years, 3 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.73.8.2: preferred, colored; branchpoint 1.73: preferred, colored; next MAIN 1.74: preferred, colored
Changes since revision 1.73.8.2: +3 -5 lines
sync with head.

Revision 1.80: download - view: text, markup, annotated - select for diffs
Wed Aug 23 17:19:32 2006 UTC (18 years, 3 months ago) by christos
Branches: MAIN
CVS tags: yamt-splraiseipl-base, yamt-pdpolicy-base9, yamt-pdpolicy-base8, rpaulo-netinet-merge-pcb-base
Branch point for: yamt-splraiseipl, newlock2
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +3 -5 lines
Change iostat_alloc() to take the parent pointer and the name directly, so
that callers are not responsible for initializing the fields. Store the name
inside the struct instead of maintaining a pointer to external storage, or
leaked memory (nfs case).

Revision 1.73.8.2: download - view: text, markup, annotated - select for diffs
Mon Jun 26 12:52:56 2006 UTC (18 years, 5 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.73.8.1: preferred, colored; branchpoint 1.73: preferred, colored
Changes since revision 1.73.8.1: +3 -2 lines
sync with head.

Revision 1.69.2.1: download - view: text, markup, annotated - select for diffs
Wed Jun 21 15:09:38 2006 UTC (18 years, 5 months ago) by yamt
Branches: yamt-lazymbuf
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +58 -312 lines
sync with head.

Revision 1.78.2.1: download - view: text, markup, annotated - select for diffs
Mon Jun 19 04:07:16 2006 UTC (18 years, 5 months ago) by chap
Branches: chap-midi
Diff to: previous 1.78: preferred, colored; next MAIN 1.79: preferred, colored
Changes since revision 1.78: +3 -2 lines
Sync with head.

Revision 1.79: download - view: text, markup, annotated - select for diffs
Wed Jun 7 22:33:40 2006 UTC (18 years, 6 months ago) by kardel
Branches: MAIN
CVS tags: yamt-pdpolicy-base7, yamt-pdpolicy-base6, gdamore-uart-base, gdamore-uart, chap-midi-nbase, chap-midi-base, abandoned-netbsd-4-base, abandoned-netbsd-4
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +3 -2 lines
merge FreeBSD timecounters from branch simonb-timecounters
- struct timeval time is gone
  time.tv_sec -> time_second
- struct timeval mono_time is gone
  mono_time.tv_sec -> time_uptime
- access to time via
	{get,}{micro,nano,bin}time()
	get* versions are fast but less precise
- support NTP nanokernel implementation (NTP API 4)
- further reading:
  Timecounter Paper: http://phk.freebsd.dk/pubs/timecounter.pdf
  NTP Nanokernel: http://www.eecis.udel.edu/~mills/ntp/html/kern.html

Revision 1.73.12.1: download - view: text, markup, annotated - select for diffs
Wed May 24 15:50:41 2006 UTC (18 years, 6 months ago) by tron
Branches: peter-altq
Diff to: previous 1.73: preferred, colored; next MAIN 1.74: preferred, colored
Changes since revision 1.73: +18 -231 lines
Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.

Revision 1.73.8.1: download - view: text, markup, annotated - select for diffs
Wed May 24 10:58:41 2006 UTC (18 years, 6 months ago) by yamt
Branches: yamt-pdpolicy
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +18 -231 lines
sync with head.

Revision 1.73.10.2: download - view: text, markup, annotated - select for diffs
Thu May 11 23:30:15 2006 UTC (18 years, 6 months ago) by elad
Branches: elad-kernelauth
Diff to: previous 1.73.10.1: preferred, colored; branchpoint 1.73: preferred, colored; next MAIN 1.74: preferred, colored
Changes since revision 1.73.10.1: +11 -12 lines
sync with head

Revision 1.73.6.2: download - view: text, markup, annotated - select for diffs
Sat Apr 22 11:39:59 2006 UTC (18 years, 7 months ago) by simonb
Branches: simonb-timecounters
CVS tags: simonb-timcounters-final
Diff to: previous 1.73.6.1: preferred, colored; branchpoint 1.73: preferred, colored; next MAIN 1.74: preferred, colored
Changes since revision 1.73.6.1: +18 -212 lines
Sync with head.

Revision 1.78: download - view: text, markup, annotated - select for diffs
Fri Apr 21 13:53:30 2006 UTC (18 years, 7 months ago) by yamt
Branches: MAIN
CVS tags: yamt-pdpolicy-base5, simonb-timecounters-base, elad-kernelauth-base
Branch point for: chap-midi
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +1 -1 lines
iostat_find/disk_find: constify and simplify.

Revision 1.77: download - view: text, markup, annotated - select for diffs
Fri Apr 21 13:51:24 2006 UTC (18 years, 7 months ago) by yamt
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +0 -2 lines
remove some unnecessary #include.

Revision 1.76: download - view: text, markup, annotated - select for diffs
Fri Apr 21 13:48:57 2006 UTC (18 years, 7 months ago) by yamt
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +8 -7 lines
whitespace.

Revision 1.75: download - view: text, markup, annotated - select for diffs
Thu Apr 20 12:13:53 2006 UTC (18 years, 7 months ago) by blymn
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +6 -6 lines
Prefix iostat structure elements with io_

Revision 1.73.10.1: download - view: text, markup, annotated - select for diffs
Wed Apr 19 05:13:59 2006 UTC (18 years, 7 months ago) by elad
Branches: elad-kernelauth
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +18 -230 lines
sync with head.

Revision 1.74: download - view: text, markup, annotated - select for diffs
Fri Apr 14 13:09:06 2006 UTC (18 years, 7 months ago) by blymn
Branches: MAIN
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +18 -230 lines
Make i/o statistics collection more generic, include tape drives and
nfs mounts in the set of devices that statistics will be reported on.

Revision 1.73.6.1: download - view: text, markup, annotated - select for diffs
Sat Feb 4 14:30:17 2006 UTC (18 years, 10 months ago) by simonb
Branches: simonb-timecounters
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +8 -26 lines
Adapt for timecounters: mostly use get*time() and use "time_second"
instead of "time.tv_sec".

Revision 1.73: download - view: text, markup, annotated - select for diffs
Mon Dec 26 18:45:27 2005 UTC (18 years, 11 months ago) by perry
Branches: MAIN
CVS tags: yamt-uio_vmspace-base5, yamt-uio_vmspace, yamt-pdpolicy-base4, yamt-pdpolicy-base3, yamt-pdpolicy-base2, yamt-pdpolicy-base, peter-altq-base
Branch point for: yamt-pdpolicy, simonb-timecounters, rpaulo-netinet-merge-pcb, peter-altq, elad-kernelauth
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +3 -3 lines
u_intN_t -> uintN_t

Revision 1.72: download - view: text, markup, annotated - select for diffs
Sun Dec 11 12:24:30 2005 UTC (18 years, 11 months ago) by christos
Branches: MAIN
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +2 -2 lines
merge ktrace-lwp.

Revision 1.52.2.10: download - view: text, markup, annotated - select for diffs
Thu Nov 10 14:09:45 2005 UTC (19 years ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52.2.9: preferred, colored; next MAIN 1.53: preferred, colored
Changes since revision 1.52.2.9: +81 -123 lines
Sync with HEAD. Here we go again...

Revision 1.71: download - view: text, markup, annotated - select for diffs
Sat Oct 15 17:29:26 2005 UTC (19 years, 1 month ago) by yamt
Branches: 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
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +2 -94 lines
- 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.70: download - view: text, markup, annotated - select for diffs
Sat Aug 20 12:00:01 2005 UTC (19 years, 3 months ago) by yamt
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +72 -22 lines
introduce a variant of disk_attach/detach, for pseudo disks
which is opened by user before being attached.

Revision 1.69: download - view: text, markup, annotated - select for diffs
Sun May 29 22:24:15 2005 UTC (19 years, 6 months ago) by christos
Branches: MAIN
Branch point for: yamt-lazymbuf
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +11 -11 lines
- add const.
- remove unnecessary casts.
- add __UNCONST casts and mark them with XXXUNCONST as necessary.

Revision 1.65.4.1: download - view: text, markup, annotated - select for diffs
Fri Apr 29 11:29:24 2005 UTC (19 years, 7 months ago) by kent
Branches: kent-audio2
Diff to: previous 1.65: preferred, colored; next MAIN 1.66: preferred, colored
Changes since revision 1.65: +28 -13 lines
sync with -current

Revision 1.67.4.1: download - view: text, markup, annotated - select for diffs
Wed Apr 6 11:56:43 2005 UTC (19 years, 8 months ago) by tron
Branches: 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
Diff to: previous 1.67: preferred, colored; next MAIN 1.68: preferred, colored
Changes since revision 1.67: +18 -2 lines
Pull up revision 1.68 (requested by yamt in ticket #112):
introduce a function to drain bufq and use it where appropriate.

Revision 1.52.2.9: download - view: text, markup, annotated - select for diffs
Fri Apr 1 14:30:56 2005 UTC (19 years, 8 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52.2.8: preferred, colored
Changes since revision 1.52.2.8: +18 -2 lines
Sync with HEAD.

Revision 1.68: download - view: text, markup, annotated - select for diffs
Thu Mar 31 11:28:53 2005 UTC (19 years, 8 months ago) by yamt
Branches: MAIN
CVS tags: kent-audio2-base
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +18 -2 lines
introduce a function to drain bufq and use it where appropriate.

Revision 1.65.6.1: download - view: text, markup, annotated - select for diffs
Sat Feb 12 18:17:52 2005 UTC (19 years, 9 months ago) by yamt
Branches: yamt-km
Diff to: previous 1.65: preferred, colored; next MAIN 1.66: preferred, colored
Changes since revision 1.65: +13 -14 lines
sync with head.

Revision 1.52.2.8: download - view: text, markup, annotated - select for diffs
Wed Feb 9 08:26:14 2005 UTC (19 years, 9 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52.2.7: preferred, colored
Changes since revision 1.52.2.7: +3 -3 lines
Sync with HEAD.

Revision 1.67: download - view: text, markup, annotated - select for diffs
Tue Feb 8 08:56:21 2005 UTC (19 years, 9 months ago) by fvdl
Branches: MAIN
CVS tags: yamt-km-base4, yamt-km-base3, yamt-km-base2, netbsd-3-base
Branch point for: netbsd-3
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +3 -3 lines
Change the 'sz' variable in bounds_check_* to int64_t to avoid overflows
when a very large blocknumber is passed in.

Revision 1.52.2.7: download - view: text, markup, annotated - select for diffs
Mon Feb 7 08:36:33 2005 UTC (19 years, 9 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52.2.6: preferred, colored
Changes since revision 1.52.2.6: +12 -13 lines
Sunc with HEAD.

Revision 1.66: download - view: text, markup, annotated - select for diffs
Sun Feb 6 23:57:29 2005 UTC (19 years, 9 months ago) by christos
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +12 -13 lines
Change an if/panic statement to a KASSERT and disable a chatty printf.

Revision 1.52.2.6: download - view: text, markup, annotated - select for diffs
Mon Nov 29 07:24:51 2004 UTC (20 years ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52.2.5: preferred, colored
Changes since revision 1.52.2.5: +39 -26 lines
Sync with HEAD.

Revision 1.65: download - view: text, markup, annotated - select for diffs
Thu Nov 25 04:52:24 2004 UTC (20 years ago) by yamt
Branches: MAIN
CVS tags: yamt-km-base, kent-audio1-beforemerge, kent-audio1-base, kent-audio1
Branch point for: yamt-km, kent-audio2
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +39 -26 lines
lookup bufq using link_set rather than a switch statement.

Revision 1.52.2.5: download - view: text, markup, annotated - select for diffs
Tue Nov 2 07:53:23 2004 UTC (20 years, 1 month ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52.2.4: preferred, colored
Changes since revision 1.52.2.4: +3 -2 lines
Sync with HEAD.

Revision 1.64: download - view: text, markup, annotated - select for diffs
Thu Oct 28 07:07:46 2004 UTC (20 years, 1 month ago) by yamt
Branches: MAIN
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +3 -2 lines
move buffer queue related stuffs from buf.h to their own header, bufq.h.

Revision 1.52.2.4: download - view: text, markup, annotated - select for diffs
Tue Oct 19 15:58:06 2004 UTC (20 years, 1 month ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52.2.3: preferred, colored
Changes since revision 1.52.2.3: +23 -589 lines
Sync with HEAD

Revision 1.63: download - view: text, markup, annotated - select for diffs
Fri Oct 15 07:19:01 2004 UTC (20 years, 1 month ago) by thorpej
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +7 -17 lines
- Eliminate the need to call disk_init().
- disk_count needs to be protected with disklist_slock, too.

Revision 1.62: download - view: text, markup, annotated - select for diffs
Thu Oct 14 05:12:28 2004 UTC (20 years, 1 month ago) by yamt
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +8 -574 lines
move i/o schedulers to their own files.
namely, from kern/subr_disk.c to kern/bufq_{fcfs,disksort,readprio,priocscan}.c.

Revision 1.61: download - view: text, markup, annotated - select for diffs
Sat Sep 25 03:30:44 2004 UTC (20 years, 2 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +12 -2 lines
Work-in-progress implementation of "wedges", a new way to represent
partitions in the NetBSD kernel.  See discussion on tech-kern for details.

Revision 1.52.2.3: download - view: text, markup, annotated - select for diffs
Tue Sep 21 13:35:11 2004 UTC (20 years, 2 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52.2.2: preferred, colored
Changes since revision 1.52.2.2: +2 -2 lines
Fix the sync with head I botched.

Revision 1.52.2.2: download - view: text, markup, annotated - select for diffs
Sat Sep 18 14:53:03 2004 UTC (20 years, 2 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52.2.1: preferred, colored
Changes since revision 1.52.2.1: +0 -0 lines
Sync with HEAD.

Revision 1.52.2.1: download - view: text, markup, annotated - select for diffs
Tue Aug 3 10:52:54 2004 UTC (20 years, 4 months ago) by skrll
Branches: ktrace-lwp
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +299 -28 lines
Sync with HEAD

Revision 1.60: download - view: text, markup, annotated - select for diffs
Tue Mar 9 12:23:07 2004 UTC (20 years, 8 months ago) by yamt
Branches: 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
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +5 -3 lines
- add a function prototype.
- consitify.

Revision 1.59: download - view: text, markup, annotated - select for diffs
Sat Feb 28 06:28:48 2004 UTC (20 years, 9 months ago) by yamt
Branches: MAIN
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +9 -2 lines
change the way to handle NEW_BUFQ_STRATEGY option.
instead of putting #ifdefs into each drivers,
use a global variable to indicate default strategy.

XXX should have a way to specify other strategies.

Revision 1.58: download - view: text, markup, annotated - select for diffs
Sat Jan 10 14:49:44 2004 UTC (20 years, 10 months ago) by yamt
Branches: MAIN
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +263 -2 lines
add a new bufq strategy, BUFQ_PRIOCSCAN (per-priority CSCAN).
discussed on tech-kern@

Revision 1.57: download - view: text, markup, annotated - select for diffs
Sat Dec 6 17:23:22 2003 UTC (21 years ago) by yamt
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +9 -6 lines
rev.1.55 didn't handle BUFQ_SORT_CYLINDER case correctly.
pointed by Juergen Hannken-Illjes.  patch provided by him.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Sat Dec 6 01:21:23 2003 UTC (21 years ago) by he
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +3 -4 lines
Make sure buf_inorder() returns a value under all conditions.

Revision 1.55: download - view: text, markup, annotated - select for diffs
Fri Dec 5 10:16:16 2003 UTC (21 years ago) by yamt
Branches: MAIN
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +6 -11 lines
buf_inorder: deal with 64-bit daddr_t correctly.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Thu Dec 4 19:38:23 2003 UTC (21 years ago) by atatat
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +20 -12 lines
Dynamic sysctl.

Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(),
vfs_sysctl(), etc, routines, along with sysctl_int() et al.  Now all
nodes are registered with the tree, and nodes can be added (or
removed) easily, and I/O to and from the tree is handled generically.

Since the nodes are registered with the tree, the mapping from name to
number (and back again) can now be discovered, instead of having to be
hard coded.  Adding new nodes to the tree is likewise much simpler --
the new infrastructure handles almost all the work for simple types,
and just about anything else can be done with a small helper function.

All existing nodes are where they were before (numerically speaking),
so all existing consumers of sysctl information should notice no
difference.

PS - I'm sorry, but there's a distinct lack of documentation at the
moment.  I'm working on sysctl(3/8/9) right now, and I promise to
watch out for buses.

Revision 1.53: download - view: text, markup, annotated - select for diffs
Thu Aug 7 16:31:52 2003 UTC (21 years, 4 months ago) by agc
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +3 -7 lines
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22364, verified by myself.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Sun Apr 13 09:08:04 2003 UTC (21 years, 7 months ago) by dsl
Branches: MAIN
Branch point for: ktrace-lwp
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +3 -3 lines
CONSTCONT should have been CONSTCOND

Revision 1.51: download - view: text, markup, annotated - select for diffs
Sun Apr 13 07:51:30 2003 UTC (21 years, 7 months ago) by dsl
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +17 -10 lines
Fix error message for 64bit daddr_t

Revision 1.50: download - view: text, markup, annotated - select for diffs
Thu Apr 3 22:20:24 2003 UTC (21 years, 8 months ago) by fvdl
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +38 -2 lines
Add a bounds_check_with_mediasize function, which is intended
for checking RAW_PART transfers (and later raw disk devices).

Revision 1.29.6.7: download - view: text, markup, annotated - select for diffs
Mon Nov 11 22:13:56 2002 UTC (22 years ago) by nathanw
Branches: nathanw_sa
CVS tags: nathanw_sa_end
Diff to: previous 1.29.6.6: preferred, colored; branchpoint 1.29: preferred, colored; next MAIN 1.30: preferred, colored
Changes since revision 1.29.6.6: +54 -29 lines
Catch up to -current

Revision 1.49: download - view: text, markup, annotated - select for diffs
Wed Nov 6 02:31:34 2002 UTC (22 years, 1 month ago) by enami
Branches: MAIN
CVS tags: nathanw_sa_before_merge, nathanw_sa_base, gmcgarry_ucred_base, gmcgarry_ucred, gmcgarry_ctxsw_base, gmcgarry_ctxsw, fvdl_fs64_base
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +8 -17 lines
Factor out the COMPAT_16 code.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Tue Nov 5 13:22:32 2002 UTC (22 years, 1 month ago) by mrg
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +19 -12 lines
- do the COMPAT_16 dance in sysctl_diskstats() for the where == NULL case
  as well.  pointed out by enami@.
- defflag COMPAT_16.

Revision 1.47: download - view: text, markup, annotated - select for diffs
Mon Nov 4 03:50:07 2002 UTC (22 years, 1 month ago) by mrg
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +16 -3 lines
repair backwards compatibility with netbsd 1.6 - if we are not given the
wanted sizeof(struct disk_sysctl), use the old size.  for non-COMPAT_16,
however, we return EINVAL so that all future programs are forced into
passing the wanted size.  1.6 iostat(8) works with -current kernel again.

as seen on tech-kern.

Revision 1.46: download - view: text, markup, annotated - select for diffs
Fri Nov 1 15:20:03 2002 UTC (22 years, 1 month ago) by simonb
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +7 -4 lines
When calculating the space needed for the data, use the supplied
userland structure size (if passed in).
Use the supplied userland structure size (if passed in) to check if
there is enough room to copyout the next structure.

Revision 1.45: download - view: text, markup, annotated - select for diffs
Fri Nov 1 11:32:01 2002 UTC (22 years, 1 month ago) by mrg
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +21 -11 lines
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.44: download - view: text, markup, annotated - select for diffs
Fri Nov 1 03:34:07 2002 UTC (22 years, 1 month ago) by enami
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +8 -7 lines
Make this works with QUEUEDEBUG defined; don't use queue pointer after
removing an element from queue.

Revision 1.43: download - view: text, markup, annotated - select for diffs
Fri Nov 1 03:32:21 2002 UTC (22 years, 1 month ago) by enami
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +11 -11 lines
Cosmetic changes.

Revision 1.29.6.6: download - view: text, markup, annotated - select for diffs
Tue Sep 17 21:22:16 2002 UTC (22 years, 2 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.29.6.5: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.6.5: +0 -213 lines
Catch up to -current.

Revision 1.30.2.4: download - view: text, markup, annotated - select for diffs
Fri Sep 6 08:48:03 2002 UTC (22 years, 3 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.30.2.3: preferred, colored; branchpoint 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30.2.3: +366 -211 lines
sync kqueue branch with HEAD

Revision 1.37.8.4: download - view: text, markup, annotated - select for diffs
Sat Aug 31 16:38:25 2002 UTC (22 years, 3 months ago) by gehenna
Branches: gehenna-devsw
Diff to: previous 1.37.8.3: preferred, colored; branchpoint 1.37: preferred, colored; next MAIN 1.38: preferred, colored
Changes since revision 1.37.8.3: +2 -215 lines
catch up with -current.

Revision 1.42: download - view: text, markup, annotated - select for diffs
Fri Aug 30 15:43:40 2002 UTC (22 years, 3 months ago) by hannken
Branches: MAIN
CVS tags: kqueue-beforemerge, kqueue-base, kqueue-aftermerge, gehenna-devsw-base
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +2 -215 lines
Remove the old device buffer queue interface.

Approved by: Jason R. Thorpe <thorpej@wasabisystems.com>

Revision 1.37.8.3: download - view: text, markup, annotated - select for diffs
Thu Aug 29 05:23:10 2002 UTC (22 years, 3 months ago) by gehenna
Branches: gehenna-devsw
Diff to: previous 1.37.8.2: preferred, colored; branchpoint 1.37: preferred, colored
Changes since revision 1.37.8.2: +61 -34 lines
catch up with -current.

Revision 1.29.6.5: download - view: text, markup, annotated - select for diffs
Thu Aug 1 02:46:23 2002 UTC (22 years, 4 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.29.6.4: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.6.4: +372 -4 lines
Catch up to -current.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Tue Jul 23 14:00:16 2002 UTC (22 years, 4 months ago) by hannken
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +35 -24 lines
The buffer returned by BUFQ_PEEK must remain the same until BUFQ_GET is
called. It may be used as the "current" buffer.

Revision 1.37.10.1: download - view: text, markup, annotated - select for diffs
Mon Jul 22 04:39:45 2002 UTC (22 years, 4 months ago) by lukem
Branches: netbsd-1-6
CVS tags: netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001
Diff to: previous 1.37: preferred, colored; next MAIN 1.38: preferred, colored
Changes since revision 1.37: +4 -4 lines
Pull up revision 1.38 (requested by yamt in ticket #536):
constify diskerr().

Revision 1.40: download - view: text, markup, annotated - select for diffs
Sun Jul 21 15:32:19 2002 UTC (22 years, 4 months ago) by hannken
Branches: MAIN
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +28 -12 lines
Rename bufq_init() to bufq_alloc().
Add bufq_free() to remove a buffer queue.
Avoid MALLOC while holding a spinlock.

From Chuck Silvers.

Revision 1.37.8.2: download - view: text, markup, annotated - select for diffs
Sat Jul 20 11:35:12 2002 UTC (22 years, 4 months ago) by gehenna
Branches: gehenna-devsw
Diff to: previous 1.37.8.1: preferred, colored; branchpoint 1.37: preferred, colored
Changes since revision 1.37.8.1: +343 -2 lines
catch up with -current.

Revision 1.39: download - view: text, markup, annotated - select for diffs
Tue Jul 16 18:03:19 2002 UTC (22 years, 4 months ago) by hannken
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +343 -2 lines
Implement a new device buffer queue interface.
One basic struct, a function to setup a queue with a specific strategy and
three macros to put buf's into the queue, get and remove the next buf or
get the next buf without removal.

The BUFQ_XXX interface will be removed in the future.
The B_ORDERED flag is not longer supported.

Approved by: Jason R. Thorpe <thorpej@wasabisystems.com>

Revision 1.37.8.1: download - view: text, markup, annotated - select for diffs
Mon Jul 15 10:36:38 2002 UTC (22 years, 4 months ago) by gehenna
Branches: gehenna-devsw
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +4 -4 lines
catch up with -current.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Fri Jun 28 16:37:21 2002 UTC (22 years, 5 months ago) by yamt
Branches: MAIN
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +4 -4 lines
constify diskerr().

Revision 1.30.2.3: download - view: text, markup, annotated - select for diffs
Sat Mar 16 16:01:49 2002 UTC (22 years, 8 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.30.2.2: preferred, colored; branchpoint 1.30: preferred, colored
Changes since revision 1.30.2.2: +7 -5 lines
Catch up with -current.

Revision 1.29.6.4: download - view: text, markup, annotated - select for diffs
Thu Feb 28 04:14:45 2002 UTC (22 years, 9 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.29.6.3: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.6.3: +115 -8 lines
Catch up to -current.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Sat Feb 16 02:11:43 2002 UTC (22 years, 9 months ago) by enami
Branches: MAIN
CVS tags: newlock-base, newlock, netbsd-1-6-base, ifpoll-base, eeh-devprop-base, eeh-devprop
Branch point for: netbsd-1-6, gehenna-devsw
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +3 -3 lines
Use sizeof correctly.  Fixes PR#15613.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Sat Feb 16 02:07:56 2002 UTC (22 years, 9 months ago) by enami
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +7 -5 lines
- Wrap long line.
- Remove unnecessary semi-colon.

Revision 1.30.2.2: download - view: text, markup, annotated - select for diffs
Mon Feb 11 20:10:24 2002 UTC (22 years, 9 months ago) by jdolecek
Branches: kqueue
Diff to: previous 1.30.2.1: preferred, colored; branchpoint 1.30: preferred, colored
Changes since revision 1.30.2.1: +112 -7 lines
Sync w/ -current.

Revision 1.35: download - view: text, markup, annotated - select for diffs
Mon Jan 28 03:33:55 2002 UTC (22 years, 10 months ago) by simonb
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +6 -3 lines
Remember to update the "size copied" counter in sysctl_diskstats().

Revision 1.34: download - view: text, markup, annotated - select for diffs
Mon Jan 28 03:12:13 2002 UTC (22 years, 10 months ago) by simonb
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +3 -4 lines
Use TAILQ_FOREACH().

Revision 1.33: download - view: text, markup, annotated - select for diffs
Sun Jan 27 12:41:08 2002 UTC (22 years, 10 months ago) by simonb
Branches: MAIN
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +110 -7 lines
Implement the hw.disknames and hw.diskstats sysctl's that have been listed
in <sys/sysctl.h> since day one but never implemented.

Revision 1.30.2.1: download - view: text, markup, annotated - select for diffs
Thu Jan 10 19:59:59 2002 UTC (22 years, 10 months ago) by thorpej
Branches: kqueue
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +6 -3 lines
Sync kqueue branch with -current.

Revision 1.29.6.3: download - view: text, markup, annotated - select for diffs
Tue Jan 8 00:32:37 2002 UTC (22 years, 11 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.29.6.2: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.6.2: +4 -4 lines
Catch up to -current.

Revision 1.32: download - view: text, markup, annotated - select for diffs
Fri Nov 30 01:31:30 2001 UTC (23 years ago) by enami
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +4 -4 lines
Use cached pointer to next buf instead of re-fetching it.  GCC actually
generates different code.

Revision 1.29.6.2: download - view: text, markup, annotated - select for diffs
Wed Nov 14 19:16:40 2001 UTC (23 years ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.29.6.1: preferred, colored; branchpoint 1.29: preferred, colored
Changes since revision 1.29.6.1: +4 -1 lines
Catch up to -current.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Tue Nov 13 13:33:44 2001 UTC (23 years ago) by lukem
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +4 -1 lines
add RCSID

Revision 1.30.4.1: download - view: text, markup, annotated - select for diffs
Fri Sep 7 04:45:37 2001 UTC (23 years, 3 months ago) by thorpej
Branches: thorpej-devvp
Diff to: previous 1.30: preferred, colored; next MAIN 1.31: preferred, colored
Changes since revision 1.30: +6 -2 lines
Commit my "devvp" changes to the thorpej-devvp branch.  This
replaces the use of dev_t in most places with a struct vnode *.

This will form the basic infrastructure for real cloning device
support (besides being architecurally cleaner -- it'll be good
to get away from using numbers to represent objects).

Revision 1.29.6.1: download - view: text, markup, annotated - select for diffs
Fri Aug 24 00:11:35 2001 UTC (23 years, 3 months ago) by nathanw
Branches: nathanw_sa
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +15 -32 lines
Catch up with -current.

Revision 1.30: download - view: text, markup, annotated - select for diffs
Mon Jul 9 10:54:12 2001 UTC (23 years, 5 months ago) by simonb
Branches: MAIN
CVS tags: thorpej-mips-cache-base, thorpej-mips-cache, thorpej-devvp-base3, thorpej-devvp-base2, thorpej-devvp-base, pre-chs-ubcperf, post-chs-ubcperf
Branch point for: thorpej-devvp, kqueue
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +15 -32 lines
ANSIfy.

Revision 1.25.8.1: download - view: text, markup, annotated - select for diffs
Mon Nov 20 18:09:07 2000 UTC (24 years ago) by bouyer
Branches: thorpej_scsipi
Diff to: previous 1.25: preferred, colored; next MAIN 1.26: preferred, colored
Changes since revision 1.25: +162 -43 lines
Update thorpej_scsipi to -current as of a month ago

Revision 1.29: download - view: text, markup, annotated - select for diffs
Thu Mar 30 09:27:12 2000 UTC (24 years, 8 months ago) by augustss
Branches: MAIN
CVS tags: thorpej_scsipi_nbase, thorpej_scsipi_beforemerge, thorpej_scsipi_base, netbsd-1-5-base, netbsd-1-5-RELEASE, netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2, netbsd-1-5, minoura-xpg4dl-base, minoura-xpg4dl
Branch point for: nathanw_sa
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +7 -7 lines
Get rid of register declarations.

Revision 1.28: download - view: text, markup, annotated - select for diffs
Mon Feb 7 20:16:58 2000 UTC (24 years, 10 months ago) by thorpej
Branches: MAIN
CVS tags: chs-ubc2-newbase
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +11 -10 lines
Fix a bug in disksort_*() which caused non-optimal ordering when multiple
active partitions were on a single spindle.  Add a b_rawblkno member to
struct buf which contains the non-partition-relative block number to sort
by.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Fri Jan 28 09:27:38 2000 UTC (24 years, 10 months ago) by hannken
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +3 -2 lines
The decision that `disksort_cylinder' uses to decide if the buffer needs
to go to the inversion list is incomplete. If the cylinders are equal
block numbers must be checked.

This caused lockups if some buffers with the same cylinder were cycling
through the list, as it may happen with softdep enabled.

Fixes PR #9197.

Revision 1.26: download - view: text, markup, annotated - select for diffs
Fri Jan 21 23:20:51 2000 UTC (24 years, 10 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +153 -36 lines
- Add a B_ORDERED flag to communicate to drivers that an I/O request should
  be issued/completed in order; that is, provide a barrier for I/O queues.
- Change the buffer driver queue links to a TAILQ, rather than using
  a home-grown equivalent.  Provide BUFQ_*() macros to manipulate buffer
  queues; these deal with the barrier provided by B_ORDERED.
- Update disksort() accordingly, and provide 3 versions:
	- disksort_cylinder(): historical disksort(), which keys on
	  b_cylinder (and b_blkno for the case when b_cylinder matches).
	- disksort_blkno(): sorts only on b_blkno.  Essentially the
	  same as disksort_cylinder(), but with fewer comparisons.
	- disksort_tail(): requests are simply inserted into the queue
	  at the tail.  This is provided as an option so that drivers
	  can simply have a pointer to the appropriate sort function.
  Note that disksort() now pays attention to B_ORDERED.

Revision 1.25.14.1: download - view: text, markup, annotated - select for diffs
Tue Dec 21 23:19:58 1999 UTC (24 years, 11 months ago) by wrstuden
Branches: wrstuden-devbsize
Diff to: previous 1.25: preferred, colored; next MAIN 1.26: preferred, colored
Changes since revision 1.25: +3 -3 lines
Initial commit of recent changes to make DEV_BSIZE go away.

Runs on i386, needs work on other arch's. Main kernel routines should be
fine, but a number of the stand programs need help.

cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512
byte block devices. vnd, raidframe, and lfs need work.

Non 2**n block support is automatic for LKM's and conditional for kernels
on "options NON_PO2_BLOCKS".

Revision 1.25: download - view: text, markup, annotated - select for diffs
Mon Feb 22 16:00:01 1999 UTC (25 years, 9 months ago) by drochner
Branches: MAIN
CVS tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221, netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001, netbsd-1-4, kame_14_19990705, kame_14_19990628, kame_141_19991130, kame, fvdl-softdep-base, fvdl-softdep, comdex-fall-1999-base, comdex-fall-1999, chs-ubc2-base, chs-ubc2
Branch point for: wrstuden-devbsize, thorpej_scsipi
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +2 -7 lines
PR kern/7033 (Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>): use
device minor to unit/partition macros from sys/disklabel.h

Revision 1.24: download - view: text, markup, annotated - select for diffs
Tue Aug 4 04:03:14 1998 UTC (26 years, 4 months ago) by perry
Branches: MAIN
CVS tags: kenh-if-detach-base, kenh-if-detach, chs-ubc-base, chs-ubc
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +3 -3 lines
Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one.
  bcopy(x, y, z) ->  memcpy(y, x, z)
ovbcopy(x, y, z) -> memmove(y, x, z)
   bcmp(x, y, z) ->  memcmp(x, y, z)
  bzero(x, y)    ->  memset(x, 0, y)

Revision 1.23: download - view: text, markup, annotated - select for diffs
Tue Dec 30 09:51:24 1997 UTC (26 years, 11 months ago) by thorpej
Branches: MAIN
CVS tags: eeh-paddr_t-base, eeh-paddr_t
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +12 -10 lines
Rearrange disk_detach() slightly, and make a small run-time cosmetic
change in disk_unbusy().

Revision 1.21.10.1: download - view: text, markup, annotated - select for diffs
Tue Oct 14 10:26:06 1997 UTC (27 years, 1 month ago) by thorpej
Branches: marc-pcmcia
Diff to: previous 1.21: preferred, colored; next MAIN 1.22: preferred, colored
Changes since revision 1.21: +38 -2 lines
Update marc-pcmcia branch from trunk.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Sun Oct 5 18:39:51 1997 UTC (27 years, 2 months ago) by thorpej
Branches: MAIN
CVS tags: netbsd-1-3-base, netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA, netbsd-1-3, marc-pcmcia-base
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +38 -2 lines
Copyright assigned to The NetBSD Foundation.

Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu Oct 17 16:31:56 1996 UTC (28 years, 1 month ago) by perry
Branches: MAIN
CVS tags: thorpej-signal-base, thorpej-signal, thorpej-setroot, mrg-vm-swap, marc-pcmcia-bp, is-newarp-before-merge, is-newarp-base, is-newarp, bouyer-scsipi
Branch point for: marc-pcmcia
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +1 -4 lines
removed #ifdef tahoe

Revision 1.20: download - view: text, markup, annotated - select for diffs
Sun Oct 13 02:32:37 1996 UTC (28 years, 1 month ago) by christos
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +4 -4 lines
backout previous kprintf change

Revision 1.19: download - view: text, markup, annotated - select for diffs
Thu Oct 10 22:46:24 1996 UTC (28 years, 1 month ago) by christos
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +4 -4 lines
printf -> kprintf, sprintf -> ksprintf

Revision 1.18: download - view: text, markup, annotated - select for diffs
Fri Jul 12 22:00:44 1996 UTC (28 years, 4 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +1 -16 lines
Remove old-style disk instrumentation code.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Sat Mar 16 23:17:08 1996 UTC (28 years, 8 months ago) by christos
Branches: MAIN
CVS tags: netbsd-1-2-base, netbsd-1-2-RELEASE, netbsd-1-2-PATCH001, netbsd-1-2-BETA, netbsd-1-2
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +3 -2 lines
Fix printf() formats.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Fri Feb 9 18:59:56 1996 UTC (28 years, 10 months ago) by christos
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +4 -4 lines
More proto fixes

Revision 1.15: download - view: text, markup, annotated - select for diffs
Sun Jan 7 22:03:49 1996 UTC (28 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +181 -3 lines
New generic disk framework.  Highlights:

	- New metrics handling.  Metrics are now kept in the new
	  `struct disk'.  Busy time is now stored as a timeval, and
	  transfer count in bytes.

	- Storage for disklabels is now dynamically allocated, so that
	  the size of the disk structure is not machine-dependent.

	- Several new functions for attaching and detaching disks, and
	  handling metrics calculation.

Old-style instrumentation is still supported in drivers that did it before.
However, old-style instrumentation is being deprecated, and will go away
once the userland utilities are updated for the new framework.

For usage and architectural details, see the forthcoming disk(9) manual
page.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Thu Dec 28 19:16:39 1995 UTC (28 years, 11 months ago) by thorpej
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +15 -1 lines
Move the old-style disk instrumentation "structures" to a central location
(sys/kern/subr_disk.c) and note that they should/will be deperecated.

Revision 1.13: download - view: text, markup, annotated - select for diffs
Wed Mar 29 20:57:35 1995 UTC (29 years, 8 months ago) by mycroft
Branches: MAIN
CVS tags: netbsd-1-1-base, netbsd-1-1-RELEASE, netbsd-1-1-PATCH001, netbsd-1-1
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +1 -8 lines
Make definition of b_cylinder global.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Wed Jun 29 06:32:56 1994 UTC (30 years, 5 months ago) by cgd
Branches: MAIN
CVS tags: netbsd-1-0-base, netbsd-1-0-RELEASE, netbsd-1-0-PATCH1, netbsd-1-0-PATCH06, netbsd-1-0-PATCH05, netbsd-1-0-PATCH04, netbsd-1-0-PATCH03, netbsd-1-0-PATCH02, netbsd-1-0-PATCH0, netbsd-1-0
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +3 -2 lines
New RCS ID's, take two.  they're more aesthecially pleasant, and use 'NetBSD'

Revision 1.11: download - view: text, markup, annotated - select for diffs
Thu May 19 03:43:13 1994 UTC (30 years, 6 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +225 -1 lines
Update to 4.4-Lite.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Thu Feb 10 15:43:20 1994 UTC (30 years, 9 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +1 -1 lines
Don't need back pointers for disksort().

Revision 1.9: download - view: text, markup, annotated - select for diffs
Sun Feb 6 17:39:48 1994 UTC (30 years, 10 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +1 -1 lines
Remove another use of b_actl.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Sun Feb 6 10:00:30 1994 UTC (30 years, 10 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +1 -1 lines
Use b_actf, not av_forw.

Revision 1.7: download - view: text, markup, annotated - select for diffs
Sun Jan 23 19:11:25 1994 UTC (30 years, 10 months ago) by glass
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +1 -1 lines
remove warning

Revision 1.6: download - view: text, markup, annotated - select for diffs
Tue Jan 11 16:38:09 1994 UTC (30 years, 10 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +1 -1 lines
Get rid of disklabel indirection functions.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Fri Dec 17 08:12:07 1993 UTC (30 years, 11 months ago) by mycroft
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +1 -1 lines
Canonicalize all #includes.

Revision 1.4.2.3: download - view: text, markup, annotated - select for diffs
Sun Nov 14 22:02:34 1993 UTC (31 years ago) by mycroft
Branches: magnum
Diff to: previous 1.4.2.2: preferred, colored; branchpoint 1.4: preferred, colored; next MAIN 1.5: preferred, colored
Changes since revision 1.4.2.2: +1 -1 lines
Canonicalize all #includes.

Revision 1.4.2.2: download - view: text, markup, annotated - select for diffs
Thu Sep 30 04:47:30 1993 UTC (31 years, 2 months ago) by deraadt
Branches: magnum
Diff to: previous 1.4.2.1: preferred, colored; branchpoint 1.4: preferred, colored
Changes since revision 1.4.2.1: +1 -1 lines
delete hopping-functions cpu_{read,write,set}disklabel()

Revision 1.4.2.1: download - view: text, markup, annotated - select for diffs
Wed Sep 29 06:36:47 1993 UTC (31 years, 2 months ago) by mycroft
Branches: magnum
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +1 -1 lines
Strategy functions return void.

Revision 1.4: download - view: text, markup, annotated - select for diffs
Sun Sep 5 22:07:31 1993 UTC (31 years, 3 months ago) by mycroft
Branches: MAIN
CVS tags: magnum-base
Branch point for: magnum
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +1 -1 lines
Add \n to end of error message.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Thu May 20 23:16:51 1993 UTC (31 years, 6 months ago) by deraadt
Branches: MAIN
CVS tags: netbsd-0-9-patch-001, netbsd-0-9-base, netbsd-0-9-RELEASE, netbsd-0-9-BETA, netbsd-0-9-ALPHA2, netbsd-0-9-ALPHA, netbsd-0-9
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +1 -1 lines
more disklabel changes

Revision 1.2: download - view: text, markup, annotated - select for diffs
Thu May 20 03:53:35 1993 UTC (31 years, 6 months ago) by cgd
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1 -1 lines
add rcs ids, and clean up headers where necessary

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Sun Mar 21 09:45:37 1993 UTC (31 years, 8 months ago) by cgd
Branches: WFJ-920714
CVS tags: patchkit-0-2-2, netbsd-alpha-1, netbsd-0-8, WFJ-386bsd-01
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +1 -1 lines
initial import of 386bsd-0.1 sources

Revision 1.1: download - view: text, markup, annotated - select for diffs
Sun Mar 21 09:45:37 1993 UTC (31 years, 8 months ago) by cgd
Branches: MAIN
Initial revision

Diff request

This form allows you to request diffs 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.

Log view options

CVSweb <webmaster@jp.NetBSD.org>