Commit Graph

92 Commits

Author SHA1 Message Date
jdolecek
522f569810 make some more constant arrays 'const' 2001-02-21 21:39:52 +00:00
fvdl
4c9b670931 Fix some possible locking errors in nfs_namei (XXX this function should die) 2001-02-14 15:36:45 +00:00
jdolecek
34c8ae80da constify 2001-01-18 20:28:15 +00:00
chs
aeda8d3b77 Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
ad
642267bcc7 Update for hashinit() change. 2000-11-08 14:28:12 +00:00
fvdl
dcf7889500 Do not accept vnode type changes to an active node. This may wreak
havoc if the server erroneously uses the same filehandle for
different files. This changes back revision 1.28; the PR that
that revision fixed doesn't apply anymore, it has been verified
not to be a problem with this change.
2000-10-24 12:02:04 +00:00
fvdl
06b8ac615d Avoid unused variables for V2_ONLY case. 2000-09-27 18:36:03 +00:00
enami
29d3e43df9 Don't bother to clear commit information for the vnode of type VNON.
It is not necessary since it is a vnode being initialized and it shouldn't
be done since filesystem private data may not be assigned yet.
2000-09-24 06:59:21 +00:00
bjh21
1f4240a461 Extend NFS_V2_ONLY to remove NQNFS lease support as well. Saves another 10k. 2000-09-19 23:26:25 +00:00
fvdl
9ed021b771 Add functions to deal with keeping track of commit ranges. 2000-09-19 22:13:55 +00:00
bjh21
33daa8de6b New kernel option, NFS_V2_ONLY, which aims to reduce the NFS client to just
that required to support NFSv2 mounts.  Not finished yet, but already
provides some 44k of saving in code size on arm26.  More savings, and some
documentation, are still to come.
2000-09-19 17:04:50 +00:00
thorpej
7cc27a88c0 Convert namei pathname buffer allocation to use the pool allocator. 2000-08-03 20:41:05 +00:00
thorpej
d07efbc8b8 MALLOC()/FREE() are not to be used for variable size allocations. 2000-08-03 06:15:02 +00:00
mrg
05e377a0bd remove include of <vm/vm.h> 2000-06-28 03:30:42 +00:00
mrg
6eeafef261 remove include of <vm/vm.h> 2000-06-27 17:52:28 +00:00
mrg
7083fdcb62 disable the bloated NFS structure check on 64bit sparc64. 2000-06-20 02:29:51 +00:00
fvdl
7cfd328d97 Some tweaks to enable NFS over IPv6. The special-casing of AF_INET
should really be removed.
2000-06-09 00:00:17 +00:00
augustss
8529438fe6 Remove register declarations. 2000-03-30 12:51:13 +00:00
simonb
11bec2d6e1 Delete redundant decl of nfs_pub - it's in <sys/mount.h>.
Delete redundant decls of nfsv{2,3}_type - they're in <nfs/nfsproto.h>.
2000-03-30 02:43:13 +00:00
jdolecek
89015c4648 Add new VFS op routine - vfs_done and call it on filesystem detach
in vfs_detach(). vfs_done may free global filesystem's resources,
typically those allocated in respective filesystem's init function.
Needed so those filesystems which went in via LKM have a chance to
clean after themselves before unloading. This fixes random panics
when LKM for filesystem using pools was loaded and unloaded several
times.

For each leaf filesystem, add appropriate vfs_done routine.
2000-03-16 18:08:17 +00:00
fvdl
f39cfa5c7b Stuff values in va_blocksize that are closer to reality. 1999-11-01 21:32:41 +00:00
is
ee1ce1c15e Don't truncate minor numbers >= 256.
Problem reported by Saitoh Masanobu, fix by Frank van der Linden.
1999-09-06 09:27:18 +00:00
wrstuden
379a26972f Modify file systems to deal with struct lock in struct vnode. All leaf
fs's other than nfs use genfs_lock() for locking.

