Commit Graph

51 Commits

Author SHA1 Message Date
sommerfe 623d43160b Fix vnode lock leak in nfsrv_mknod() if to-be-created vnode already existed. 1999-05-04 16:01:37 +00:00
mycroft afa07de60d Fix two problems with NFSV3CREATE_GUARDED:
* We shouldn't truncate the file.
* We were leaving the vnode locked (unless the truncate happened to fail).
Solaris clients may cause this under some conditions.
Problem reported by chopps, analysis and fix by me.
1999-03-30 12:01:18 +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
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
mycroft 4de576b025 Clean up some sign extension bogosity in statfs, so negative numbers are
actually negative on a LP64 client.
1999-03-05 07:27:58 +00:00
mrg 1c93cc902d non-root users can mkfifo over NFS. 1999-01-31 09:24:10 +00:00
thorpej f19e987daa Add some braces to make egcs happy (ambiguous else warning). 1998-08-18 06:45:04 +00:00
perry 4522c799a1 bzero->memset, bcopy->memcpy, bcmp->memcmp 1998-08-09 20:51:08 +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
fvdl e5bc90f40c Merge with Lite2 + local changes 1998-03-01 02:20:01 +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
fvdl 787c8aa329 Check vnode for VDIR type before doing anything with it in the
NFS readdir service.
1997-12-22 00:09:02 +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 43e1b9384f * Deal with servers that don't give complete FSINFO (like NT)
From Olaf Seibert <rhialto@polder.ubc.kun.nl> (PR 3687)
* Make an attempt to check the maximum filesize before attempting
  a write to the server, as write RPCs will typically happen
  asynchronously, and the process will not see the error.
  Fixes problems with unexpectly truncated files at 4G
