Commit Graph

89 Commits

Author SHA1 Message Date
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