Commit Graph

43524 Commits

Author SHA1 Message Date
Peter Wemm
9029b6442a Use the -c and -h args of vnode_if.sh to generate only the .h file that
we use.  The .c half is statically compiled into the kernel.  It's kinda
silly to generate a .h file on the fly that has inlines to call the
.c stuff when the .c code is fixed.

Also, zap the special treatment for VFS_KLD modules.  This treatment
applies to lots of things, not just VFS's.
1999-12-12 16:45:58 +00:00
Matthew Dillon
c7ba5d0b3e Make the cvs-supfile cover the entire repository - add the doc hierarchy.
Approved by: jkh
1999-12-12 16:44:26 +00:00
Peter Wemm
6f77b2defc Use a seperate -c and -h mode. The vnode_if.c file is compiled only into
the kernel while the vnode_if.h header is a bunch of inlines to call the
code that is in the kernel. Generating the .h file on the fly is kinda
bogus because it has to match the one compiled into the kernel.

IMHO we should have kern/vnode_if.c and sys/vnode_if.h committed in the
tree but that's another battle.
1999-12-12 16:43:05 +00:00
Peter Wemm
cfdd238335 Put on asbestos suit and put a splcam() around the 'Mounting root from..'
message to stop it splitting.  Every single scsi machine I've seen seems
to reliably collide with this and it's rather annoying.
1999-12-12 16:34:43 +00:00
Peter Wemm
016fc47da3 The sysctl mod_xx hack is no longer required now that we have totally
dynamic sysctl registration.
1999-12-12 16:30:34 +00:00
Peter Wemm
acf5b0bacb Remove some horrible #if 0'd code that has no hope of working now. It
used to edit the old-style isa_devtab config tables to insert a mapping
for a pci device into the isa tables so that the wdc driver could probe
it later.  This has been #if 0'd since April.
1999-12-12 14:47:23 +00:00
Peter Wemm
bfc8775abb Turn on warnings for the wd* driver with a loud pointer to ata*. This
doesn't break builds, but is difficult to miss..
1999-12-12 14:31:40 +00:00
Mark Newton
268b6cb68e Replace the svr4_sys_getdents64() routine with a port of linux_getdents() --
differences between the VFS interface between FreeBSD and NetBSD make
it easier to pick up the Linux one than to continue development with the
NetBSD port.

This patch fixes a bug which caused duplicate filenames to be seen by
callers to svr4_sys_getdents64(), leading to malformed directory listings
from Solaris client programs.

Obtained from:	The Linuxulator, with a pointer from marcel
1999-12-12 11:25:33 +00:00
Mark Newton
84fbe5a0ba Avoid excessive redundancy in svr4_sys_getmsg() and svr4_sys_putmsg():
Only look up the provided descriptor in fd_ofiles[] once.

Submitted by:	Ville-Pertti Keinone <will@iki.fi>
1999-12-12 10:28:30 +00:00
Mark Newton
ce12799bad fd_revoke() shouldn't panic if the descriptor provided is not a file or
socket.  Return EINVAL instead.

Submitted by:	Ville-Pertti Keinone <will@iki.fi>
1999-12-12 10:27:04 +00:00
Matthew Dillon
c137e096c2 Add blurb on massive improvements to NFS
Reviewed by:	jkh
1999-12-12 09:53:11 +00:00
Peter Wemm
e44b832ddd Add a 'warning' option for the files* files. This is intended to enable
giving a dire warning about certain drivers going away in the future.
1999-12-12 09:38:48 +00:00
Bill Fumerola
ee63d901b3 -Wall fixes. 1999-12-12 07:25:14 +00:00
Matthew Dillon
5f3bfd608d Fix a number of server-side issues related to aborting badly formed
NFS packets, mainly initializing structure pointers to NULL which
    are conditionally freed prior to return.

