Commit Graph

140 Commits

Author SHA1 Message Date
perry 730baa7431 fix sizeofs so they comply with the KNF style guide. yes, it is pedantic. 1998-07-31 22:50:48 +00:00
kleink 636443752e Nuke a couple of non-local prototypes which are already declared in either
<sys/buf.h>, <sys/mount.h> or <sys/vnode.h>.
1998-06-08 15:52:07 +00:00
kleink 382743ada3 Convert fsync vnode operator implementations and usage from the old `waitfor'
argument and MNT_WAIT/MNT_NOWAIT to `flags' and FSYNC_WAIT.
1998-06-05 19:53:00 +00:00
pk d0e85dde99 Inline vref/vrele in vclean() because:
* we already have the vnode interlock, so vref() should not ask for it again.
* we call VOP_RECLAIM/VOP_INACTIVE(), which shouldn't be duplicated in vrele().
1998-05-18 14:59:49 +00:00
pk addb5d9572 VOP_CLOSE() takes F* flags, not IO_* flags. 1998-05-08 21:02:35 +00:00
thorpej 7a239c12c6 In vfs_unmountall(), if curproc is NULL, abort, because unmounting
puts the requesting process to sleep until the file systems buffers
have flushed, and sleeping with a NULL curproc will cause a fault.
1998-04-26 19:10:33 +00:00
thorpej cbc64bb02d Make vfs_shutdown() look a little nicer. 1998-04-26 18:58:54 +00:00
fvdl 1d02bb10d8 Clarify vget() comment a bit. 1998-03-04 09:13:48 +00:00
thorpej 9ebbb62608 Export spechash_slock; it's used outside of vfs_subr.c 1998-03-03 02:22:00 +00:00
ross 94ae870894 Compile post-lite2 with #ifndef DIAGNOSTIC 1998-03-01 09:51:29 +00:00
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
thorpej d1f0dbf1b1 Don't use vfssw[], it's gone; use vfs_list instead.
Implement vfs_attach() and vfs_detach(), which add and remove file systems
from the kernel.
1998-02-18 07:16:41 +00:00
mrg d90485202c - add defopt's for UVM, UVMHIST and PMAP_NEW.
- remove unnecessary UVMHIST_DECL's.
1998-02-10 14:08:44 +00:00
mrg 1a8c7604f4 initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some
minor portions derived from the old Mach code.  i provided some help
getting swap and paging working, and other bug fixes/ideas.  chuck
silvers <chuq@chuq.com> also provided some other fixes.

this is the rest of the MI portion changes.

