jdolecek
b6d1d4db02
Change the first arg to fileops fo_stat routine to struct file *, adjust
...
callers and appropriate routines to cope. This makes fo_stat more
consistent with rest of fileops routines and also makes the fo_stat
match FreeBSD as an added bonus.
Discussed with Luke Mewburn on tech-kern@.
2001-04-09 10:22:00 +00:00
jdolecek
16b1272b3f
Add new 'stat' fileop and call the stat function via f_ops rather
...
than directly.
For compat syscalls, also add necessary FILE_USE()/FILE_UNUSE().
Now that soo_stat() gets a proc arg, pass it on to usrreq function.
2001-04-07 09:00:57 +00:00
chs
83d071a318
add UBC memory-usage balancing. we track the number of pages in use for
...
each of the basic types (anonymous data, executable image, cached files)
and prevent the pagedaemon from reusing a given page if that would reduce
the count of that type of page below a sysctl-setable minimum threshold.
the thresholds are controlled via three new sysctl tunables:
vm.anonmin, vm.vnodemin, and vm.vtextmin. these tunables are the
percentages of pageable memory reserved for each usage, and we do not allow
the sum of the minimums to be more than 95% so that there's always some
memory that can be reused.
2001-03-09 01:02:10 +00:00
chs
aeda8d3b77
Initial integration of the Unified Buffer Cache project.
2000-11-27 08:39:39 +00:00
sommerfeld
861fcc44b7
Use ltsleep(...,PNORELOCK..) instead of simple_unlock()/tsleep()
2000-08-12 16:43:00 +00:00
mrg
32aa199ccf
remove include of <vm/vm.h>
2000-06-27 17:41:07 +00:00
chs
a6d33cc1f2
add a new function vn_marktext() for exec code to let others know
...
that the vnode is now being used as process text.
2000-04-11 04:37:47 +00:00
augustss
264f1d27c6
Get rid of register declarations.
2000-03-30 09:27:11 +00:00
simonb
6fa443065b
Delete redundant decl of union_vnodeop_p, it's in <miscfs/union/union.h>.
2000-03-30 02:15:09 +00:00
fvdl
fe39281ea4
Fixes to the softdep code from Ethan Solomita <ethan@geocast.com>.
...
* Fix buffer ordering when it has dependencies.
* Alleviate memory problems.
* Deal with some recursive vnode locks (sigh).
* Fix other bugs.
2000-02-14 22:00:21 +00:00
bouyer
051211ffa9
Add a new flag, used by vn_open() which prevent symlinks from being followed
...
at open time. Use this to prevent coredump to follow symlinks when the
kernel opens/creates the file.
1999-08-31 12:30:35 +00:00
wrstuden
3bf14d81e9
Add support for fcntl(2) to generate VOP_FCNTL calls. Any fcntl
...
call with F_FSCTL set and F_SETFL calls generate calls to a new
fileop fo_fcntl. Add genfs_fcntl() and soo_fcntl() which return 0
for F_SETFL and EOPNOTSUPP otherwise. Have all leaf filesystems
use genfs_fcntl().
Reviewed by: thorpej
Tested by: wrstuden
1999-08-03 20:19:16 +00:00
mycroft
0622545249
Previous change to vn_lock() was bogus. If we got EDEADLK, it was from
...
lockmgr(), and it already unlocked v_interlock. So, just return in this case.
1999-03-31 18:30:13 +00:00
wrstuden
bd2d8363bc
The mode for a node is a mode_t in both struct stat and struct vattr -
...
don't use a u_short for intermediate storage in vn_stat.
1999-03-30 00:16:44 +00:00
sommerfe
f1a508e354
Prevent deadlock cited in PR4629 from crashing the system. (copyout
...
and system call now just return EFAULT). A complete fix will
presumably have to wait for UBC and/or for vnode locking protocols to
be revamped to allow use of shared locks.
1999-03-25 00:20:35 +00:00
mrg
d2397ac5f7
completely remove Mach VM support. all that is left is the all the
...
header files as UVM still uses (most of) these.
1999-03-24 05:50:49 +00:00
wrstuden
0078fc50dc
Modify VOP_CLOSE vnode op to always take a locked vnode. Change vn_close
...
to pass down a locked node. Modify union_copyup() to call VOP_CLOSE
locked nodes.
Also fix a bug in union_copyup() where a lock on the lower vnode would
only be released if VOP_OPEN didn't fail.
1999-02-26 23:38:55 +00:00
kleink
b7877d3fc0
Implement support for IEEE Std 1003.1b-1993 syncronous I/O:
...
* if synchronized I/O file integrity completion of read operations was
requested, set IO_SYNC in the ioflag passed to the read vnode operator.
* if synchronized I/O data integrity completion of write operations was
requested, set IO_DSYNC in the ioflag passed to the write vnode operator.
1998-08-02 18:39:14 +00:00
thorpej
6326c90134
Change the "aresid" argument of vn_rdwr() from an int * to a size_t *,
...
to match the new uio_resid type.
1998-07-28 18:37:47 +00:00
thorpej
a4a34ba74a
Add two additional arguments to the fileops read and write calls, a
...
pointer to the offset to use, and a flags word. Define a flag that
specifies whether or not to update the offset passed by reference.
1998-06-30 05:33:11 +00:00
fvdl
e5bc90f40c
Merge with Lite2 + local changes
1998-03-01 02:20:01 +00:00
thorpej
2fc4c3415a
Include the UNION option header.
1998-02-19 00:53:46 +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
thorpej
561056f2e2
Grab a fix from 4.4BSD-Lite2: open(2) with O_FSYNC and MNT_SYNCHRONOUS
...
had not effect. Fix: check for either of these flags in vn_write(),
and pass IO_SYNC down if they're set.
1998-01-14 22:08:44 +00:00
fvdl
541b204984
Add vn_readdir function for use in both the old getdirentries and
...
the new getdents(). Add getdents().
1997-10-10 02:09:30 +00:00
mycroft
13ca4f0381
Do not return generation counts to the user.
1997-03-24 21:44:53 +00:00
mycroft
2bc736661a
Implement poll(2).
1996-09-07 12:40:22 +00:00
christos
e630447d8c
First pass at prototyping
1996-02-04 02:17:43 +00:00
mycroft
ce5fcc40af
Remove gratuitous extra indirections.
1995-05-23 06:11:29 +00:00
mycroft
080e194e58
Remove extra arg to vn_open().
1994-12-14 19:03:13 +00:00
mycroft
a18ec3cb1b
LEASE_CHECK -> VOP_LEASE
1994-12-13 21:52:35 +00:00
christos
1a320dc9be
added extra argument in vn_open and VOP_OPEN to allow cloning devices
1994-11-14 06:01:16 +00:00
cgd
6ac2bbfc35
be more careful with types, also pull in headers where necessary.
1994-10-30 21:43:03 +00:00
mycroft
868c94ff7c
Fix space change in last commit.
1994-09-18 04:40:47 +00:00
cgd
575d44884b
from Kirk McKusick: release old ctty if acquiring a new one.
...
also: prettiness police!
1994-09-14 00:35:29 +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
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
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
chopps
b6ad9ec8d5
FIONREAD returns int not off_t. (ssize_t prefered, but standards may
...
dictate otherwise)
1994-04-12 19:18:33 +00:00
cgd
adbe4b0962
kill two wrong 'case's
1993-12-21 07:19:14 +00:00
mycroft
7f50bd1829
Canonicalize all #includes.
1993-12-18 04:21:37 +00:00
ws
053f138dae
Changes to VFS readdir semantics
...
NFS changes for better cookie support
ISOFS changes for better Rockridge support and support for generation numbers
1993-09-07 15:40:14 +00:00
pk
d18c6d88d0
Support added for proc filesystem.
1993-08-24 12:56:22 +00:00
cgd
fe1802950b
add include of select.h if necessary for protos, or delete if extraneous
1993-05-22 11:40:42 +00:00
cgd
8d6c77881c
make kernel select interface be one-stop shopping & clean it all up.
1993-05-18 18:18:40 +00:00
cgd
61f282557f
initial import of 386bsd-0.1 sources
1993-03-21 09:45:37 +00:00