PR:		kern/15249
Submitted by:	Ian Dowse <iedowse@maths.tcd.ie>
1999-12-12 07:06:39 +00:00
Bill Fumerola
76df653e3d -Wall fixes. 1999-12-12 06:40:28 +00:00
Bill Fumerola
c9914211a1 -Wall fixes. 1999-12-12 06:30:46 +00:00
Bill Fumerola
6636c9afd0 -Wall fixes. 1999-12-12 06:17:25 +00:00
Matthew Dillon
ea94c7b968 Synopsis of problem being fixed: Dan Nelson originally reported that
blocks of zeros could wind up in a file written to over NFS by a client.
    The problem only occurs a few times per several gigabytes of data.   This
    problem turned out to be bug #3 below.

    bug #1:

        B_CLUSTEROK must be cleared when an NFS buffer is reverted from
        stage 2 (ready for commit rpc) to stage 1 (ready for write).
        Reversions can occur when a dirty NFS buffer is redirtied with new
        data.

        Otherwise the VFS/BIO system may end up thinking that a stage 1
        NFS buffer is clusterable.  Stage 1 NFS buffers are not clusterable.

    bug #2:

        B_CLUSTEROK was inappropriately set for a 'short' NFS buffer (short
        buffers only occur near the EOF of the file).  Change to only set
        when the buffer is a full biosize (usually 8K).  This bug has no
        effect but should be fixed in -current anyway.  It need not be
        backported.

    bug #3:

        B_NEEDCOMMIT was inappropriately set in nfs_flush() (which is
	typically only called by the update daemon).  nfs_flush()
        does a multi-pass loop but due to the lack of vnode locking it
        is possible for new buffers to be added to the dirtyblkhd list
        while a flush operation is going on.  This may result in nfs_flush()
        setting B_NEEDCOMMIT on a buffer which has *NOT* yet gone through its
        stage 1 write, causing only the commit rpc to be made and thus
        causing the contents of the buffer to be thrown away (never sent to
        the server).

    The patch also contains some cleanup, which only applies to the commit
    into -current.

Reviewed by:	dg, julian
Originally Reported by: Dan Nelson <dnelson@emsphone.com>
1999-12-12 06:09:57 +00:00
Boris Popov
6f6da2f326 Bump local version number to 1.3.4. 1999-12-12 05:53:02 +00:00
Brian Feldman
f48b807fc0 This is Bosko Milekic's mbuf allocation waiting code. Basically, this
means that running out of mbuf space isn't a panic anymore, and code
which runs out of network memory will sleep to wait for it.

Submitted by:	Bosko Milekic <bmilekic@dsuper.net>
Reviewed by:	green, wollman
1999-12-12 05:52:51 +00:00
Boris Popov
a58f6db677 Update to version 1.3.4 of ncplib. Cleanup header files. 1999-12-12 05:50:07 +00:00
Jordan K. Hubbard
404f4d4100 I shouldn't have incremented PART_OFF; it was wrong and broke label
display to boot.  Also fix some various warning fluff while I'm in
here cleaning up.
1999-12-12 04:58:02 +00:00
Justin T. Gibbs
e0b0c6aad5 When booting verbose, indicate if we are using manual termination
settings for U2 cards.

Don't assume that all aic7859 cards are 2930CUs.
1999-12-12 04:54:14 +00:00
Brian Feldman
6301c76378 Move the wakeup_one() prototype from proc.h to systm.h. It now hangs
out with it's sibling, wakeup().
1999-12-12 04:21:27 +00:00
Yoshihiro Takahashi
845eb5375c Build a.out tools if MACHINE_ARCH == i386 and MACHINE == pc98.
The boot2 for pc98 is still a.out program.

I made the original patch, and many problems were fixed by Marcel Moolenaar.
1999-12-12 03:54:58 +00:00
Matthew Dillon
3854a87ef3 Remove accidental pollution unrelated to previous commit. The issue
here is real but has not yet been discussed with Eivind.
1999-12-12 03:28:14 +00:00
Bill Fumerola
588a09b4fb -Wall fixes. 1999-12-12 03:22:37 +00:00
Matthew Dillon
4f79d873c1 Add MAP_NOSYNC feature to mmap(), and MADV_NOSYNC and MADV_AUTOSYNC to
madvise().

    This feature prevents the update daemon from gratuitously flushing
    dirty pages associated with a mapped file-backed region of memory.  The
    system pager will still page the memory as necessary and the VM system
    will still be fully coherent with the filesystem.  Modifications made
    by other means to the same area of memory, for example by write(), are
    unaffected.  The feature works on a page-granularity basis.

    MAP_NOSYNC allows one to use mmap() to share memory between processes
    without incuring any significant filesystem overhead, putting it in
    the same performance category as SysV Shared memory and anonymous memory.

Reviewed by: julian, alc, dg
1999-12-12 03:19:33 +00:00
Bill Fumerola
8828590563 -Wall fixes. 1999-12-12 03:04:17 +00:00
Chris Costello
3d0da07c1e Finally give mk_cmds(1) a man page.
PR:		docs/4691
Submitted by:	Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>
1999-12-12 02:43:07 +00:00
Cameron Grant
d4a72b067c make sb dependant on sbc
add support for non-pnp cards to sbc
move card identification to sbc
channel-swapping code is in sb now instead of dsp
vibra16x support is still broken, but will be fixed soon

note: sbc is now compulsory for sb cards

for pnp cards use:
device sbc0

for non-pnp cards eg:
device sbc0 at isa? port 0x240 irq 5 drq 3 flags 0x15
(hints as oldpcm)

both in addition to:
device pcm0