* Pass up errors in nfs_writerpc correctly
1997-07-17 23:54:27 +00:00
fvdl c437b55ca7 A filesystem may not support VFS_VGET (like msdosfs). If it doesn't,
the server code would always skip all dir entries for a readdirplus
operation. To avoid endlessly retrying clients, try VFS_VGET first,
and it it fails, return NFSERR_NOTSUPP so that client will fall
back to normal readdir operations.
1997-07-15 01:07:47 +00:00
fvdl 6611bf92a5 Provide the extra arg to nfsrv_fhtovp, signalling if we're dealing with
a request on the public filehandle. Extend the lookup operation to
support WebNFS, including index file support (URL style). Yucky, it's
optional in the spec, but Solaris 2.6 will support it, so..
1997-06-24 23:32:45 +00:00
fvdl 7b65591cb9 In nfsrvw_coalesce, make sure the coalesce list from the nfsd is moved
as well. This fixes client hangs. (from Naofumi Honda
<honda@Kururu.math.sci.hokudai.ac.jp> / NetBSD-pc98)
1997-05-12 23:37:12 +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 837a72363d VEXEC -> VLOOKUP, as appropriate. 1997-05-08 10:57:17 +00:00
fvdl 2958b47104 Fixes from BSDI (thanks go to Keith Bostic). Original RCS message:
date: 1996/11/20 20:02:54;  author: pjd;  state: Exp;  lines: +7 -4
In nfsrv_access(), if VOP_ACCESS() returns an error and the
error == EPERM or its not the owner doing the access, return the error.
1997-02-22 02:56:01 +00:00
fvdl c76913c26f Move vnode_pager_uncache to a better spot in nfsrv_remove. Also use it
in nfsrv_rename, if the 2nd argument is an existing file and will thus
be removed.
1997-02-10 12:20:49 +00:00
fvdl ffffefac59 nfsrv_readdirplus also suffered from the off-by-one loop problem; fix it too. 1997-01-31 16:12:26 +00:00
fvdl 5710775a55 Fix order error in loop condition which could cause a crash in nfsrv_readdir().
Fixes PR #3170
1997-01-31 09:09:43 +00:00
fvdl 6913afc057 Give permission to the owner of the file to preserve semantics only
in the relevant cases (read, write). Fixes PR 3017.
1996-12-11 00:01:56 +00:00
fvdl 2f1b74d9f0 Always call vnode_pager_uncache when removing a file in the server
(same as in sys_unlink()).
1996-07-01 11:16:03 +00:00
jtk 115750720d Do not return whiteout directory entries in NFS readdir replies. (The
NFS protocol doesn't know how to deal with them properly, yet.)
1996-03-02 15:55:52 +00:00
cgd e98dc62664 Third argument to VOP_PATHCONF is a register_t *, and register_t may be
different than 'int'.  Do the right thing when declaring variables which
are used this way.
1996-02-20 23:45:10 +00:00
fvdl 5ac7df1caf Bring in a merge of Rick Macklem's NFSv3 code from Lite2 1996-02-18 11:53:36 +00:00
christos e4c93ec893 nfs prototype changes 1996-02-09 21:48:19 +00:00
mycroft c9c8301a91 Fix vop_link, vop_symlink, and vop_remove semantics in several ways:
* Change the argument names to vop_link so they actually make sense.
* Implement vop_link and vop_symlink for all file systems, so they do proper
  cleanup.
* Require the file system to decide whether or not linking and unlinking of
  directories is allowed, and disable it for all current file systems.
(Also, remove the cross-device link check, that was moved into the file
systems some time ago.)
1996-02-09 15:47:11 +00:00
jtc 299e1fe9df Rename struct timespec fields to conform to POSIX.1b 1996-02-01 00:31:05 +00:00
cgd 3e0efb4d89 changes to make this work on systems where pointers & longs are 64 bits.
This is mostly just changes to make the stuff that goes over the wire
use fixed-size types.
1995-12-19 23:07:11 +00:00
mycroft 1448ab7a19 Remove gratuitous extra indirections. 1995-05-23 06:22:45 +00:00
mycroft 629ef9cd78 Sync with CSRG. 1994-12-13 17:17:01 +00:00
cgd fccfa11af5 New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD' 1994-06-29 06:39:25 +00:00
mycroft cde1d47595 Update to 4.4-Lite fs code, with local changes. 1994-06-08 11:33:09 +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 3337b6ac3c patchkit date deletions! 1994-04-10 06:45:56 +00:00
cgd 2beaff5c30 fix rcs id 1994-03-12 01:31:32 +00:00
ws ce516ff13d Make FFS optional 1994-03-09 21:21:37 +00:00
mycroft 95b048b53a Canonicalize all #includes. 1993-12-18 00:40:47 +00:00
ws 226a277da1 Bug fixes to ISOFS 1993-11-26 19:56:51 +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
jtc f1fd37d722 Include systm.h to get prototypes (and possibly inlines) of *max functions. 1993-09-03 23:57:21 +00:00
cgd e9cca0d58c ANSI mods.
(originally committed by andrew on 1993/06/27 06:58:35)
1993-07-16 00:52:50 +00:00
cgd 481792a7ff fix for macklem's bogus use of the va_flags field, supplied by
John Woods, jfwfrom: @ksr.com.  also, fixes the following problems:
the va_gen field is in a similar position
(Suns are going to be reporting the change-date microseconds as their
"generation"), I've supplied my own set of diffs below for your inspection.
Note these aren't even compiled, but they're pretty similar to what I had
to do to our older version of OSF/1 here.  (There's also an unrelated change
supplied for xdr_subs.h; the pointer types supplied to the fxdr_time() and
txdr_time() macros are not, in fact, both struct timevals.  That turns out
to be one of many tips-of-the-iceberg facing those porting the (old) Berkeley
NFS code to 64-bit machines...)
(originally committed by cgd on 1993/06/03 01:12:42)
1993-07-16 00:51:55 +00:00
cgd fbc8939fde more rcs id adding and header cleanup. i like vi macros!
(originally committed by cgd on 1993/05/20 03:18:44)
1993-07-16 00:50:30 +00:00
glass 24e91b0789 migrated code to make split possible 1993-04-10 20:19:19 +00:00
cgd e541169ce2 after 0.2.2 "stable" patches applied 1993-03-21 18:04:42 +00:00