Modify lookup routines to set PDIRUNLOCK when they unlock the parrent.
1999-07-08 01:05:58 +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
fvdl
84c33581df ..JUKEBOX can happen on writes too. 1999-03-16 23:24:28 +00:00
fvdl
df3c103b26 The JUKEBOX error may be returned by the read operation, so don't
filter it out.
1999-03-16 23:22:57 +00:00
fair
d143754986 Snatch a patch from OpenBSD to fix PRs 6529 and 7074.
Adjust fxdr_hyper() and txdr_hyper() macros.
1999-03-06 05:34:40 +00:00
wrstuden
bc94ad4c5e Rationalize the vfs_checkexp macro to be VFS_CHECKEXP. 1999-02-27 00:47:34 +00:00
wrstuden
862a56e88b Modify vfsops to seperate vfs_fhtovp() into two routines. vfs_fhtovp() now
only handles the file handle to vnode conversion, and a new call,
vfs_checkexp(), performs the export verification.
1999-02-26 23:44:43 +00:00
perry
4522c799a1 bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:51:08 +00:00
jonathan
5c0c5dd0b4 defopt ISO TPIP. 1998-07-05 04:37:35 +00:00
thorpej
6b781d156f defopt NFSSERVER 1998-06-25 22:17:36 +00:00
sommerfe
7ba7fbbb23 Always include fifos; "not an option any more". 1998-06-24 20:58:44 +00:00
sommerfe
becaafeea0 defopt for options FIFO 1998-06-22 22:00:59 +00:00
kleink
fe2d01988e Fix some arithmetics lossage on typeless pointers. 1998-05-08 18:18:55 +00:00
fvdl
05acb550be Only free cookies on error when they were actually allocated by the readdir vop. 1998-03-03 13:38:32 +00:00
fvdl
e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +00:00
thorpej
2146a2ed29 Include the NFS option header. 1998-02-19 00:54:13 +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
chs
f64abc7b4c add flags arg to hashinit(), to pass to malloc(). 1998-02-07 02:44:44 +00:00
mikel
a5ffacd6cf ELAST incremented, update nfsrv_v2errmap[] initialization 1998-02-06 08:22:54 +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
fvdl
dba168ad94 Refuse to create entries in the dir cache for offset 0. This is a special
case anyway, and amd(8) erroneously returns some entries with cookie 0.
Fixes PR 4844
1998-01-22 00:53:59 +00:00
fvdl
1cf3a3db94 * Implement optional 32 <-> 64 bit directory cookie translation. This uses
the directory cache as translation table. See nfs_subs.c for comments.
  Makes the code a bit more complex to look at than I would have liked,
  but doesn't affect the speed of the default behavior.
* Optimize caching behavior a bit when buffers are invalidated.
* Save some RPCs in readdir operations by not bothering if there is
  a small amount left to do to fill the buffer. It'll be done in the
  next RPC with a larger chunk anyway. Wastes a bit of buffer space
  but is faster.
* Make n_vattr an allocated vattr struct. This avoids nfsnode bloat,
  and is friendlier to the malloc routines.
1997-10-19 01:46:15 +00:00
fvdl
01e7c03e2e Move cookie heuristic function inside ifdef NFS, to make a kernel with server
code but without client code link again. From Erik Bertelsen, PR 4259
1997-10-11 02:09:48 +00:00
fvdl
8aa50b9159 Fix unitialized var warning (did not appear on i386, but did on sparc). 1997-10-10 13:21:51 +00:00
fvdl
7f7d814e67 * New directory entry caching system. Provides full caching of any
directory cookie that may be thrown back at us from userspace, up
  to a size limit. Fixes double entry problem.
* Split flags for internal and external use in the NFS mount structure.
* Fix some buffer structure fields that weren're being used correctly.
* Fix missing directory cache inval call in nfs_open.
* Limit on NFS_DIRBLKSIZ no longer needed, bumped to the more reasonable
  value of 8k.
* Various other things that I forget, all related to the dir caching
  somehow, though.
1997-10-10 01:53:17 +00:00
fvdl
2c5bca83ed Don't assume that pointers into mbuf data remain valid across nfsm_dissect.
In readdirplus, don't keep such pointers but store the file attributes
in a variable instead until they are needed. Change nfsm_loadattr*
a bit so it can accept a direct pointer to an nfs_fattr structure.
1997-07-14 20:46:20 +00:00
drochner
8c0a9bab00 Don't cast 64bit (off_t) file sizes to vm_offset_t (32bit on many
architectures), truncate them intelligently instead.
The truncation is done centralized in vnode_pager.c.
This prevents from wrap-over effects when parts of large (>2^32 byte) files
are mmapped.
Don't allow to mmap above the numerical range of vm_offset_t.
This is considered a temporary solution until the vm system handles the
object sizes/offsets more cleanly.
1997-07-04 20:22:09 +00:00
fvdl
28e824c9b7 Extend lookup handling for WebNFS. This means that nfs_namei deals
with full pathname lookups if a public filehandle is used, and that
it translates the '%' escapes (URL-style) in the same case. Also,
make nfsrv_fhtovp convert the public filehandle to the vp of the
publicly exported filesystem, as stored in the nfs_pub structure.
1997-06-24 23:36:02 +00:00