Reviewed by:	tanimura,dfr
Said he liked it: peter
1999-12-12 02:30:19 +00:00
Bill Fumerola
fefaab10f0 -Wall cleanup. 1999-12-12 02:29:54 +00:00
Cameron Grant
0927bf4365 move channel-swapping support to the hardware driver since it knows the card
state best
1999-12-12 02:18:58 +00:00
Cameron Grant
dedf4424a0 increase buffer size, reduce number of channels allocated since we only use
1 at the moment
1999-12-12 02:16:14 +00:00
David E. O'Brien
278bd49cc8 Suport multiple ``ifconfig_*?="DHCP"'' configurations.
Currently we have a problem in that `dhclient' bails when configuring the
second interface as port 68 is already in use (by the `dhclient' started
for the first interface).

PR:		14810
Submitted by:	n_hibma
1999-12-12 01:58:30 +00:00
David E. O'Brien
378ece9d7b Do not add routes for localhost to the `dhclient' controlled interface.
Doing so is bogus if the loop-back interface was not configured.

Typically ``network_interfaces="auto"'' will return the list of
interfaces such that "lo0" is not first.  Thus there are times when
`dhclient' configs an interface before "lo0" is configured.

Under BSD4.4, there's no need to add the above route, as it will be
automatically generated by the kernel.

PR:		conf/14098, misc/15183
Submitted by:	luoqi (true identification of the problem)
1999-12-12 01:04:36 +00:00
Kenneth D. Merry
223b7a2363 Quirk all Pioneer changers as changers up front, instead of waiting for the
second LUN to show up.

mjacob's change (which is correct) in rev 1.21 of cam_periph.c to elminiate
infinite retries of the SCSI busy status bit seems to have broken probing
of Pioneer changers that aren't already quirked.

The right way to fix this is probably to change things around so we can
guarantee 100% sequential probing of LUN-based changers even if they aren't
quirked.  This should fix things for now, though.
1999-12-11 23:00:44 +00:00
Daniel C. Sobral
1c5febb12c Trim to 24 lines. Yeah, I know, looks ugly. 1999-12-11 22:31:50 +00:00
Daniel C. Sobral
940f9e5ea4 Add reference to hier(7). This gets motd just over 25 lines. I'm
don't like it, but I think this can greatly ease the learning curve
of Linux-immigrants.

Approved by: jkh
1999-12-11 21:43:38 +00:00
Peter Wemm
2c3311bb47 reactivate cvs subdir build 1999-12-11 17:32:07 +00:00
Marcel Moolenaar
3f2aa30a37 Don't add MACHINE_ARCH to MAKEOBJDIRPREFIX when not cross-building.
This should fix make release.

Reported by: jhay, phk
1999-12-11 17:05:36 +00:00
Eivind Eklund
6bdfe06ad9 Lock reporting and assertion changes.
* lockstatus() and VOP_ISLOCKED() gets a new process argument and a new
  return value: LK_EXCLOTHER, when the lock is held exclusively by another
  process.
* The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them
* Extend the vnode_if.src format to allow more exact specification than
  locked/unlocked.

This commit should not do any semantic changes unless you are using
DEBUG_VFS_LOCKS.

Discussed with:	grog, mch, peter, phk
Reviewed by:	peter
1999-12-11 16:13:02 +00:00
Peter Wemm
47e98476fe Update files generated by configure. 1999-12-11 15:12:37 +00:00
John Polstra
740ab0e829 Something went wrong with an earlier commit and these files ended up
empty.  Fix that with help from grog.
1999-12-11 15:12:31 +00:00
Peter Wemm
8bd88c453b Unmangle cvs's MD5* calls. 1999-12-11 15:10:02 +00:00
Peter Wemm
5e84812fa3 Take a shot at using mkstemp() since we have a __warn_references() on
the other temporary file creation functions..
1999-12-11 14:58:02 +00:00
Peter Wemm
5f02be00bc While comparing this with OpenBSD (ie: trying to figure out what mkstemps()
is good for... :-)), I discovered that part of the change when mkstemps()
was brought in was missed - it was missing the termination case to make
sure it doesn't walk into the suffix.  This isn't the same code OpenBSD
has, I think this is a little better as we terminate the loop in a better
spot.
1999-12-11 14:48:24 +00:00
Greg Lehey
04ba40bc02 Check in correct versions of files. Somehow null files got committed
last time.

There's a possibility that there are still things wrong with the
commit.  I wasn't able to build the version I committed, and I won't
be for another few days.  If any committer finds further omissions,
the original source archive is on freefall:~grog/picobsd.tar.gz.  Feel
free to correct.

Reported-by: "Louis A. Mamakos" <louie@TransSys.COM>
1999-12-11 14:27:12 +00:00
Marcel Moolenaar
b3682048b6 Install include files with mode 444. 1999-12-11 13:38:04 +00:00
Peter Wemm
337c65c54d Merge error. rcs_lockfile is freed after unlock. 1999-12-11 13:19:17 +00:00