this will be KNF'd shortly.  :-)
1998-02-05 07:59:28 +00:00
christos 3c07a14a75 Separate assigments of tv_sec and tv_nsec since tv_sec is a time_t (int on
the alpha) and tv_nsec is a long.
1997-10-18 16:34:17 +00:00
enami acd4cefee0 In the function vattr_null(), assign each member individually
to prevent unintended conversion due to different sign and size.
1997-10-18 11:51:32 +00:00
thorpej 176a81b2c5 Copyright assigned to The NetBSD Foundation. 1997-10-05 18:37:01 +00:00
thorpej a2721a0f1b In vfs_shutdown(), do the "sync and wait for it to finish" _before_
unmounting all of the file systems.  If we encounter a condition where
all of the dirty buffers could not flush, then don't unmount file systems,
since it might be likely to wedge.
1997-09-24 21:40:55 +00:00
fvdl 4ad51c2811 Allow multiple export requests for a filesystem, host pair if the flags and
anon cred are the same. Should probably be handled better in the mountd,
but this will do for now. Fixes PR 469, submitted Sept 1994 by
a certain "Jason R. Thorpe".. ;-)
1997-07-20 23:31:32 +00:00
fvdl 4702f17abc Add functions to set/reset the info about the publicly exported
(WebNFS) filesystem. At first glance this should go into the
NFS code, but all the other export code is here as well.
1997-06-24 23:43:33 +00:00
cgd 21bbd49bf2 in vfs_shutdown(), print "syncing disks... " before dropping to spl0(),
so that if the drop to spl0() causes another panic (e.g. because there's
still some fatal hardware interrupt that's pending) we'll know that we
dropped IPL to sync the disks.
1997-06-07 17:27:57 +00:00
mycroft 06fb68217b Oops; fix reversed test for VDIR. 1997-05-08 16:34:54 +00:00
mycroft e3f99a9397 Pass the vnode type to vaccess(), and use it when checking VEXEC. Make sure
that the mode bits passed to vaccess() and returned by foo_getattr() contain
only permission bits.
1997-05-08 16:19:43 +00:00
mycroft 8f5978a181 GC VS[UG]ID and VSVTX, and add a new VLOOKUP, since the semantics are now
different from VEXEC.
1997-05-08 10:21:35 +00:00
mycroft c32418bf82 Fix error in vfs_hang_addrlist() that caused file systems to be exported
to more subnets than expected when using netmasks.  From Mike Hibler.
1997-04-25 02:43:10 +00:00
mycroft 5e62a0725b Change previous test slightly. 1997-04-23 20:19:45 +00:00
mycroft b34794e10f Do not return success when checking for execute permission by super-user and no
execute bits are set.  Also, this test is no longer needed in execve(2).
1997-04-23 20:18:16 +00:00
mycroft 6911ff7d13 Fix two performance issues:
* When a delayed write buffer falls off the LRU queue, arrange for it to go on
  the AGE queue after being flushed out to disk.
* When a delayed write buffer is synced, leave it in its relative position in
  the LRU queue.
1997-04-09 21:12:10 +00:00
kleink 5ec0772a62 In checkalias(), initialize the speclockf structure member invented
with the specfs advisory locking support; this could cause a panic.
1997-04-03 23:15:52 +00:00
fvdl 501f1a3eb9 Do previous change properly (pasto; should have been inside the loop). 1997-02-23 00:07:18 +00:00
fvdl 0538233e2c Implement changes to make fix for NQNFS and MFS unmounting (race conditions)
work. Not quite as good as with the Lite2 merges, but it'll do until then.

* dounmount() expects to be called with the mountpoint marked busy
* all callers of dounmount() thus make the call themselves
* if a filesystem was being unmounted, and we're woken up in vfs_busy(),
  don't reference the mountpoint struct pointer, as it has very probably
  been freed.
1997-02-22 03:22:32 +00:00
thorpej 2ca27c5550 Garbage-collect "argdev". 1997-01-31 19:10:27 +00:00
thorpej 68de7ca719 - Implement vfs_mountroot(). This function is called my main() to
mount the root file system.  If the operator specified the root
  file system type in the kernel configuration file, attempt to
  mount that file system type on the root device.  If the root
  file system type was wildcarded (or unspecified), try all of
  the file systems statically built into the kernel until one
  succeeds.  If no file systems succeed, return an error.  The
  system will recover from this condition.
- Implement vfs_getopsbyname().  This function returns the file
  system ops vector given a file system name.
1997-01-31 02:50:36 +00:00
christos f443b89c92 backout previous kprintf change 1996-10-13 02:32:29 +00:00
christos 60d201973e printf -> kprintf, sprintf -> ksprintf 1996-10-10 22:46:11 +00:00
cgd 60b9a20b61 initialize vnode_free_list and mountlist at compile time with the new
queue.h list/queue head initializer macros.  mountlist was converted so
that panics (or other reboots) early on in kernel startup don't cause
sys_sync() to croak.  vnode_free_list was converted because it was nearby.
1996-10-01 22:49:11 +00:00
jtk ef561b71a7 print out file systems being unmounted, #ifdef DEBUG. pr#1492 1996-06-01 20:24:05 +00:00
christos 4ef330b934 remove include of <sys/cpu.h> 1996-04-22 01:38:12 +00:00
christos c9e746a335 Fix printf() formats. 1996-03-16 23:17:04 +00:00
christos 09afd77655 More proto fixes 1996-02-09 18:59:18 +00:00
christos e630447d8c First pass at prototyping 1996-02-04 02:17:43 +00:00
jtc e19bfae4f9 Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:18:04 +00:00
mycroft 436d930db5 Use insmntque() rather than manually frobbing the mount list. 1996-01-30 18:21:08 +00:00
mycroft 245f292fed Prefix names of system call implementation functions with `sys_'. 1995-10-07 06:25:19 +00:00
mycroft 083ba962e2 Oops; need fcntl.h. 1995-07-03 16:58:38 +00:00
mycroft 9a4505cb89 Close routines take file flags, not I/O flags. Fix two incorrect usages. 1995-07-02 18:13:02 +00:00
jtc 95ded74f58 Moved egid credential from cr_groups[0] to new field cr_gid. POSIX.1
requires that sgid executables and the setuid() syscall *not* change
the supplemental group list.
1995-06-01 22:43:30 +00:00
mycroft 78356f06b3 Add two vprint()s, to give more informative panic messages. 1995-05-04 03:11:06 +00:00
mycroft 954487037b Rearrange vfs_shutdown() slightly. 1995-04-21 22:09:53 +00:00
mycroft 84f803aef6 Add a return type for vaccess(). 1995-04-21 22:03:24 +00:00
mycroft f51cb8c974 Print a message for each file system that does not unmount cleanly. Add a
vfs_shutdown() routine that does the unmount and sync.
1995-04-21 21:55:11 +00:00
mycroft 6cabaea642 Define vfs_unmountall(), to unmount file systems at shutdown time. 1995-04-10 19:46:56 +00:00
mycroft 9843f45605 Turn mountlist into a CIRCLEQ, and handle setting and checking of MNT_ROOTFS
differently.
1995-01-18 06:19:49 +00:00
cgd 7fb59862ff undo charles's accidental changes. 1995-01-15 09:23:05 +00:00
mycroft d903b2aa28 Remove unused extern. 1995-01-09 19:54:28 +00:00
ws 2f0fb8ee09 Implement and use a common access checking routine 1994-12-24 16:44:12 +00:00
cgd f3dc337d8a fix done in rev. 1.23 over again. it was clobbered, and problem masked 1994-07-10 05:53:25 +00:00
deraadt 318b9c6b63 limit st_dev to 15 bits set for nfs filesystems 1994-07-02 04:51:18 +00:00
cgd cf92afd66e New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:29:24 +00:00
mycroft 33d82e8a8b Move definition of prtactive. 1994-06-13 15:37:55 +00:00
mycroft 699bbb84b6 Update to 4.4-Lite fs code. 1994-06-08 11:28:29 +00:00
cgd 91cf0fbaf3 copyright foo 1994-05-17 04:21:49 +00:00
cgd e15a2ee17e sysctl update 1994-05-07 00:53:37 +00:00
cgd d071d1cf05 some prototype cleanup, eliminate/replace bogus types (e.g. quad and
u_quad) -> use better types (e.g. quad_t & u_quad_t in inodes),
some cleanup.
1994-04-25 03:49:27 +00:00
cgd b1f4730729 some more queue code (that's #ifdef DEBUG) 1994-04-23 08:41:05 +00:00
cgd 4917d8beec make fs types consistent over new kernels. also, some proto foo. 1994-04-23 07:54:38 +00:00
cgd 3dda0064a5 Convert mount, vnode, and buf structs to use <sys/queue.h>. Also,
some knf and structure frobbing to do along with it.
1994-04-21 07:47:31 +00:00
cgd 3fe93ccc24 don't let cons dev vnode get subsumed by a 'real' vnode. the current
scheme of vnode aliasing just *has* to go.
1994-04-18 21:03:14 +00:00
cgd 4be7b669e2 fs types are names now; accompanying changes. 1994-04-14 04:05:28 +00:00
mycroft 6076d8a10d Fix typo. 1994-04-12 02:23:14 +00:00
mycroft 0600b23926 Remove a bogus optimization I did. 1994-04-11 23:43:04 +00:00
cgd 913fdbc06d slight optimization, kill unnecessary label. 1994-04-11 22:03:17 +00:00
mycroft 3b2b4bc307 Add some comments. 1994-04-11 21:54:29 +00:00
mycroft bfefadcc74 vcount(): Don't try to vgone() our argument. 1994-04-11 21:37:10 +00:00
ws 044478d0f7 Ooops. Forgot to move something. 1994-03-18 20:15:39 +00:00
ws ce516ff13d Make FFS optional 1994-03-09 21:21:37 +00:00
cgd 42d0ba8c0a move getnewfsid() to where jsp says it belongs. update for header
files; clear new field and delete old vtype name.
1993-12-22 13:51:14 +00:00
cgd bdabe240d0 replace VREF as appropriate to avoid logical recusion 1993-12-20 10:42:39 +00:00
cgd 842286f9c4 make searching a bit easier 1993-12-20 05:42:37 +00:00
mycroft 7f50bd1829 Canonicalize all #includes. 1993-12-18 04:21:37 +00:00
pk 9610135cb8 Do the right thing when arguments are NULL.
Don't leave filesystems marked busy after copyout() errors.
1993-12-09 18:00:18 +00:00
cgd 5838270f1e patch from Ukai Fumitoshi <ukai@kmc.kyoto-u.ac.jp>
to do the right thing with NFS fsid's and getnewfsid()
1993-11-19 02:31:23 +00:00
cgd 76dbc1192b new specfs.h and fifo.h locations 1993-11-12 05:54:12 +00:00
pk 0732d8a8b1 Added VPROC to vprint()'s vnode type representation array. 1993-08-26 18:57:02 +00:00
cgd 4543c1ebfd changes from 0.9-ALPHA2 to 0.9-BETA 1993-08-23 04:59:38 +00:00
mycroft 4862b84c92 Add RCS identifiers (this time on the correct side of the branch), and
incorporate recent changes in netbsd-0-9 branch.
1993-08-01 19:22:24 +00:00
andrew 0e6cb953ea ANSIfications - removed all implicit function return types and argument
definitions.  Ensured that all files include "systm.h" to gain access to
general prototypes.  Casts where necessary.
1993-06-27 06:01:27 +00:00
cgd 230dcf0d05 add $Id$ strings, and clean up file headers where necessary 1993-05-20 02:54:09 +00:00
cgd 93156ce06e modified files to support kernfs and fdesc fs 1993-03-23 23:56:07 +00:00
cgd 61f282557f initial import of 386bsd-0.1 sources 1993-03-21 09:45:37 +00:00