Skip site navigation (1)Skip section navigation (2)

CVS log for src/sys/miscfs/specfs/Attic/spec_vnops.c

[BACK] Up to [FreeBSD] / src / sys / miscfs / specfs

Request diff between arbitrary revisions


Keyword substitution: kv
Default branch: MAIN


Revision 1.159
Wed May 23 09:42:20 2001 UTC (10 years, 8 months ago) by ru
Branches: MAIN
CVS tags: HEAD
FILE REMOVED
Changes since revision 1.158: +1 -1 lines
- FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file
  systems were repo-copied from sys/miscfs to sys/fs.

- Renamed the following file systems and their modules:
  fdesc -> fdescfs, portal -> portalfs, union -> unionfs.

- Renamed corresponding kernel options:
  FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS.

- Install header files for the above file systems.

- Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland
  Makefiles.

Revision 1.158: download - view: text, markup, annotated - select for diffs
Sat May 19 01:28:06 2001 UTC (10 years, 8 months ago) by alfred
Branches: MAIN
Diff to: previous 1.157: preferred, colored
Changes since revision 1.157: +5 -1 lines
Introduce a global lock for the vm subsystem (vm_mtx).

vm_mtx does not recurse and is required for most low level
vm operations.

faults can not be taken without holding Giant.

Memory subsystems can now call the base page allocators safely.

Almost all atomic ops were removed as they are covered under the
vm mutex.

Alpha and ia64 now need to catch up to i386's trap handlers.

FFS and NFS have been tested, other filesystems will need minor
changes (grabbing the vm lock when twiddling page properties).

Reviewed (partially) by: jake, jhb

Revision 1.157: download - view: text, markup, annotated - select for diffs
Mon Apr 30 14:35:35 2001 UTC (10 years, 9 months ago) by bde
Branches: MAIN
Diff to: previous 1.156: preferred, colored
Changes since revision 1.156: +2 -1 lines
Backed out previous commit.  It cause massive filesystem corruption,
not to mention a compile-time warning about the critical function
becoming unused, by replacing spec_bmap() with vop_stdbmap().

ntfs seems to have the same bug.

The factor for converting specfs block numbers to physical block
numbers is 1, but vop_stdbmap() uses the bogus factor
btodb(ap->a_vp->v_mount->mnt_stat.f_iosize), which is 16 for ffs with
the default block size of 8K.  This factor is bogus even for vop_stdbmap()
-- the correct factor is related to the filesystem blocksize which is not
necessarily the same to the optimal i/o size.  vop_stdbmap() was apparently
cloned from nfs where these sizes happen to be the same.

There may also be a problem with a_vp->v_mount being null.  spec_bmap()
still checks for this, but I think the checks in specfs are dead code
which used to support block devices.

Revision 1.156: download - view: text, markup, annotated - select for diffs
Sun Apr 29 11:48:37 2001 UTC (10 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.155: preferred, colored
Changes since revision 1.155: +1 -2 lines
Add a vop_stdbmap(), and make it part of the default vop vector.

Make 7 filesystems which don't really know about VOP_BMAP rely
on the default vector, rather than more or less complete local
vop_nopbmap() implementations.

Revision 1.155: download - view: text, markup, annotated - select for diffs
Sun Apr 29 02:44:59 2001 UTC (10 years, 9 months ago) by grog
Branches: MAIN
Diff to: previous 1.154: preferred, colored
Changes since revision 1.154: +1 -3 lines
Revert consequences of changes to mount.h, part 2.

Requested by:	bde

Revision 1.154: download - view: text, markup, annotated - select for diffs
Mon Apr 23 08:52:42 2001 UTC (10 years, 9 months ago) by grog
Branches: MAIN
Diff to: previous 1.153: preferred, colored
Changes since revision 1.153: +3 -1 lines
Correct #includes to work with fixed sys/mount.h.

Revision 1.153: download - view: text, markup, annotated - select for diffs
Wed Mar 7 07:09:54 2001 UTC (10 years, 11 months ago) by mckusick
Branches: MAIN
Diff to: previous 1.152: preferred, colored
Changes since revision 1.152: +3 -3 lines
Fixes to track snapshot copy-on-write checking in the specinfo
structure rather than assuming that the device vnode would reside
in the FFS filesystem (which is obviously a broken assumption with
the device filesystem).

Revision 1.131.2.4: download - view: text, markup, annotated - select for diffs
Mon Feb 26 04:23:20 2001 UTC (10 years, 11 months ago) by jlemon
Branches: RELENG_4
CVS tags: RELENG_4_9_BP, RELENG_4_9_0_RELEASE, RELENG_4_9, RELENG_4_8_BP, RELENG_4_8_0_RELEASE, RELENG_4_8, RELENG_4_7_BP, RELENG_4_7_0_RELEASE, RELENG_4_7, RELENG_4_6_BP, RELENG_4_6_2_RELEASE, RELENG_4_6_1_RELEASE, RELENG_4_6_0_RELEASE, RELENG_4_6, RELENG_4_5_BP, RELENG_4_5_0_RELEASE, RELENG_4_5, RELENG_4_4_BP, RELENG_4_4_0_RELEASE, RELENG_4_4, RELENG_4_3_BP, RELENG_4_3_0_RELEASE, RELENG_4_3, RELENG_4_11_BP, RELENG_4_11_0_RELEASE, RELENG_4_11, RELENG_4_10_BP, RELENG_4_10_0_RELEASE, RELENG_4_10
Diff to: previous 1.131.2.3: preferred, colored; branchpoint 1.131: preferred, colored; next MAIN 1.132: preferred, colored
Changes since revision 1.131.2.3: +20 -1 lines
MFC: sync kq up to current (extend to device layer, plus other fixes)

Revision 1.152: download - view: text, markup, annotated - select for diffs
Thu Feb 15 16:34:09 2001 UTC (10 years, 11 months ago) by jlemon
Branches: MAIN
Diff to: previous 1.151: preferred, colored
Changes since revision 1.151: +20 -1 lines
Extend kqueue down to the device layer.

Backwards compatible approach suggested by: peter

Revision 1.151: download - view: text, markup, annotated - select for diffs
Sun Feb 4 16:08:11 2001 UTC (11 years ago) by phk
Branches: MAIN
Diff to: previous 1.150: preferred, colored
Changes since revision 1.150: +2 -3 lines
Another round of the <sys/queue.h> FOREACH transmogriffer.

Created with:   sed(1)
Reviewed by:    md5(1)

Revision 1.131.2.3: download - view: text, markup, annotated - select for diffs
Fri Feb 2 21:20:24 2001 UTC (11 years ago) by dillon
Branches: RELENG_4
Diff to: previous 1.131.2.2: preferred, colored; branchpoint 1.131: preferred, colored
Changes since revision 1.131.2.2: +30 -8 lines
MFC 1.148, 1.149 - use mark/scan to avoid cpu loop waiting for interrupt when
a buffer is skipped due to being busy.  Continue to ensure that a MNT_WAIT
fsync drains all buffers to avoid panic in umount/vinvalbuf

Revision 1.150: download - view: text, markup, annotated - select for diffs
Tue Jan 30 10:06:08 2001 UTC (11 years ago) by phk
Branches: MAIN
Diff to: previous 1.149: preferred, colored
Changes since revision 1.149: +2 -1 lines
Add a BUF_KERNPROC() in the BIO_DELETE path.

This seems to fix the problem which md(4) backed filesystems exposed.

Revision 1.149: download - view: text, markup, annotated - select for diffs
Mon Jan 29 08:19:28 2001 UTC (11 years ago) by dillon
Branches: MAIN
Diff to: previous 1.148: preferred, colored
Changes since revision 1.148: +17 -8 lines
This patch reestablishes the spec_fsync() guarentee that synchronous
fsyncs, which typically occur during unmounting, will drain all dirty
buffers even if it takes multiple passes to do so.  The guarentee was
mangled by the last patch which solved a problem due to -current disabling
interrupts while holding giant (which caused an infinite spin loop waiting for
I/O to complete).  -stable does not have either patch, but has a similar
bug in the original spec_fsync() code which is triggered by a bug in the
softupdates umount code, a fix for which will be committed to -current
as soon as Kirk stamps it.  Then both solutions will be MFC'd to -stable.

-stable currently suffers from a combination of the softupdates bug and
a small window of opportunity in the original spec_fsync() code, and -stable
also suffers from the spin-loop bug but since interrupts are enabled the
spin resolves itself in a few milliseconds.

Revision 1.148: download - view: text, markup, annotated - select for diffs
Sat Dec 30 23:32:24 2000 UTC (11 years, 1 month ago) by dillon
Branches: MAIN
Diff to: previous 1.147: preferred, colored
Changes since revision 1.147: +14 -1 lines
Fix a lockup problem that occurs with 'cvs update'.  specfs's fsync can
get into the same sort of infinite loop that ffs's fsync used to get
into, probably due to background bitmap writes.  The solution is
the same.

Revision 1.131.2.2: download - view: text, markup, annotated - select for diffs
Sat Dec 30 01:51:09 2000 UTC (11 years, 1 month ago) by dillon
Branches: RELENG_4
Diff to: previous 1.131.2.1: preferred, colored; branchpoint 1.131: preferred, colored
Changes since revision 1.131.2.1: +3 -1 lines
MFC vfs_bio.c 1.269 and friends.  This MFC's the better launder limiting
solution.  See commitlogs/sys '2000/12/26 11:41:38 PST'

Revision 1.147: download - view: text, markup, annotated - select for diffs
Tue Dec 26 19:41:37 2000 UTC (11 years, 1 month ago) by dillon
Branches: MAIN
Diff to: previous 1.146: preferred, colored
Changes since revision 1.146: +3 -1 lines
This implements a better launder limiting solution.  There was a solution
in 4.2-REL which I ripped out in -stable and -current when implementing the
low-memory handling solution.  However, maxlaunder turns out to be the saving
grace in certain very heavily loaded systems (e.g. newsreader box).  The new
algorithm limits the number of pages laundered in the first pageout daemon
pass.  If that is not sufficient then suceessive will be run without any
limit.

Write I/O is now pipelined using two sysctls, vfs.lorunningspace and
vfs.hirunningspace.  This prevents excessive buffered writes in the
disk queues which cause long (multi-second) delays for reads.  It leads
to more stable (less jerky) and generally faster I/O streaming to disk
by allowing required read ops (e.g. for indirect blocks and such) to occur
without interrupting the write stream, amoung other things.

NOTE: eventually, filesystem write I/O pipelining needs to be done on a
per-device basis.  At the moment it is globalized.

Revision 1.146: download - view: text, markup, annotated - select for diffs
Thu Nov 2 21:14:13 2000 UTC (11 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.145: preferred, colored
Changes since revision 1.145: +3 -10 lines
Take VBLK devices further out of their missery.

This should fix the panic I introduced in my previous commit on this topic.

Revision 1.145: download - view: text, markup, annotated - select for diffs
Mon Oct 9 17:31:37 2000 UTC (11 years, 4 months ago) by eivind
Branches: MAIN
Diff to: previous 1.144: preferred, colored
Changes since revision 1.144: +6 -6 lines
Blow away the v_specmountpoint define, replacing it with what it was
defined as (rdev->si_mountpoint)

Revision 1.144: download - view: text, markup, annotated - select for diffs
Thu Aug 24 15:36:53 2000 UTC (11 years, 5 months ago) by phk
Branches: MAIN
CVS tags: PRE_SMPNG
Diff to: previous 1.143: preferred, colored
Changes since revision 1.143: +12 -4 lines
 Fix panic when removing open device (found by bp@)
 Implement subdirs.
 Build the full "devicename" for cloning functions.
 Fix panic when deleted device goes away.
 Collaps devfs_dir and devfs_dirent structures.
 Add proper cloning to the /dev/fd* "device-"driver.
 Fix a bug in make_dev_alias() handling which made aliases appear
  multiple times.
 Use devfs_clone to implement getdiskbyname()
 Make specfs maintain the stat(2) timestamps per dev_t

Revision 1.143: download - view: text, markup, annotated - select for diffs
Fri Aug 18 10:01:01 2000 UTC (11 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.142: preferred, colored
Changes since revision 1.142: +2 -16 lines
Introduce vop_stdinactive() and make it the default if no vop_inactive
is declared.

Sort and prune a few vop_op[].

Revision 1.142: download - view: text, markup, annotated - select for diffs
Mon Jul 24 05:28:29 2000 UTC (11 years, 6 months ago) by mckusick
Branches: MAIN
Diff to: previous 1.141: preferred, colored
Changes since revision 1.141: +5 -3 lines
This patch corrects the first round of panics and hangs reported
with the new snapshot code.

Update addaliasu to correctly implement the semantics of the old
checkalias function. When a device vnode first comes into existence,
check to see if an anonymous vnode for the same device was created
at boot time by bdevvp(). If so, adopt the bdevvp vnode rather than
creating a new vnode for the device. This corrects a problem which
caused the kernel to panic when taking a snapshot of the root
filesystem.

Change the calling convention of vn_write_suspend_wait() to be the
same as vn_start_write().

Split out softdep_flushworklist() from softdep_flushfiles() so that
it can be used to clear the work queue when suspending filesystem
operations.

Access to buffers becomes recursive so that snapshots can recursively
traverse their indirect blocks using ffs_copyonwrite() when checking
for the need for copy on write when flushing one of their own indirect
blocks. This eliminates a deadlock between the syncer daemon and a
process taking a snapshot.

Ensure that softdep_process_worklist() can never block because of a
snapshot being taken. This eliminates a problem with buffer starvation.

Cleanup change in ffs_sync() which did not synchronously wait when
MNT_WAIT was specified. The result was an unclean filesystem panic
when doing forcible unmount with heavy filesystem I/O in progress.

Return a zero'ed block when reading a block that was not in use at
the time that a snapshot was taken. Normally, these blocks should
never be read. However, the readahead code will occationally read
them which can cause unexpected behavior.

Clean up the debugging code that ensures that no blocks be written
on a filesystem while it is suspended. Snapshots must explicitly
label the blocks that they are writing during the suspension so that
they do not cause a `write on suspended filesystem' panic.

Reorganize ffs_copyonwrite() to eliminate a deadlock and also to
prevent a race condition that would permit the same block to be
copied twice. This change eliminates an unexpected soft updates
inconsistency in fsck caused by the double allocation.

Use bqrelse rather than brelse for buffers that will be needed
soon again by the snapshot code. This improves snapshot performance.

Revision 1.141: download - view: text, markup, annotated - select for diffs
Tue Jul 11 22:07:46 2000 UTC (11 years, 7 months ago) by mckusick
Branches: MAIN
Diff to: previous 1.140: preferred, colored
Changes since revision 1.140: +19 -5 lines
Add snapshots to the fast filesystem. Most of the changes support
the gating of system calls that cause modifications to the underlying
filesystem. The gating can be enabled by any filesystem that needs
to consistently suspend operations by adding the vop_stdgetwritemount
to their set of vnops. Once gating is enabled, the function
vfs_write_suspend stops all new write operations to a filesystem,
allows any filesystem modifying system calls already in progress
to complete, then sync's the filesystem to disk and returns. The
function vfs_write_resume allows the suspended write operations to
begin again. Gating is not added by default for all filesystems as
for SMP systems it adds two extra locks to such critical kernel
paths as the write system call. Thus, gating should only be added
as needed.

Details on the use and current status of snapshots in FFS can be
found in /sys/ufs/ffs/README.snapshot so for brevity and timelyness
is not included here. Unless and until you create a snapshot file,
these changes should have no effect on your system (famous last words).

Revision 1.140: download - view: text, markup, annotated - select for diffs
Mon Jul 3 13:48:37 2000 UTC (11 years, 7 months ago) by phk
Branches: MAIN
Diff to: previous 1.139: preferred, colored
Changes since revision 1.139: +4 -4 lines
Pull the rug under block mode devices. they return ENXIO on open(2) now.

Revision 1.139: download - view: text, markup, annotated - select for diffs
Fri Jun 16 08:48:48 2000 UTC (11 years, 7 months ago) by phk
Branches: MAIN
Diff to: previous 1.138: preferred, colored
Changes since revision 1.138: +3 -4 lines
Virtualizes & untangles the bioops operations vector.

Ref: Message-ID: <18317.961014572@critter.freebsd.dk> To: current@

Revision 1.138: download - view: text, markup, annotated - select for diffs
Mon Jun 12 10:20:18 2000 UTC (11 years, 8 months ago) by jmb
Branches: MAIN
Diff to: previous 1.137: preferred, colored
Changes since revision 1.137: +2 -2 lines
	before this commit, specfs reported disk partitions
	using decimal major and minor numbers.  "ls -l" reports
	disk partitions using decimal major numbers and hex
	minor numbers.

	make specfs use decimal major numbers and hex minor numbers,
	just like "ls -l"

Revision 1.137: download - view: text, markup, annotated - select for diffs
Tue May 9 18:53:53 2000 UTC (11 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.136: preferred, colored
Changes since revision 1.136: +10 -1 lines
Change the "bdev-whiner" to whine when open is attempted and extend
the deadline a month.

Revision 1.136: download - view: text, markup, annotated - select for diffs
Fri May 5 09:58:31 2000 UTC (11 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.135: preferred, colored
Changes since revision 1.135: +2 -1 lines
Separate the struct bio related stuff out of <sys/buf.h> into
<sys/bio.h>.

<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall
not be made a nested include according to bdes teachings on the
subject of nested includes.

Diskdrivers and similar stuff below specfs::strategy() should no
longer need to include <sys/buf.> unless they need caching of data.

Still a few bogus uses of struct buf to track down.

Repocopy by:    peter

Revision 1.135: download - view: text, markup, annotated - select for diffs
Sun Apr 2 15:24:24 2000 UTC (11 years, 10 months ago) by phk
Branches: MAIN
Diff to: previous 1.134: preferred, colored
Changes since revision 1.134: +2 -2 lines
Move B_ERROR flag to b_ioflags and call it BIO_ERROR.

(Much of this done by script)

Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED.

Move b_pblkno and b_iodone_chain to struct bio while we transition, they
will be obsoleted once bio structs chain/stack.

Add bio_queue field for struct bio aware disksort.

Address a lot of stylistic issues brought up by bde.

Revision 1.134: download - view: text, markup, annotated - select for diffs
Mon Mar 20 11:28:50 2000 UTC (11 years, 10 months ago) by phk
Branches: MAIN
Diff to: previous 1.133: preferred, colored
Changes since revision 1.133: +4 -4 lines
Rename the existing BUF_STRATEGY() to DEV_STRATEGY()

substitute BUF_WRITE(foo) for VOP_BWRITE(foo->b_vp, foo)

substitute BUF_STRATEGY(foo) for VOP_STRATEGY(foo->b_vp, foo)

This patch is machine generated except for the ccd.c and buf.h parts.

Revision 1.133: download - view: text, markup, annotated - select for diffs
Mon Mar 20 10:44:32 2000 UTC (11 years, 10 months ago) by phk
Branches: MAIN
Diff to: previous 1.132: preferred, colored
Changes since revision 1.132: +5 -5 lines
Remove B_READ, B_WRITE and B_FREEBUF and replace them with a new
field in struct buf: b_iocmd.  The b_iocmd is enforced to have
exactly one bit set.

B_WRITE was bogusly defined as zero giving rise to obvious coding
mistakes.

Also eliminate the redundant struct buf flag B_CALL, it can just
as efficiently be done by comparing b_iodone to NULL.

Should you get a panic or drop into the debugger, complaining about
"b_iocmd", don't continue.  It is likely to write on your disk
where it should have been reading.

This change is a step in the direction towards a stackable BIO capability.

A lot of this patch were machine generated (Thanks to style(9) compliance!)

Vinum users:  Greg has not had time to test this yet, be careful.

Revision 1.131.2.1: download - view: text, markup, annotated - select for diffs
Fri Mar 17 10:47:33 2000 UTC (11 years, 10 months ago) by ps
Branches: RELENG_4
CVS tags: RELENG_4_2_0_RELEASE, RELENG_4_1_1_RELEASE, RELENG_4_1_0_RELEASE
Diff to: previous 1.131: preferred, colored
Changes since revision 1.131: +1 -3 lines
MFC: Remove MAX_PERF with extreme prejudice.

Revision 1.132: download - view: text, markup, annotated - select for diffs
Thu Mar 16 08:51:54 2000 UTC (11 years, 10 months ago) by phk
Branches: MAIN
Diff to: previous 1.131: preferred, colored
Changes since revision 1.131: +1 -3 lines
Eliminate the undocumented, experimental, non-delivering and highly
dangerous MAX_PERF option.

Revision 1.131: download - view: text, markup, annotated - select for diffs
Mon Jan 10 12:04:19 2000 UTC (12 years, 1 month ago) by phk
Branches: MAIN
CVS tags: RELENG_4_BP, RELENG_4_0_0_RELEASE
Branch point for: RELENG_4
Diff to: previous 1.130: preferred, colored
Changes since revision 1.130: +7 -6 lines
Give vn_isdisk() a second argument where it can return a suitable errno.

Suggested by:	bde

Revision 1.130: download - view: text, markup, annotated - select for diffs
Wed Dec 8 08:59:39 1999 UTC (12 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.129: preferred, colored
Changes since revision 1.129: +1 -5 lines
Remove unused #includes.

Obtained from:	http://bogon.freebsd.dk/include

Revision 1.129: download - view: text, markup, annotated - select for diffs
Wed Dec 1 02:09:30 1999 UTC (12 years, 2 months ago) by mckusick
Branches: MAIN
Diff to: previous 1.128: preferred, colored
Changes since revision 1.128: +22 -1 lines
Collect read and write counts for filesystems. This new code
drops the counting in bwrite and puts it all in spec_strategy.
I did some tests and verified that the counts collected for writes
in spec_strategy is identical to the counts that we previously
collected in bwrite. We now also get read counts (async reads
come from requests for read-ahead blocks). Note that you need
to compile a new version of mount to get the read counts printed
out. The old mount binary is completely compatible, the only
reason to install a new mount is to get the read counts printed.

Submitted by:	Craig A Soules <soules+@andrew.cmu.edu>
Reviewed by:	Kirk McKusick <mckusick@mckusick.com>

Revision 1.128: download - view: text, markup, annotated - select for diffs
Tue Nov 9 14:15:23 1999 UTC (12 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.127: preferred, colored
Changes since revision 1.127: +79 -322 lines
Next step in the device cleanup process.

Correctly lock vnodes when calling VOP_OPEN() from filesystem mount code.

Unify spec_open() for bdev and cdev cases.

Remove the disabled bdev specific read/write code.

Revision 1.127: download - view: text, markup, annotated - select for diffs
Mon Nov 8 13:08:02 1999 UTC (12 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.126: preferred, colored
Changes since revision 1.126: +1 -4 lines
Oops, a bit too hasty there.

Revision 1.126: download - view: text, markup, annotated - select for diffs
Mon Nov 8 09:59:34 1999 UTC (12 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.125: preferred, colored
Changes since revision 1.125: +15 -28 lines
Various cleanups.

Revision 1.125: download - view: text, markup, annotated - select for diffs
Sun Nov 7 15:09:59 1999 UTC (12 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.124: preferred, colored
Changes since revision 1.124: +12 -24 lines
Use vop_panic() instead of spec_badop().

Revision 1.124: download - view: text, markup, annotated - select for diffs
Sun Nov 7 12:01:32 1999 UTC (12 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.123: preferred, colored
Changes since revision 1.123: +2 -4 lines
Remove the iskmemdev() function.  Make it the responsibility of the mem.c
drivers to enforce the securelevel checks.

Revision 1.123: download - view: text, markup, annotated - select for diffs
Mon Nov 1 02:53:38 1999 UTC (12 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.122: preferred, colored
Changes since revision 1.122: +1 -19 lines
Remove specfs::vop_lookup() There is no code path which can call it.

Revision 1.122: download - view: text, markup, annotated - select for diffs
Fri Oct 29 18:09:04 1999 UTC (12 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.121: preferred, colored
Changes since revision 1.121: +1 -2 lines
useracc() the prequel:

Merge the contents (less some trivial bordering the silly comments)
of <vm/vm_prot.h> and <vm/vm_inherit.h> into <vm/vm.h>.  This puts
the #defines for the vm_inherit_t and vm_prot_t types next to their
typedefs.

This paves the road for the commit to follow shortly: change
useracc() to use VM_PROT_{READ|WRITE} rather than B_{READ|WRITE}
as argument.

Revision 1.121: download - view: text, markup, annotated - select for diffs
Wed Oct 20 06:31:49 1999 UTC (12 years, 3 months ago) by dillon
Branches: MAIN
Diff to: previous 1.120: preferred, colored
Changes since revision 1.120: +1 -8 lines
    A tentative agreement has been reached in regards to a procedure
    to remove 'b'lock devices.  The agreement is, essentially, that
    block devices will be collapsed into character devices as a first
    step (though I don't particularly agree), and raw device names 'rxxx'
    will become simply 'xxx' in devfs in the second step (i.e. no 'rxxx'
    names will exist).  The renaming will not effect the original /dev
    and the expectation is that devfs will eventually (but not immediately)
    become the standard way to access devices in the system.

    If it is determined that a reimplementation of block device access
    characteristics is beneficial, a number of alternatives will
    be possible that do not involve resurrecting the 'b'lock device class.
    For example, an ioctl() that might be made on an open character device
    descriptor or a generic buffered overlay device.

    This commit removes the blockdev disablement sysctl which does not
    apply to the solution that was reached.

Revision 1.120: download - view: text, markup, annotated - select for diffs
Mon Oct 18 16:59:50 1999 UTC (12 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.119: preferred, colored
Changes since revision 1.119: +2 -2 lines
Change the default for the vfs.bdev_buffered sysctl to zero.

This means that access to block devices nodes will act the
same as char device nodes for disk-like devices.

If you encounter problems after this, where programs accessing
disks directly fail to operate, please use the following command
to revert to previous behaviour:

        sysctl -w vfs.bdev_buffered=1

And verify that this was indeed the cause of your trouble.

See the mail-archives of the arch@FreeBSD.org list for background.

Revision 1.119: download - view: text, markup, annotated - select for diffs
Fri Oct 8 19:07:23 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.118: preferred, colored
Changes since revision 1.118: +7 -1 lines
Add a couple of strategic KASSERTs

Revision 1.118: download - view: text, markup, annotated - select for diffs
Fri Oct 8 18:25:19 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.117: preferred, colored
Changes since revision 1.117: +8 -1 lines
Add back sysctl vfs.enable_userblk_io

Revision 1.117: download - view: text, markup, annotated - select for diffs
Mon Oct 4 12:33:05 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.116: preferred, colored
Changes since revision 1.116: +10 -1 lines
Warn once per driver about dev_t's not registered with make_dev().

Revision 1.116: download - view: text, markup, annotated - select for diffs
Mon Oct 4 11:23:09 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.115: preferred, colored
Changes since revision 1.115: +211 -182 lines
Move the buffered read/write code out of spec_{read|write} and into
two new functions spec_buf{read|write}.

Add sysctl vfs.bdev_buffered which defaults to 1 == true.  This
sysctl can be used to experimentally turn buffered behaviour for
bdevs off.  I should not be changed while any blockdevices are
open.  Remove the misplaced sysctl vfs.enable_userblk_io.

No other changes in behaviour.

Revision 1.115: download - view: text, markup, annotated - select for diffs
Wed Sep 29 20:04:44 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.114: preferred, colored
Changes since revision 1.114: +1 -8 lines
Remove v_maxio from struct vnode.

Replace it with mnt_iosize_max in struct mount.

Nits from:	bde

Revision 1.114: download - view: text, markup, annotated - select for diffs
Sat Sep 25 18:52:03 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.113: preferred, colored
Changes since revision 1.113: +2 -4 lines
Remove a warning check which was too general.

Revision 1.113: download - view: text, markup, annotated - select for diffs
Sat Sep 25 18:24:26 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.112: preferred, colored
Changes since revision 1.112: +3 -3 lines
Remove five now unused fields from struct cdevsw.  They should never
have been there in the first place.  A GENERIC kernel shrinks almost 1k.

Add a slightly different safetybelt under nostop for tty drivers.

Add some missing FreeBSD tags

Revision 1.112: download - view: text, markup, annotated - select for diffs
Sat Sep 25 16:21:31 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.111: preferred, colored
Changes since revision 1.111: +23 -8 lines
This patch clears the way for removing a number of tty related
fields in struct cdevsw:

        d_stop          moved to struct tty.
        d_reset         already unused.
        d_devtotty      linkage now provided by dev_t->si_tty.

These fields will be removed from struct cdevsw together with
d_params and d_maxio Real Soon Now.

The changes in this patch consist of:

        initialize dev->si_tty in *_open()
        initialize tty->t_stop
        remove devtotty functions
        rename ttpoll to ttypoll
        a few adjustments to these changes in the generic code
        a bump of __FreeBSD_version
        add a couple of FreeBSD tags

Revision 1.111: download - view: text, markup, annotated - select for diffs
Wed Sep 22 19:56:09 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.110: preferred, colored
Changes since revision 1.110: +11 -9 lines
Kill the cdevsw->d_maxio field.

d_maxio is replaced by the dev->si_iosize_max field which the driver
should be set in all calls to cdevsw->d_open if it has a better
idea than the system wide default.

The field is a generic dev_t field (ie: not disk specific) so that
tapes and other devices can use physio as well.

Revision 1.110: download - view: text, markup, annotated - select for diffs
Mon Sep 20 23:17:47 1999 UTC (12 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.109: preferred, colored
Changes since revision 1.109: +67 -8 lines
    Fix handling of a device EOF that occurs in the middle of a block.  The
    transfer size calculation was incorrect resulting in the last read being
    potentially larger then the actual extent of the device.

    EOF and write handling has not yet been fixed.

Reviewed by:	Tor.Egge@fast.no

Revision 1.109: download - view: text, markup, annotated - select for diffs
Mon Sep 20 19:57:28 1999 UTC (12 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.108: preferred, colored
Changes since revision 1.108: +10 -4 lines
Step one of replacing devsw->d_maxio with si_bsize_max.

Rename dev->si_bsize_max to si_iosize_max and set it in spec_open
if the device didn't.

Set vp->v_maxio from dev->si_bsize_max in spec_open rather than
in ufs_bmap.c

Revision 1.108: download - view: text, markup, annotated - select for diffs
Fri Sep 17 06:10:26 1999 UTC (12 years, 4 months ago) by dillon
Branches: MAIN
Diff to: previous 1.107: preferred, colored
Changes since revision 1.107: +10 -5 lines
    Add vfs.enable_userblk_io sysctl to control whether user reads and writes
    to buffered block devices are allowed.  The default is to be backwards
    compatible, i.e. reads and writes are allowed.

    The idea is for a larger crowd to start running with this disabled and
    see what problems, if any, crop up, and then to change the default to
    off and see if any problems crop up in the next 6 months prior to
    potentially removing support entirely.  There are still a few people,
    Julian and myself included, who believe the buffered block device
    access from usermode to be useful.

    Remove use of vnode->v_lastr from buffered block device I/O in
    preparation for removal of vnode->v_lastr field, replacing it with
    the already existing seqcount metric to detect sequential operation.

Reviewed by:	Alan Cox <alc@cs.rice.edu>, David Greenman <dg@root.com>

Revision 1.107: download - view: text, markup, annotated - select for diffs
Thu Sep 9 19:08:43 1999 UTC (12 years, 5 months ago) by julian
Branches: MAIN
Diff to: previous 1.106: preferred, colored
Changes since revision 1.106: +9 -3 lines
Changes to centralise the default blocksize behaviour.
More likely to follow.

Submitted by: phk@freebsd.org

Revision 1.11.4.2: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:33:37 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_2_1_0
Diff to: previous 1.11.4.1: preferred, colored; branchpoint 1.11: preferred, colored; next MAIN 1.12: preferred, colored
Changes since revision 1.11.4.1: +1 -1 lines
$Id$ -> $FreeBSD$

Revision 1.33.2.1: download - view: text, markup, annotated - select for diffs
Sun Sep 5 08:17:00 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_2_2
Diff to: previous 1.33: preferred, colored; next MAIN 1.34: preferred, colored
Changes since revision 1.33: +1 -1 lines
$Id$ -> $FreeBSD$

Revision 1.106: download - view: text, markup, annotated - select for diffs
Fri Sep 3 09:14:36 1999 UTC (12 years, 5 months ago) by julian
Branches: MAIN
Diff to: previous 1.105: preferred, colored
Changes since revision 1.105: +4 -3 lines
Print out the device name when there is an uninitialised IO size or IO error
in spec_getpages().

Submitted by:	phk suggested the idea.

Revision 1.105: download - view: text, markup, annotated - select for diffs
Fri Sep 3 08:26:46 1999 UTC (12 years, 5 months ago) by julian
Branches: MAIN
Diff to: previous 1.104: preferred, colored
Changes since revision 1.104: +14 -6 lines
Add a catchall to set default blocksize values for disk like devices.

Submitted by:	phk@freebsd.org

Revision 1.104: download - view: text, markup, annotated - select for diffs
Fri Sep 3 05:16:59 1999 UTC (12 years, 5 months ago) by julian
Branches: MAIN
Diff to: previous 1.103: preferred, colored
Changes since revision 1.103: +34 -45 lines
Revert a bunch of contraversial changes by PHK. After
a quick think and discussion among various people some form of some of
these changes will probably be recommitted.

The reversion requested was requested by dg while discussions proceed.
PHK has indicated that he can live with this, and it has been agreed
that some form of some of these changes may return shortly after further
discussion.

Revision 1.103: download - view: text, markup, annotated - select for diffs
Tue Aug 31 21:46:42 1999 UTC (12 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.102: preferred, colored
Changes since revision 1.102: +5 -5 lines
Set the buffersize for non BSDFFS labeled partitions to
max(dev->si_bsize_phys, BLKDEV_IOSIZE).

Requested by:   davidg

Revision 1.102: download - view: text, markup, annotated - select for diffs
Tue Aug 31 21:01:51 1999 UTC (12 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.101: preferred, colored
Changes since revision 1.101: +19 -9 lines
Make buffered acces to bdevs from userland controllable with
a sysctl vfs.bdev_access.

Revision 1.101: download - view: text, markup, annotated - select for diffs
Mon Aug 30 07:56:20 1999 UTC (12 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.100: preferred, colored
Changes since revision 1.100: +31 -30 lines
Make bdev userland access work like cdev userland access unless
the highly non-recommended option ALLOW_BDEV_ACCESS is used.

(bdev access is evil because you don't get write errors reported.)

Kill si_bsize_best before it kills Matt :-)

Use the specfs routines rather having cloned copies in devfs.

Revision 1.78.2.1: download - view: text, markup, annotated - select for diffs
Sun Aug 29 16:26:57 1999 UTC (12 years, 5 months ago) by peter
Branches: RELENG_3
CVS tags: RELENG_3_5_0_RELEASE, RELENG_3_4_0_RELEASE, RELENG_3_3_0_RELEASE
Diff to: previous 1.78: preferred, colored; next MAIN 1.79: preferred, colored
Changes since revision 1.78: +1 -1 lines
$Id$ -> $FreeBSD$

Revision 1.100: download - view: text, markup, annotated - select for diffs
Sat Aug 28 00:46:59 1999 UTC (12 years, 5 months ago) by peter
Branches: MAIN
Diff to: previous 1.99: preferred, colored
Changes since revision 1.99: +1 -1 lines
$Id$ -> $FreeBSD$

Revision 1.99: download - view: text, markup, annotated - select for diffs
Thu Aug 26 14:53:22 1999 UTC (12 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.98: preferred, colored
Changes since revision 1.98: +2 -3 lines
Simplify the handling of VCHR and VBLK vnodes using the new dev_t:

        Make the alias list a SLIST.

        Drop the "fast recycling" optimization of vnodes (including
        the returning of a prexisting but stale vnode from checkalias).
        It doesn't buy us anything now that we don't hardlimit
        vnodes anymore.

        Rename checkalias2() and checkalias() to addalias() and
        addaliasu() - which takes dev_t and udev_t arg respectively.

        Make the revoke syscalls use vcount() instead of VALIASED.

        Remove VALIASED flag, we don't need it now and it is faster
        to traverse the much shorter lists than to maintain the
        flag.

        vfs_mountedon() can check the dev_t directly, all the vnodes
        point to the same one.

Print the devicename in specfs/vprint().

Remove a couple of stale LFS vnode flags.

Remove unimplemented/unused LK_DRAINED;

Revision 1.98: download - view: text, markup, annotated - select for diffs
Wed Aug 25 00:26:34 1999 UTC (12 years, 5 months ago) by julian
Branches: MAIN
Diff to: previous 1.97: preferred, colored
Changes since revision 1.97: +2 -1 lines
Fix comment to match reality..
vop_strategy gets a vnode argument these days.

Revision 1.97: download - view: text, markup, annotated - select for diffs
Tue Aug 17 04:02:04 1999 UTC (12 years, 5 months ago) by alc
Branches: MAIN
Diff to: previous 1.96: preferred, colored
Changes since revision 1.96: +3 -3 lines
Add the (inline) function vm_page_undirty for clearing the dirty bitmask
of a vm_page.

Use it.

Submitted by:	dillon

Revision 1.96: download - view: text, markup, annotated - select for diffs
Sat Aug 14 11:40:45 1999 UTC (12 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.95: preferred, colored
Changes since revision 1.95: +3 -3 lines
Spring cleaning around strategy and disklabels/slices:

Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout.
please see comment in sys/conf.h about the flag argument.

Remove strategy argument from all the diskslice/label/bad144
implementations, it should be found from the dev_t.

Remove bogus and unused strategy1 routines.

Remove open/close arguments from dssize().  Pick them up from dev_t.

Remove unused and unfinished setgeom support from diskslice/label/bad144 code.

Revision 1.95: download - view: text, markup, annotated - select for diffs
Fri Aug 13 16:29:21 1999 UTC (12 years, 6 months ago) by phk
Branches: MAIN
Diff to: previous 1.94: preferred, colored
Changes since revision 1.94: +18 -59 lines
Add support for device drivers which want to track all open/close
operations.  This allows a device driver better insight into
what is going on that the current:

        proc1:  open /dev/foo R/O
                        devsw->open( R/O, proc1 )
        proc2:  open /dev/foo R/W
                        devsw->open( R/W, proc2 )
        proc2:  close
                        /* nothing, but device is
                           really only R/O open */
        proc1:  close
                        devsw->close( R/O, proc1 )

Revision 1.94: download - view: text, markup, annotated - select for diffs
Fri Aug 13 10:53:58 1999 UTC (12 years, 6 months ago) by phk
Branches: MAIN
Diff to: previous 1.93: preferred, colored
Changes since revision 1.93: +1 -3 lines
Remove spec_getattr(), which as far as I can tell can never be called from the current code-paths, and if it were, would panic on any unmounted bdev.

Revision 1.93: download - view: text, markup, annotated - select for diffs
Fri Aug 13 10:29:23 1999 UTC (12 years, 6 months ago) by phk
Branches: MAIN
Diff to: previous 1.92: preferred, colored
Changes since revision 1.92: +9 -9 lines
The bdevsw() and cdevsw() are now identical, so kill the former.

Revision 1.92: download - view: text, markup, annotated - select for diffs
Fri Aug 13 10:10:10 1999 UTC (12 years, 6 months ago) by phk
Branches: MAIN
Diff to: previous 1.91: preferred, colored
Changes since revision 1.91: +6 -6 lines
s/v_specinfo/v_rdev/

Revision 1.91: download - view: text, markup, annotated - select for diffs
Sun Aug 8 18:42:52 1999 UTC (12 years, 6 months ago) by phk
Branches: MAIN
Diff to: previous 1.90: preferred, colored
Changes since revision 1.90: +1 -3 lines
Decommision miscfs/specfs/specdev.h.  Most of it goes into <sys/conf.h>,
a few lines into <sys/vnode.h>.

Add a few fields to struct specinfo, paving the way for the fun part.

Revision 1.90: download - view: text, markup, annotated - select for diffs
Tue Jul 20 09:47:45 1999 UTC (12 years, 6 months ago) by phk
Branches: MAIN
Diff to: previous 1.89: preferred, colored
Changes since revision 1.89: +1 -2 lines
Now a dev_t is a pointer to struct specinfo which is shared by all specdev
vnodes referencing this device.

Details:
        cdevsw->d_parms has been removed, the specinfo is available
        now (== dev_t) and the driver should modify it directly
        when applicable, and the only driver doing so, does so:
        vn.c.  I am not sure the logic in checking for "<" was right
        before, and it looks even less so now.

        An intial pool of 50 struct specinfo are depleted during
        early boot, after that malloc had better work.  It is
        likely that fewer than 50 would do.

        Hashing is done from udev_t to dev_t with a prime number
        remainder hash, experiments show no better hash available
        for decent cost (MD5 is only marginally better)  The prime
        number used should not be close to a power of two, we use
        83 for now.

        Add new checkalias2() to get around the loss of info from
        dev2udev() in bdevvp();

        The aliased vnodes are hung on a list straight of the dev_t,
        and speclisth[SPECSZ] is unused.  The sharing of struct
        specinfo means that the v_specnext moves into the vnode
        which grows by 4 bytes.

        Don't use a VBLK dev_t which doesn't make sense in MFS, now
        we hang a dummy cdevsw on B/Cmaj 253 so that things look sane.

	Storage overhead from all of this is O(50k).

        Bump __FreeBSD_version to 400009

The next step will add the stuff needed so device-drivers can start to
hang things from struct specinfo

Revision 1.89: download - view: text, markup, annotated - select for diffs
Sat Jun 26 02:46:21 1999 UTC (12 years, 7 months ago) by mckusick
Branches: MAIN
Diff to: previous 1.88: preferred, colored
Changes since revision 1.88: +5 -5 lines
Convert buffer locking from using the B_BUSY and B_WANTED flags to using
lockmgr locks. This commit should be functionally equivalent to the old
semantics. That is, all buffer locking is done with LK_EXCLUSIVE
requests. Changes to take advantage of LK_SHARED and LK_RECURSIVE will
be done in future commits.

Revision 1.88: download - view: text, markup, annotated - select for diffs
Tue Jun 1 20:29:58 1999 UTC (12 years, 8 months ago) by dt
Branches: MAIN
Diff to: previous 1.87: preferred, colored
Changes since revision 1.87: +1 -2 lines
Remove an unused variable.

Revision 1.87: download - view: text, markup, annotated - select for diffs
Mon May 31 11:27:56 1999 UTC (12 years, 8 months ago) by phk
Branches: MAIN
Diff to: previous 1.86: preferred, colored
Changes since revision 1.86: +1 -5 lines
Simplify cdevsw registration.

The cdevsw_add() function now finds the major number(s) in the
struct cdevsw passed to it.  cdevsw_add_generic() is no longer
needed, cdevsw_add() does the same thing.

cdevsw_add() will print an message if the d_maj field looks bogus.

Remove nblkdev and nchrdev variables.  Most places they were used
bogusly.  Instead check a dev_t for validity by seeing if devsw()
or bdevsw() returns NULL.

Move bdevsw() and devsw() functions to kern/kern_conf.c

Bump __FreeBSD_version to 400006

This commit removes:
        72 bogus makedev() calls
        26 bogus SYSINIT functions

if_xe.c bogusly accessed cdevsw[], author/maintainer please fix.

I4b and vinum not changed.  Patches emailed to authors.  LINT
probably broken until they catch up.

Revision 1.86: download - view: text, markup, annotated - select for diffs
Tue May 11 19:54:38 1999 UTC (12 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.85: preferred, colored
Changes since revision 1.85: +2 -2 lines
Divorce "dev_t" from the "major|minor" bitmap, which is now called
udev_t in the kernel but still called dev_t in userland.

Provide functions to manipulate both types:
        major()         umajor()
        minor()         uminor()
        makedev()       umakedev()
        dev2udev()      udev2dev()

For now they're functions, they will become in-line functions
after one of the next two steps in this process.

Return major/minor/makedev to macro-hood for userland.

Register a name in cdevsw[] for the "filedescriptor" driver.

In the kernel the udev_t appears in places where we have the
major/minor number combination, (ie: a potential device: we
may not have the driver nor the device), like in inodes, vattr,
cdevsw registration and so on, whereas the dev_t appears where
we carry around a reference to a actual device.

In the future the cdevsw and the aliased-from vnode will be hung
directly from the dev_t, along with up to two softc pointers for
the device driver and a few houskeeping bits.  This will essentially
replace the current "alias" check code (same buck, bigger bang).

A little stunt has been provided to try to catch places where the
wrong type is being used (dev_t vs udev_t), if you see something
not working, #undef DEVT_FASCIST in kern/kern_conf.c and see if
it makes a difference.  If it does, please try to track it down
(many hands make light work) or at least try to reproduce it
as simply as possible, and describe how to do that.

Without DEVT_FASCIST I belive this patch is a no-op.

Stylistic/posixoid comments about the userland view of the <sys/*.h>
files welcome now, from userland they now contain the end result.

Next planned step: make all dev_t's refer to the same devsw[] which
means convert BLK's to CHR's at the perimeter of the vnodes and
other places where they enter the game (bootdev, mknod, sysctl).

Revision 1.85: download - view: text, markup, annotated - select for diffs
Sat May 8 06:39:55 1999 UTC (12 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.84: preferred, colored
Changes since revision 1.84: +24 -21 lines
I got tired of seeing all the cdevsw[major(foo)] all over the place.

Made a new (inline) function devsw(dev_t dev) and substituted it.

Changed to the BDEV variant to this format as well: bdevsw(dev_t dev)

DEVFS will eventually benefit from this change too.

Revision 1.84: download - view: text, markup, annotated - select for diffs
Fri May 7 10:11:05 1999 UTC (12 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.83: preferred, colored
Changes since revision 1.83: +11 -11 lines
Continue where Julian left off in July 1998:

        Virtualize bdevsw[] from cdevsw.  bdevsw() is now an (inline)
        function.

        Join CDEV_MODULE and BDEV_MODULE to DEV_MODULE (please pay attention
        to the order of the cmaj/bmaj arguments!)

        Join CDEV_DRIVER_MODULE and BDEV_DRIVER_MODULE to DEV_DRIVER_MODULE
        (ditto!)

(Next step will be to convert all bdev dev_t's to cdev dev_t's
before they get to do any damage^H^H^H^H^H^Hwork in the kernel.)

Revision 1.83: download - view: text, markup, annotated - select for diffs
Thu May 6 20:00:27 1999 UTC (12 years, 9 months ago) by phk
Branches: MAIN
Diff to: previous 1.82: preferred, colored
Changes since revision 1.82: +2 -3 lines
remove b_proc from struct buf, it's (now) unused.

Reviewed by:	dillon, bde

Revision 1.82: download - view: text, markup, annotated - select for diffs
Mon Apr 5 19:38:30 1999 UTC (12 years, 10 months ago) by julian
Branches: MAIN
CVS tags: PRE_VFS_BIO_NFS_PATCH, PRE_SMP_VMSHARE, PRE_NEWBUS, POST_VFS_BIO_NFS_PATCH, POST_SMP_VMSHARE, POST_NEWBUS, POST_MATT_MMAP_EOF
Diff to: previous 1.81: preferred, colored
Changes since revision 1.81: +13 -3 lines
Catch a case spotted by Tor where files mmapped could leave garbage in the
unallocated parts of the last page when the file ended on a frag
but not a page boundary.
Delimitted by tags PRE_MATT_MMAP_EOF and POST_MATT_MMAP_EOF,
in files alpha/alpha/pmap.c i386/i386/pmap.c nfs/nfs_bio.c vm/pmap.h
    vm/vm_page.c vm/vm_page.h vm/vnode_pager.c miscfs/specfs/spec_vnops.c
    ufs/ufs/ufs_readwrite.c kern/vfs_bio.c

Submitted by: Matt Dillon <dillon@freebsd.org>
Reviewed by: Alan Cox <alc@freebsd.org>

Revision 1.81: download - view: text, markup, annotated - select for diffs
Thu Feb 25 05:22:30 1999 UTC (12 years, 11 months ago) by dillon
Branches: MAIN
CVS tags: PRE_MATT_MMAP_EOF
Diff to: previous 1.80: preferred, colored
Changes since revision 1.80: +42 -23 lines
Reviewed by:	Julian Elischer <julian@whistle.com>

    Add d_parms() to {c,b}devsw[].  If non-NULL this function points to
    a device routine that will properly fill in the specinfo structure.
    vfs_subr.c's checkalias() supplies appropriate defaults.  This change
    should be fully backwards compatible with existing devices.

Revision 1.80: download - view: text, markup, annotated - select for diffs
Wed Jan 27 22:42:07 1999 UTC (13 years ago) by dillon
Branches: MAIN
Diff to: previous 1.79: preferred, colored
Changes since revision 1.79: +5 -2 lines
        Fix warnings in preparation for adding -Wall -Wcast-qual to the
        kernel compile

Revision 1.79: download - view: text, markup, annotated - select for diffs
Thu Jan 21 08:29:07 1999 UTC (13 years ago) by dillon
Branches: MAIN
CVS tags: POST_MATT_SWAPPER
Diff to: previous 1.78: preferred, colored
Changes since revision 1.78: +4 -4 lines
    This is a rather large commit that encompasses the new swapper,
    changes to the VM system to support the new swapper, VM bug
    fixes, several VM optimizations, and some additional revamping of the
    VM code.  The specific bug fixes will be documented with additional
    forced commits.  This commit is somewhat rough in regards to code
    cleanup issues.

Reviewed by:	"John S. Dyson" <root@dyson.iquest.net>, "David Greenman" <dg@root.com>

Revision 1.78: download - view: text, markup, annotated - select for diffs
Wed Dec 16 00:10:51 1998 UTC (13 years, 1 month ago) by eivind
Branches: MAIN
CVS tags: RELENG_3_BP, RELENG_3_2_PAO_BP, RELENG_3_2_PAO, RELENG_3_2_0_RELEASE, RELENG_3_1_0_RELEASE, PRE_MATT_SWAPPER
Branch point for: RELENG_3
Diff to: previous 1.77: preferred, colored
Changes since revision 1.77: +2 -2 lines
Fix possible NULL-pointer deref in error case (same as DEVFS).

Revision 1.77: download - view: text, markup, annotated - select for diffs
Mon Dec 7 21:58:33 1998 UTC (13 years, 2 months ago) by archie
Branches: MAIN
Diff to: previous 1.76: preferred, colored
Changes since revision 1.76: +1 -2 lines
The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static
and local variables, goto labels, and functions declared but not defined.

Revision 1.76: download - view: text, markup, annotated - select for diffs
Sat Oct 31 15:31:24 1998 UTC (13 years, 3 months ago) by peter
Branches: MAIN
Diff to: previous 1.75: preferred, colored
Changes since revision 1.75: +4 -4 lines
Use TAILQ macros for clean/dirty block list processing.  Set b_xflags
rather than abusing the list next pointer with a magic number.

Revision 1.75: download - view: text, markup, annotated - select for diffs
Mon Oct 26 08:53:13 1998 UTC (13 years, 3 months ago) by bde
Branches: MAIN
Diff to: previous 1.74: preferred, colored
Changes since revision 1.74: +3 -4 lines
Removed redundant bitrotted checks for major numbers instead of updating
them.

Revision 1.74: download - view: text, markup, annotated - select for diffs
Sat Sep 12 20:21:54 1998 UTC (13 years, 5 months ago) by phk
Branches: MAIN
CVS tags: RELENG_3_0_0_RELEASE
Diff to: previous 1.73: preferred, colored
Changes since revision 1.73: +6 -5 lines
various nits that didn't make it through the brucefilter.

Revision 1.73: download - view: text, markup, annotated - select for diffs
Sat Sep 5 14:13:12 1998 UTC (13 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.72: preferred, colored
Changes since revision 1.72: +26 -1 lines
Add a new vnode op, VOP_FREEBLKS(), which filesystems can use to inform
device drivers about sectors no longer in use.

Device-drivers receive the call through d_strategy, if they have
D_CANFREE in d_flags.

This allows flash based devices to erase the sectors and avoid
pointlessly carrying them around in compactions.

Reviewed by:	Kirk Mckusick, bde
Sponsored by:	M-Systems (www.m-sys.com)

Revision 1.72: download - view: text, markup, annotated - select for diffs
Fri Sep 4 08:06:56 1998 UTC (13 years, 5 months ago) by dfr
Branches: MAIN
Diff to: previous 1.71: preferred, colored
Changes since revision 1.71: +2 -2 lines
Cosmetic changes to the PAGE_XXX macros to make them consistent with
the other objects in vm.

Revision 1.71: download - view: text, markup, annotated - select for diffs
Tue Aug 25 17:48:54 1998 UTC (13 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.70: preferred, colored
Changes since revision 1.70: +12 -12 lines
sort the prototypes

Revision 1.70: download - view: text, markup, annotated - select for diffs
Mon Aug 24 18:23:18 1998 UTC (13 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.69: preferred, colored
Changes since revision 1.69: +4 -2 lines
Last commit managed to get mangled somehow.

Revision 1.69: download - view: text, markup, annotated - select for diffs
Mon Aug 24 17:47:21 1998 UTC (13 years, 5 months ago) by phk
Branches: MAIN
Diff to: previous 1.68: preferred, colored
Changes since revision 1.68: +3 -13 lines
Remove the last remaining evidence of B_TAPE.
Reclaim 3 unused bits in b_flags

Revision 1.68: download - view: text, markup, annotated - select for diffs
Sun Aug 23 11:43:29 1998 UTC (13 years, 5 months ago) by bde
Branches: MAIN
Diff to: previous 1.67: preferred, colored
Changes since revision 1.67: +2 -11 lines
Enabled Lite2 fix for reading from dead ttys.

Revision 1.67: download - view: text, markup, annotated - select for diffs
Wed Jul 15 02:32:22 1998 UTC (13 years, 6 months ago) by bde
Branches: MAIN
Diff to: previous 1.66: preferred, colored
Changes since revision 1.66: +2 -2 lines
Cast pointers to uintptr_t/intptr_t instead of to u_long/long,
respectively.  Most of the longs should probably have been
u_longs, but this changes is just to prevent warnings about
casts between pointers and integers of different sizes, not
to fix poorly chosen types.

Revision 1.66: download - view: text, markup, annotated - select for diffs
Sat Jul 11 07:45:48 1998 UTC (13 years, 7 months ago) by bde
Branches: MAIN
Diff to: previous 1.65: preferred, colored
Changes since revision 1.65: +10 -6 lines
Fixed printf format errors.

Revision 1.65: download - view: text, markup, annotated - select for diffs
Sat Jul 4 22:30:23 1998 UTC (13 years, 7 months ago) by julian
Branches: MAIN
Diff to: previous 1.64: preferred, colored
Changes since revision 1.64: +3 -4 lines
There is no such thing any more as "struct bdevsw".

There is only cdevsw (which should be renamed in a later edit to deventry
or something). cdevsw contains the union of what were in both bdevsw an
cdevsw entries.  The bdevsw[] table stiff exists and is a second pointer
to the cdevsw entry of the device. it's major is in d_bmaj rather than
d_maj. some cleanup still to happen (e.g. dsopen now gets two pointers
to the same cdevsw struct instead of one to a bdevsw and one to a cdevsw).

rawread()/rawwrite() went away as part of this though it's not strictly
the same  patch, just that it involves all the same lines in the drivers.

cdroms no longer have write() entries (they did have rawwrite (?)).
tapes no longer have support for bdev operations.

Reviewed by: Eivind Eklund and Mike Smith
	Changes suggested by eivind.

Revision 1.64: download - view: text, markup, annotated - select for diffs
Sat Jul 4 20:45:33 1998 UTC (13 years, 7 months ago) by julian
Branches: MAIN
CVS tags: PRE_NOBDEV
Diff to: previous 1.63: preferred, colored
Changes since revision 1.63: +2 -2 lines
VOP_STRATEGY grows an (struct vnode *) argument
as the value in b_vp is often not really what you want.
(and needs to be frobbed). more cleanups will follow this.
Reviewed by: Bruce Evans <bde@freebsd.org>

Revision 1.63: download - view: text, markup, annotated - select for diffs
Sun Jun 7 17:11:59 1998 UTC (13 years, 8 months ago) by dfr
Branches: MAIN
Diff to: previous 1.62: preferred, colored
Changes since revision 1.62: +2 -2 lines
This commit fixes various 64bit portability problems required for
FreeBSD/alpha.  The most significant item is to change the command
argument to ioctl functions from int to u_long.  This change brings us
inline with various other BSD versions.  Driver writers may like to
use (__FreeBSD_version == 300003) to detect this change.

The prototype FreeBSD/alpha machdep will follow in a couple of days
time.

Revision 1.62: download - view: text, markup, annotated - select for diffs
Thu May 21 07:47:49 1998 UTC (13 years, 8 months ago) by dyson
Branches: MAIN
Diff to: previous 1.61: preferred, colored
Changes since revision 1.61: +3 -2 lines
Make flushing dirty pages work correctly on filesystems that
unexpectedly do not complete writes even with sync I/O requests.
This should help the behavior of mmaped files when using
softupdates (and perhaps in other circumstances also.)

Revision 1.61: download - view: text, markup, annotated - select for diffs
Sun Apr 19 23:32:26 1998 UTC (13 years, 9 months ago) by julian
Branches: MAIN
CVS tags: POST_DEVFS_SLICE
Diff to: previous 1.60: preferred, colored
Changes since revision 1.60: +9 -2 lines
Add changes and code to implement a functional DEVFS.
This code will be turned on with the TWO options
DEVFS and SLICE. (see LINT)
Two labels PRE_DEVFS_SLICE and POST_DEVFS_SLICE will deliniate these changes.

/dev will be automatically mounted by init (thanks phk)
on bootup. See /sys/dev/slice/slice.4 for more info.
All code should act the same without these options enabled.

Mike Smith, Poul Henning Kamp, Soeren, and a few dozen others

This code does not support the following:
bad144 handling.
Persistance. (My head is still hurting from the last time we discussed this)
ATAPI flopies are not handled by the SLICE code yet.

When this code is running, all major numbers are arbitrary and COULD
be dynamically assigned. (this is not done, for POLA only)
Minor numbers for disk slices ARE arbitray and dynamically assigned.

Revision 1.60: download - view: text, markup, annotated - select for diffs
Sun Mar 8 09:57:36 1998 UTC (13 years, 11 months ago) by julian
Branches: MAIN
CVS tags: PRE_DEVFS_SLICE, POST_SOFTUPDATE
Diff to: previous 1.59: preferred, colored
Changes since revision 1.59: +8 -2 lines
Reviewed by:	dyson@freebsd.org (john Dyson), dg@root.com (david greenman)
Submitted by:	Kirk McKusick (mcKusick@mckusick.com)
Obtained from:  WHistle development tree

Revision 1.59: download - view: text, markup, annotated - select for diffs
Sun Mar 8 08:46:18 1998 UTC (13 years, 11 months ago) by dyson
Branches: MAIN
CVS tags: PRE_SOFTUPDATE
Diff to: previous 1.58: preferred, colored
Changes since revision 1.58: +19 -7 lines
Initialize b_resid, and also print out better diagnostics on I/O
errors.  This will allow for better tracking of user error reports.

Revision 1.58: download - view: text, markup, annotated - select for diffs
Sat Mar 7 21:35:52 1998 UTC (13 years, 11 months ago) by dyson
Branches: MAIN
Diff to: previous 1.57: preferred, colored
Changes since revision 1.57: +55 -31 lines
This mega-commit is meant to fix numerous interrelated problems.  There
has been some bitrot and incorrect assumptions in the vfs_bio code.  These
problems have manifest themselves worse on NFS type filesystems, but can
still affect local filesystems under certain circumstances.  Most of
the problems have involved mmap consistancy, and as a side-effect broke
the vfs.ioopt code.  This code might have been committed seperately, but
almost everything is interrelated.

1)	Allow (pmap_object_init_pt) prefaulting of buffer-busy pages that
	are fully valid.
2)	Rather than deactivating erroneously read initial (header) pages in
	kern_exec, we now free them.
3)	Fix the rundown of non-VMIO buffers that are in an inconsistent
	(missing vp) state.
4)	Fix the disassociation of pages from buffers in brelse.  The previous
	code had rotted and was faulty in a couple of important circumstances.
5)	Remove a gratuitious buffer wakeup in vfs_vmio_release.
6)	Remove a crufty and currently unused cluster mechanism for VBLK
	files in vfs_bio_awrite.  When the code is functional, I'll add back
	a cleaner version.
7)	The page busy count wakeups assocated with the buffer cache usage were
	incorrectly cleaned up in a previous commit by me.  Revert to the
	original, correct version, but with a cleaner implementation.
8)	The cluster read code now tries to keep data associated with buffers
	more aggressively (without breaking the heuristics) when it is presumed
	that the read data (buffers) will be soon needed.
9)	Change to filesystem lockmgr locks so that they use LK_NOPAUSE.  The
	delay loop waiting is not useful for filesystem locks, due to the
	length of the time intervals.
10)	Correct and clean-up spec_getpages.
11)	Implement a fully functional nfs_getpages, nfs_putpages.
12)	Fix nfs_write so that modifications are coherent with the NFS data on
	the server disk (at least as well as NFS seems to allow.)
13)	Properly support MS_INVALIDATE on NFS.
14)	Properly pass down MS_INVALIDATE to lower levels of the VM code from
	vm_map_clean.
15)	Better support the notion of pages being busy but valid, so that
	fewer in-transit waits occur.  (use p->busy more for pageouts instead
	of PG_BUSY.)  Since the page is fully valid, it is still usable for
	reads.
16)	It is possible (in error) for cached pages to be busy.  Make the
	page allocation code handle that case correctly.  (It should probably
	be a printf or panic, but I want the system to handle coding errors
	robustly.  I'll probably add a printf.)
17)	Correct the design and usage of vm_page_sleep.  It didn't handle
	consistancy problems very well, so make the design a little less
	lofty.  After vm_page_sleep, if it ever blocked, it is still important
	to relookup the page (if the object generation count changed), and
	verify it's status (always.)
18)	In vm_pageout.c, vm_pageout_clean had rotted, so clean that up.
19)	Push the page busy for writes and VM_PROT_READ into vm_pageout_flush.
20)	Fix vm_pager_put_pages and it's descendents to support an int flag
	instead of a boolean, so that we can pass down the invalidate bit.

Revision 1.57: download - view: text, markup, annotated - select for diffs
Wed Mar 4 06:44:59 1998 UTC (13 years, 11 months ago) by dyson
Branches: MAIN
Diff to: previous 1.56: preferred, colored
Changes since revision 1.56: +4 -9 lines
Fix certain kinds of block device operations.  For example, tunefs on
a block device shouldn't crash the system anymore.

Revision 1.56: download - view: text, markup, annotated - select for diffs
Fri Feb 6 12:13:43 1998 UTC (14 years ago) by eivind
Branches: MAIN
Diff to: previous 1.55: preferred, colored
Changes since revision 1.55: +1 -3 lines
Back out DIAGNOSTIC changes.

Revision 1.55: download - view: text, markup, annotated - select for diffs
Thu Feb 5 03:32:23 1998 UTC (14 years ago) by dyson
Branches: MAIN
Diff to: previous 1.54: preferred, colored
Changes since revision 1.54: +5 -2 lines
1)	Start using a cleaner and more consistant page allocator instead
	of the various ad-hoc schemes.
2)	When bringing in UPAGES, the pmap code needs to do another vm_page_lookup.
3)	When appropriate, set the PG_A or PG_M bits a-priori to both avoid some
	processor errata, and to minimize redundant processor updating of page
	tables.
4)	Modify pmap_protect so that it can only remove permissions (as it
	originally supported.)  The additional capability is not needed.
5)	Streamline read-only to read-write page mappings.
6)	For pmap_copy_page, don't enable write mapping for source page.
7)	Correct and clean-up pmap_incore.
8)	Cluster initial kern_exec pagin.
9)	Removal of some minor lint from kern_malloc.
10)	Correct some ioopt code.
11)	Remove some dead code from the MI swapout routine.
12)	Correct vm_object_deallocate (to remove backing_object ref.)
13)	Fix dead object handling, that had problems under heavy memory load.
14)	Add minor vm_page_lookup improvements.
15)	Some pages are not in objects, and make sure that the vm_page.c can
	properly support such pages.
16)	Add some more page deficit handling.
17)	Some minor code readability improvements.

Revision 1.54: download - view: text, markup, annotated - select for diffs
Wed Feb 4 22:32:51 1998 UTC (14 years ago) by eivind
Branches: MAIN
Diff to: previous 1.53: preferred, colored
Changes since revision 1.53: +3 -1 lines
Turn DIAGNOSTIC into a new-style option.

Revision 1.53: download - view: text, markup, annotated - select for diffs
Tue Jan 6 05:21:23 1998 UTC (14 years, 1 month ago) by dyson
Branches: MAIN
Diff to: previous 1.52: preferred, colored
Changes since revision 1.52: +18 -7 lines
Make our v_usecount vnode reference count work identically to the
original BSD code.  The association between the vnode and the vm_object
no longer includes reference counts.  The major difference is that
vm_object's are no longer freed gratuitiously from the vnode, and so
once an object is created for the vnode, it will last as long as the
vnode does.

When a vnode object reference count is incremented, then the underlying
vnode reference count is incremented also.  The two "objects" are now
more intimately related, and so the interactions are now much less
complex.

When vnodes are now normally placed onto the free queue with an object still
attached.  The rundown of the object happens at vnode rundown time, and
happens with exactly the same filesystem semantics of the original VFS
code.  There is absolutely no need for vnode_pager_uncache and other
travesties like that anymore.

A side-effect of these changes is that SMP locking should be much simpler,
the I/O copyin/copyout optimizations work, NFS should be more ponderable,
and further work on layered filesystems should be less frustrating, because
of the totally coherent management of the vnode objects and vnodes.

Please be careful with your system while running this code, but I would
greatly appreciate feedback as soon a reasonably possible.

Revision 1.52: download - view: text, markup, annotated - select for diffs
Mon Dec 29 00:23:16 1997 UTC (14 years, 1 month ago) by dyson
Branches: MAIN
Diff to: previous 1.51: preferred, colored
Changes since revision 1.51: +3 -10 lines
Lots of improvements, including restructring the caching and management
of vnodes and objects.  There are some metadata performance improvements
that come along with this.  There are also a few prototypes added when
the need is noticed.  Changes include:

1) Cleaning up vref, vget.
2) Removal of the object cache.
3) Nuke vnode_pager_uncache and friends, because they aren't needed anymore.
4) Correct some missing LK_RETRY's in vn_lock.
5) Correct the page range in the code for msync.

Be gentle, and please give me feedback asap.

Revision 1.51: download - view: text, markup, annotated - select for diffs
Mon Oct 27 13:33:42 1997 UTC (14 years, 3 months ago) by bde
Branches: MAIN
Diff to: previous 1.50: preferred, colored
Changes since revision 1.50: +1 -2 lines
Removed unused #includes.  The need for most of them went away with
recent changes (docluster* and vfs improvements).

Revision 1.50: download - view: text, markup, annotated - select for diffs
Sun Oct 26 20:55:24 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.49: preferred, colored
Changes since revision 1.49: +6 -17 lines
VFS interior redecoration.

Rename vn_default_error to vop_defaultop all over the place.
Move vn_bwrite from vfs_bio.c to vfs_default.c and call it vop_stdbwrite.
Use vop_null instead of nullop.
Move vop_nopoll from vfs_subr.c to vfs_default.c
Move vop_sharedlock from vfs_subr.c to vfs_default.c
Move vop_nolock from vfs_subr.c to vfs_default.c
Move vop_nounlock from vfs_subr.c to vfs_default.c
Move vop_noislocked from vfs_subr.c to vfs_default.c
Use vop_ebadf instead of *_ebadf.
Add vop_defaultop for getpages on master vnode in MFS.

Revision 1.49: download - view: text, markup, annotated - select for diffs
Thu Oct 16 22:00:42 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.48: preferred, colored
Changes since revision 1.48: +1 -4 lines
VFS clean up "hekto commit"

1.  Add defaults for more VOPs
        VOP_LOCK        vop_nolock
        VOP_ISLOCKED    vop_noislocked
        VOP_UNLOCK      vop_nounlock
    and remove direct reference in filesystems.

2.  Rename the nfsv2 vnop tables to improve sorting order.

Revision 1.48: download - view: text, markup, annotated - select for diffs
Thu Oct 16 20:32:29 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.47: preferred, colored
Changes since revision 1.47: +3 -44 lines
Another VFS cleanup "kilo commit"

1.  Remove VOP_UPDATE, it is (also) an UFS/{FFS,LFS,EXT2FS,MFS}
    intereface function, and now lives in the ufsmount structure.

2.  Remove VOP_SEEK, it was unused.

3.  Add mode default vops:

    VOP_ADVLOCK          vop_einval
    VOP_CLOSE            vop_null
    VOP_FSYNC            vop_null
    VOP_IOCTL            vop_enotty
    VOP_MMAP             vop_einval
    VOP_OPEN             vop_null
    VOP_PATHCONF         vop_einval
    VOP_READLINK         vop_einval
    VOP_REALLOCBLKS      vop_eopnotsupp

    And remove identical functionality from filesystems

4.   Add vop_stdpathconf, which returns the canonical stuff.  Use
     it in the filesystems.  (XXX: It's probably wrong that specfs
     and fifofs sets this vop, shouldn't it come from the "host"
     filesystem, for instance ufs or cd9660 ?)

5.   Try to make system wide VOP functions have vop_* names.

6.   Initialize the um_* vectors in LFS.

(Recompile your LKMS!!!)

Revision 1.47: download - view: text, markup, annotated - select for diffs
Thu Oct 16 10:48:46 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.46: preferred, colored
Changes since revision 1.46: +2 -9 lines
VFS mega cleanup commit (x/N)

1.  Add new file "sys/kern/vfs_default.c" where default actions for
    VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE,
    POLL, REVOKE and STRATEGY.  Various stuff spread over the entire
    tree belongs here.

2.  Change VOP_BLKATOFF to a normal function in cd9660.

3.  Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC.  These
    are private interface functions between UFS and the underlying
    storage manager layer (FFS/LFS/MFS/EXT2FS).  The functions now
    live in struct ufsmount instead.

4.  Remove a kludge of VOP_ functions in all filesystems, that did
    nothing but obscure the simplicity and break the expandability.
    If a filesystem doesn't implement VOP_FOO, it shouldn't have an
    entry for it in its vnops table.  The system will try to DTRT
    if it is not implemented.  There are still some cruft left, but
    the bulk of it is done.

5.  Fix another VCALL in vfs_cache.c (thanks Bruce!)

Revision 1.46: download - view: text, markup, annotated - select for diffs
Wed Oct 15 13:23:18 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.45: preferred, colored
Changes since revision 1.45: +72 -44 lines
vnops megacommit

1.  Use the default function to access all the specfs operations.
2.  Use the default function to access all the fifofs operations.
3.  Use the default function to access all the ufs operations.
4.  Fix VCALL usage in vfs_cache.c
5.  Use VOCALL to access specfs functions in devfs_vnops.c
6.  Staticize most of the spec and fifofs vnops functions.
7.  Make UFS panic if it lacks bits of the underlying storage handling.

Revision 1.45: download - view: text, markup, annotated - select for diffs
Wed Oct 15 10:04:43 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.44: preferred, colored
Changes since revision 1.44: +9 -9 lines
Hmm, realign the vnops into two columns.

Revision 1.44: download - view: text, markup, annotated - select for diffs
Wed Oct 15 09:21:22 1997 UTC (14 years, 3 months ago) by phk
Branches: MAIN
Diff to: previous 1.43: preferred, colored
Changes since revision 1.43: +45 -49 lines
Stylistic overhaul of vnops tables.
        1. Remove comment stating the blatantly obvious.
        2. Align in two columns.
        3. Sort all but the default element alphabetically.
        4. Remove XXX comments pointing out entries not needed.

Revision 1.43: download - view: text, markup, annotated - select for diffs
Sat Sep 27 13:39:20 1997 UTC (14 years, 4 months ago) by kato
Branches: MAIN
Diff to: previous 1.42: preferred, colored
Changes since revision 1.42: +7 -4 lines
Clustered read and write are switched at mount-option level.

1. Clustered I/O is switched by the MNT_NOCLUSTERR and MNT_NOCLUSTERW
   bits of the mnt_flag.  The sysctl variables, vfs.foo.doclusterread
   and vfs.foo.doclusterwrite are deleted.  Only mount option can
   control clustered I/O from userland.
2. When foofs_mount mounts block device, foofs_mount checks D_CLUSTERR
   and D_CLUSTERW bits of the d_flags member in the block device switch
   table.  If D_NOCLUSTERR / D_NOCLUSTERW are set, MNT_NOCLUSTERR /
   MNT_NOCLUSTERW bits will be set.  In this case, MNT_NOCLUSTERR and
   MNT_NOCLUSTERW cannot be cleared from userland.
3. Vnode driver disables both clustered read and write.
4. Union filesystem disables clutered write.

Reviewed by:	bde

Revision 1.42: download - view: text, markup, annotated - select for diffs
Sun Sep 14 02:58:02 1997 UTC (14 years, 4 months ago) by peter
Branches: MAIN
Diff to: previous 1.41: preferred, colored
Changes since revision 1.41: +14 -11 lines
Convert select -> poll.
Delete 'always succeed' select/poll handlers, replaced with generic call.
Flag missing vnode op table entries.

Revision 1.41: download - view: text, markup, annotated - select for diffs
Tue Sep 2 20:06:12 1997 UTC (14 years, 5 months ago) by bde
Branches: MAIN
Diff to: previous 1.40: preferred, colored
Changes since revision 1.40: +1 -4 lines
Removed unused #includes.

Revision 1.40: download - view: text, markup, annotated - select for diffs
Thu May 29 13:29:13 1997 UTC (14 years, 8 months ago) by tegge
Branches: MAIN
CVS tags: WOLLMAN_MBUF, BP_WOLLMAN_MBUF
Diff to: previous 1.39: preferred, colored
Changes since revision 1.39: +2 -1 lines
Don't remove the controlling tty from the session if the vnode is being
cleaned. This should help for PR kern/3581.

Revision 1.39: download - view: text, markup, annotated - select for diffs
Thu May 1 19:12:22 1997 UTC (14 years, 9 months ago) by sos
Branches: MAIN
Diff to: previous 1.38: preferred, colored
Changes since revision 1.38: +10 -3 lines
Remove the dependancy on DEV_BSIZE, now specfs works on != 512byte
sector devices given that the fs uses a blocksize of at least a physical
sector size.

Revision 1.38: download - view: text, markup, annotated - select for diffs
Mon Mar 24 11:24:44 1997 UTC (14 years, 10 months ago) by bde
Branches: MAIN
CVS tags: pre_smp_merge, post_smp_merge
Diff to: previous 1.37: preferred, colored
Changes since revision 1.37: +1 -2 lines
Don't include <sys/ioctl.h> in the kernel.  Stage 1: don't include
it when it is not used.  In most cases, the reasons for including it
went away when the special ioctl headers became self-sufficient.

Revision 1.37: download - view: text, markup, annotated - select for diffs
Sat Feb 22 09:40:34 1997 UTC (14 years, 11 months ago) by peter
Branches: MAIN
Diff to: previous 1.36: preferred, colored
Changes since revision 1.36: +1 -1 lines
Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$.  We are not
ready for it yet.

Revision 1.36: download - view: text, markup, annotated - select for diffs
Mon Feb 10 02:15:06 1997 UTC (15 years ago) by dyson
Branches: MAIN
Diff to: previous 1.35: preferred, colored
Changes since revision 1.35: +48 -43 lines
This is the kernel Lite/2 commit.  There are some requisite userland
changes, so don't expect to be able to run the kernel as-is (very well)
without the appropriate Lite/2 userland changes.

The system boots and can mount UFS filesystems.

Untested: ext2fs, msdosfs, NFS
Known problems: Incorrect Berkeley ID strings in some files.
		Mount_std mounts will not work until the getfsent
		library routine is changed.

Reviewed by:	various people
Submitted by:	Jeffery Hsu <hsu@freebsd.org>

Revision 1.35: download - view: text, markup, annotated - select for diffs
Tue Jan 14 06:46:47 1997 UTC (15 years ago) by jkh
Branches: MAIN
Diff to: previous 1.34: preferred, colored
Changes since revision 1.34: +1 -1 lines
Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.

Revision 1.34: download - view: text, markup, annotated - select for diffs
Thu Dec 19 18:16:33 1996 UTC (15 years, 1 month ago) by bde
Branches: MAIN
Diff to: previous 1.33: preferred, colored
Changes since revision 1.33: +2 -2 lines
Fixed errno for unsupported advisory locks.  The errno is now EINVAL
fcntl() and EOPNOTSUPP for flock().  POSIX specifies the weaker EINVAL
errno and the man page agrees.

Not fixed:
deadfs: always returns wrong EBADF
devfs, msdosfs: always return sometimes-wrong EINVAL
cd9660, fdesc, kernfs, portal: always return sometimes-wrong EOPNOTSUPP
procfs: always returns wrong EIO
mfs: panic?!
nfs: fudged

NetBSD uses a generic file system genfs to do return the sometimes-wrong
EOPNOTSUPP more consistently :-)(.

Found by:	NIST-PCTS

Revision 1.33: download - view: text, markup, annotated - select for diffs
Sun Oct 6 21:19:33 1996 UTC (15 years, 4 months ago) by dyson
Branches: MAIN
CVS tags: RELENG_2_2_BP, RELENG_2_2_8_RELEASE, RELENG_2_2_7_RELEASE, RELENG_2_2_6_RELEASE, RELENG_2_2_5_RELEASE, RELENG_2_2_2_RELEASE, RELENG_2_2_1_RELEASE, RELENG_2_2_0_RELEASE
Branch point for: RELENG_2_2
Diff to: previous 1.32: preferred, colored
Changes since revision 1.32: +21 -12 lines
Substitution of a long divide by a shift.  Other cosmetic improvements.
Submitted by:	bde

Revision 1.32: download - view: text, markup, annotated - select for diffs
Tue Sep 3 14:23:21 1996 UTC (15 years, 5 months ago) by bde
Branches: MAIN
Diff to: previous 1.31: preferred, colored
Changes since revision 1.31: +3 -2 lines
Eliminated nested include of <sys/unistd.h> in <sys/file.h> in the kernel.
Include it directly in the few places where it is used.

Reduced some #includes of <sys/file.h> to #includes of <sys/fcntl.h> or
nothing.

Revision 1.31: download - view: text, markup, annotated - select for diffs
Wed Aug 21 21:55:33 1996 UTC (15 years, 5 months ago) by dyson
Branches: MAIN
Diff to: previous 1.30: preferred, colored
Changes since revision 1.30: +7 -2 lines
Even though this looks like it, this is not a complex code change.
The interface into the "VMIO" system has changed to be more consistant
and robust.  Essentially, it is now no longer necessary to call vn_open
to get merged VM/Buffer cache operation, and exceptional conditions
such as merged operation of VBLK devices is simpler and more correct.

This code corrects a potentially large set of problems including the
problems with ktrace output and loaded systems, file create/deletes,
etc.

Most of the changes to NFS are cosmetic and name changes, eliminating
a layer of subroutine calls.  The direct calls to vput/vrele have
been re-instituted for better cross platform compatibility.

Reviewed by: davidg

Revision 1.30: download - view: text, markup, annotated - select for diffs
Sat Jul 27 03:50:31 1996 UTC (15 years, 6 months ago) by dyson
Branches: MAIN
Diff to: previous 1.29: preferred, colored
Changes since revision 1.29: +1 -2 lines
Remove a totally unneeded (and as of the last VM commit, incorrect) call
to pmap_clear_modify.

Revision 1.29: download - view: text, markup, annotated - select for diffs
Tue Mar 19 05:13:17 1996 UTC (15 years, 10 months ago) by dyson
Branches: MAIN
CVS tags: wollman_polling
Diff to: previous 1.28: preferred, colored
Changes since revision 1.28: +3 -2 lines
Fix the problem that unmounting filesystems that are backed by a VMIO
device have reference count problems.  We mark the underlying object
ono-persistent, and account for the reference count that the VM system
maintainsfor the special device close.  This should fix the removable
device problem.

Revision 1.1.1.2 (vendor branch): download - view: text, markup, annotated - select for diffs
Mon Mar 11 19:29:15 1996 UTC (15 years, 11 months ago) by peter
Branches: CSRG
CVS tags: bsd_44_lite_2
Diff to: previous 1.1.1.1: preferred, colored
Changes since revision 1.1.1.1: +34 -37 lines
Import 4.4BSD-Lite2 onto the vendor branch, note that in the kernel, all
files are off the vendor branch, so this should not change anything.

A "U" marker generally means that the file was not changed in between
the 4.4Lite and Lite-2 releases, and does not need a merge.  "C" generally
means that there was a change.
[two new auxillary files in miscfs/union]

Revision 1.28: download - view: text, markup, annotated - select for diffs
Sat Mar 9 07:02:52 1996 UTC (15 years, 11 months ago) by dyson
Branches: MAIN
Diff to: previous 1.27: preferred, colored
Changes since revision 1.27: +2 -1 lines
Make sure that the zero flag is cleared upon completion of paging I/O.

Revision 1.27: download - view: text, markup, annotated - select for diffs
Mon Jan 1 20:20:45 1996 UTC (16 years, 1 month ago) by phk
Branches: MAIN
Diff to: previous 1.26: preferred, colored
Changes since revision 1.26: +7 -1 lines
I have some problem here, which shows up in the ahc0 driver.  It isn't where
it originates, so I catch it here and fail.
This may expose the same bug on other disk controllers (both scsi & ide).

Revision 1.26: download - view: text, markup, annotated - select for diffs
Thu Dec 14 09:53:06 1995 UTC (16 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.25: preferred, colored
Changes since revision 1.25: +5 -2 lines
Another mega commit to staticize things.

Revision 1.25: download - view: text, markup, annotated - select for diffs
Wed Dec 13 15:13:31 1995 UTC (16 years, 2 months ago) by julian
Branches: MAIN
Diff to: previous 1.24: preferred, colored
Changes since revision 1.24: +17 -17 lines
devsw tables are now arrays of POINTERS to struct [cb]devsw
seems to work hre just fine though  I can't check every file
that changed due to limmited h/w, however I've checked enught to be petty
happy withe hte code..

WARNING... struct lkm[mumble] has changed
so it might be an idea to recompile any lkm related programs

Revision 1.24: download - view: text, markup, annotated - select for diffs
Mon Dec 11 09:24:50 1995 UTC (16 years, 2 months ago) by phk
Branches: MAIN
Diff to: previous 1.23: preferred, colored
Changes since revision 1.23: +4 -4 lines
Staticize.

Revision 1.23: download - view: text, markup, annotated - select for diffs
Mon Dec 11 04:56:41 1995 UTC (16 years, 2 months ago) by dyson
Branches: MAIN
Diff to: previous 1.22: preferred, colored
Changes since revision 1.22: +34 -3 lines
Changes to support 1Tb filesizes.  Pages are now named by an
(object,index) pair instead of (object,offset) pair.

Revision 1.22: download - view: text, markup, annotated - select for diffs
Fri Dec 8 11:17:52 1995 UTC (16 years, 2 months ago) by julian
Branches: MAIN
Diff to: previous 1.21: preferred, colored
Changes since revision 1.21: +1 -5 lines
Pass 3 of the great devsw changes
most devsw referenced functions are now static, as they are
in the same file as their devsw structure. I've also added DEVFS
support for nearly every device in the system, however
many of the devices have 'incorrect' names under DEVFS
because I couldn't quickly work out the correct naming conventions.
(but devfs won't be coming on line for a month or so anyhow so that doesn't
matter)

If you "OWN" a device which would normally have an entry in /dev
then search for the devfs_add_devsw() entries and munge to make them right..
check out similar devices to see what I might have done in them in you
can't see what's going on..
for a laugh compare conf.c conf.h defore and after... :)
I have not doen DEVFS entries for any DISKSLICE devices yet as that will be
a much more complicated job.. (pass 5 :)

pass 4 will be to make the devsw tables of type (cdevsw * )
rather than (cdevsw)
seems to work here..
complaints to the usual places.. :)

Revision 1.21: download - view: text, markup, annotated - select for diffs
Thu Dec 7 12:47:17 1995 UTC (16 years, 2 months ago) by davidg
Branches: MAIN
Diff to: previous 1.20: preferred, colored
Changes since revision 1.20: +5 -1 lines
Untangled the vm.h include file spaghetti.

Revision 1.20: download - view: text, markup, annotated - select for diffs
Tue Dec 5 21:51:45 1995 UTC (16 years, 2 months ago) by bde
Branches: MAIN
Diff to: previous 1.19: preferred, colored
Changes since revision 1.19: +2 -1 lines
Include <vm/vm.h> or <vm/vm_page.h> explicitly to avoid breaking when
vnode_if.h doesn't include vm stuff.

Revision 1.19: download - view: text, markup, annotated - select for diffs
Wed Nov 29 12:38:49 1995 UTC (16 years, 2 months ago) by julian
Branches: MAIN
Diff to: previous 1.18: preferred, colored
Changes since revision 1.18: +9 -1 lines
#ifdef out nearly the entire file of conf.c when JREMOD is defined
add a few safety checks in specfs because
now it's possible to get entries in [cd]devsw[] which are ALL NULL
so it's better to discover this BEFORE jumping into the d_open() entry..

more check to come later.. this getsthe code to the stage where I
can start testing it, even if I haven't caught every little error case...
I guess I'll find them quick enough..

Revision 1.18: download - view: text, markup, annotated - select for diffs
Sat Nov 18 12:49:14 1995 UTC (16 years, 2 months ago) by bde
Branches: MAIN
Diff to: previous 1.17: preferred, colored
Changes since revision 1.17: +43 -43 lines
KNFized spec_getpages_idone() and spec_getpages().

Moved misplaced #includes.

Completed function pointer declarations.

Revision 1.17: download - view: text, markup, annotated - select for diffs
Thu Nov 9 08:16:15 1995 UTC (16 years, 3 months ago) by bde
Branches: MAIN
Diff to: previous 1.16: preferred, colored
Changes since revision 1.16: +45 -45 lines
Introduced a type `vop_t' for vnode operation functions and used
it 1138 times (:-() in casts and a few more times in declarations.
This change is null for the i386.

The type has to be `typedef int vop_t(void *)' and not `typedef
int vop_t()' because `gcc -Wstrict-prototypes' warns about the
latter.  Since vnode op functions are called with args of different
(struct pointer) types, neither of these function types is any use
for type checking of the arg, so it would be preferable not to use
the complete function type, especially since using the complete
type requires adding 1138 casts to avoid compiler warnings and
another 40+ casts to reverse the function pointer conversions before
calling the functions.

Revision 1.16: download - view: text, markup, annotated - select for diffs
Mon Oct 23 02:22:47 1995 UTC (16 years, 3 months ago) by dyson
Branches: MAIN
Diff to: previous 1.15: preferred, colored
Changes since revision 1.15: +125 -1 lines
Finalize GETPAGES layering scheme.  Move the device GETPAGES
interface into specfs code.  No need at this point to modify the
PUTPAGES stuff except in the layered-type (NULL/UNION) filesystems.

Revision 1.15: download - view: text, markup, annotated - select for diffs
Fri Oct 6 09:47:58 1995 UTC (16 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.14: preferred, colored
Changes since revision 1.14: +5 -5 lines
Avoid some 64bit divides.

Revision 1.14: download - view: text, markup, annotated - select for diffs
Mon Sep 4 00:20:37 1995 UTC (16 years, 5 months ago) by dyson
Branches: MAIN
Diff to: previous 1.13: preferred, colored
Changes since revision 1.13: +5 -1 lines
Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block count
for VOP_BMAP.  Updated affected filesystems...

Revision 1.13: download - view: text, markup, annotated - select for diffs
Sat Jul 29 11:40:31 1995 UTC (16 years, 6 months ago) by bde
Branches: MAIN
Diff to: previous 1.12: preferred, colored
Changes since revision 1.12: +2 -10 lines
Eliminate sloppy common-style declarations.  There should be none left for
the LINT configuation.

Revision 1.11.4.1: download - view: text, markup, annotated - select for diffs
Sat Jul 8 04:11:55 1995 UTC (16 years, 7 months ago) by davidg
Branches: RELENG_2_1_0
CVS tags: RELENG_2_1_7_RELEASE, RELENG_2_1_6_RELEASE, RELENG_2_1_6_1_RELEASE, RELENG_2_1_5_RELEASE, RELENG_2_1_0_RELEASE
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -1 lines
(2.1.0 branch)

Bring in change from rev 1.12: add missing splx.

Revision 1.12: download - view: text, markup, annotated - select for diffs
Sat Jul 8 04:03:12 1995 UTC (16 years, 7 months ago) by davidg
Branches: MAIN
Diff to: previous 1.11: preferred, colored
Changes since revision 1.11: +2 -1 lines
Added missing splx() in DIAGNOSTIC code.
Suggested by enami@sys.ptg.sony.co.jp.

Revision 1.11: download - view: text, markup, annotated - select for diffs
Sun Apr 9 06:03:10 1995 UTC (16 years, 10 months ago) by davidg
Branches: MAIN
CVS tags: RELENG_2_1_0_BP, RELENG_2_0_5_RELEASE, RELENG_2_0_5_BP, RELENG_2_0_5_ALPHA, RELENG_2_0_5
Branch point for: RELENG_2_1_0
Diff to: previous 1.10: preferred, colored
Changes since revision 1.10: +2 -2 lines
Changes from John Dyson and myself:

Fixed remaining known bugs in the buffer IO and VM system.

vfs_bio.c:
Fixed some race conditions and locking bugs. Improved performance
by removing some (now) unnecessary code and fixing some broken
logic.
Fixed process accounting of # of FS outputs.
Properly handle NFS interrupts (B_EINTR).

(various)
Replaced calls to clrbuf() with calls to an optimized routine
called vfs_bio_clrbuf().

(various FS sync)
Sync out modified vnode_pager backed pages.

ffs_vnops.c:
Do two passes: Sync out file data first, then indirect blocks.

vm_fault.c:
Fixed deadly embrace caused by acquiring locks in the wrong order.

vnode_pager.c:
Changed to use buffer I/O system for writing out modified pages. This
should fix the problem with the modification date previous not getting
updated. Also dramatically simplifies the code. Note that this is
going to change in the future and be implemented via VOP_PUTPAGES().

vm_object.c:
Fixed a pile of bugs related to cleaning (vnode) objects. The performance
of vm_object_page_clean() is terrible when dealing with huge objects,
but this will change when we implement a binary tree to keep the object
pages sorted.

vm_pageout.c:
Fixed broken clustering of pageouts. Fixed race conditions and other
lockup style bugs in the scanning of pages. Improved performance.

Revision 1.10: download - view: text, markup, annotated - select for diffs
Fri Feb 3 06:46:21 1995 UTC (17 years ago) by davidg
Branches: MAIN
Diff to: previous 1.9: preferred, colored
Changes since revision 1.9: +3 -1 lines
Fixed bmap run-length brokeness.
Use bmap run-length extension when doing clustered paging.

Submitted by:	John Dyson

Revision 1.9: download - view: text, markup, annotated - select for diffs
Mon Nov 14 13:22:52 1994 UTC (17 years, 3 months ago) by bde
Branches: MAIN
CVS tags: RELEASE_2_0, OLAH_TTCP, BETA_2_0
Diff to: previous 1.8: preferred, colored
Changes since revision 1.8: +1 -2 lines
Undo a previous change.  <sys/disklabel.h> was broken, not these files.

Revision 1.8: download - view: text, markup, annotated - select for diffs
Fri Oct 28 12:41:59 1994 UTC (17 years, 3 months ago) by jkh
Branches: MAIN
CVS tags: ALPHA_2_0
Diff to: previous 1.7: preferred, colored
Changes since revision 1.7: +2 -1 lines
From: fredriks@mcs.com (Lars Fredriksen)
...
It turns out that these files do not include <sys/dkbad.h> before
<sys/disklabel.h>.
Submitted by:	fredriks

Revision 1.7: download - view: text, markup, annotated - select for diffs
Mon Oct 10 07:55:41 1994 UTC (17 years, 4 months ago) by phk
Branches: MAIN
Diff to: previous 1.6: preferred, colored
Changes since revision 1.6: +7 -3 lines
Cosmetics.  reduce the noise from gcc -Wall.

Revision 1.6: download - view: text, markup, annotated - select for diffs
Thu Oct 6 21:06:46 1994 UTC (17 years, 4 months ago) by davidg
Branches: MAIN
Diff to: previous 1.5: preferred, colored
Changes since revision 1.5: +2 -2 lines
Use tsleep() rather than sleep so that 'ps' is more informative about
the wait.

Revision 1.5: download - view: text, markup, annotated - select for diffs
Wed Sep 21 03:47:09 1994 UTC (17 years, 4 months ago) by wollman
Branches: MAIN
Diff to: previous 1.4: preferred, colored
Changes since revision 1.4: +3 -1 lines
Implemented loadable VFS modules, and made most existing filesystems
loadable.  (NFS is a notable exception.)

Revision 1.4: download - view: text, markup, annotated - select for diffs
Mon Aug 8 09:11:36 1994 UTC (17 years, 6 months ago) by davidg
Branches: MAIN
Diff to: previous 1.3: preferred, colored
Changes since revision 1.3: +1 -4 lines
Changed B_AGE policy to work correctly in a world with relatively large
buffer caches. The old policy generally ended up caching nothing.

Revision 1.3: download - view: text, markup, annotated - select for diffs
Tue Aug 2 07:45:27 1994 UTC (17 years, 6 months ago) by davidg
Branches: MAIN
Diff to: previous 1.2: preferred, colored
Changes since revision 1.2: +1 -0 lines
Added $Id$

Revision 1.2: download - view: text, markup, annotated - select for diffs
Wed May 25 09:08:50 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: MAIN
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +16 -0 lines
The big 4.4BSD Lite to FreeBSD 2.0.0 (Development) patch.

Reviewed by:	Rodney W. Grimes
Submitted by:	John Dyson and David Greenman

Revision 1.1.1.1 (vendor branch): download - view: text, markup, annotated - select for diffs
Tue May 24 10:05:13 1994 UTC (17 years, 8 months ago) by rgrimes
Branches: CSRG
CVS tags: bsd_44_lite, REL_before_johndavid_2_0_0
Diff to: previous 1.1: preferred, colored
Changes since revision 1.1: +0 -0 lines
BSD 4.4 Lite Kernel Sources

Revision 1.1: download - view: text, markup, annotated - select for diffs
Tue May 24 10:05:12 1994 UTC (17 years, 8 months ago) by rgrimes
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