Commit Graph

443 Commits

Author SHA1 Message Date
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 874d41c959 "ENOBUF" on socket writes isn't really fatal; we may just be too fast
for the driver. Don't log the error, just try again. Could try to
be smart and do a backoff, but it's probably not worth the trouble.
2000-09-19 22:21:21 +00:00
fvdl 8d38a9fc8e Adapt some defaults/max values to be more realistic. 2000-09-19 22:19:12 +00:00
fvdl de98f0812b Add fields to deal with commit ranges. 2000-09-19 22:18:40 +00:00
fvdl 861339828d Update for VOP_FSYNC parameter change. Simplify nfs_flush. 2000-09-19 22:18:03 +00:00
fvdl ddf47f8f0d Update for VOP_FSYNC parameter change. 2000-09-19 22:15:41 +00:00
fvdl 45dc18d175 Add prototypes for commitrange functions. 2000-09-19 22:14:59 +00:00
fvdl 09f52ac6fc Don't do write gathering for v3; it makes no sense. Unless the client
is broken and does sync writes all the time, but that's the client's
fault.
2000-09-19 22:14:42 +00:00
fvdl 9ed021b771 Add functions to deal with keeping track of commit ranges. 2000-09-19 22:13:55 +00:00
fvdl 45460eabe0 Initialize the lock needed to serialize commits for one NFS node. 2000-09-19 22:13:01 +00:00
fvdl 899fb781e0 Move handling of B_NEEDCOMMIT buffers to nfs_doio, so that bawrite() calls
for them are actually done asynchronously. Idea taken from FreeBSD.

Do away with nfs_writebp completely, it's not needed anymore.

Keep an eye on the range of a file that needs to be committed, and
do it in heaps.
2000-09-19 22:11:47 +00:00
fvdl 7f432c74ab Bump some defaults and maximums to better values. 2000-09-19 22:05:55 +00:00
fvdl 8fd422dede Adapt for VOP_FSYNC parameter change. 2000-09-19 22:05:29 +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
fvdl 3ec253a800 Fix bug in access cache that might result in permission being denied
needlessly. From Matthias Drochner.
2000-09-19 00:00:18 +00:00
nathanw 7023c5166c Fix typo in comment. 2000-08-23 23:17:14 +00:00
enami d7236f8d44 Update nfs mount flags correctly. Fixes a bug introduced in rev. 1.65. 2000-08-23 09:59:22 +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
simonb 4bb34ff30e Remove inclusion of <uvm/uvm_extern.h> that was there only to keep
<sys/sysctl.h> happy.
2000-07-30 06:22:04 +00:00
jdolecek b0fb24279c change the lf_advlock() arguments from
int     lf_advlock __P((struct lockf **,
           off_t, caddr_t, int, struct flock *, int));
to

int     lf_advlock __P((struct vop_advlock_args *, struct lockf **, off_t));

This matches common usage and is also compatible with similar change
in FreeBSD (though they use u_quad_t as last arg).
2000-07-22 15:26:11 +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
assar 6c734cd283 make vfs_getnewfsid only take one argument and fetch the name of the
filesystem from the supplied mount argument.  also make makefstype
take a const parameter.  update all the callers.
2000-06-10 18:27:01 +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
gmcgarry 8d994b82fa Allow nfs root over token ring. Closes PR6629. 2000-05-28 07:01:09 +00:00
thorpej 21fc65e1a8 sleep() -> tsleep() 2000-05-27 04:52:27 +00:00
enami c7534ab8ba - Try to commit another buffer even if previous commit failed except the
case that write verf is changed.  Suggested by mycroft@netbsd.org.
- Reset wcred to NULL (i.e., write credential isn't decieded) everytime
  before gathering buffer for new commit, so that there is a chance to
  the commit request is merged.
2000-05-26 08:36:48 +00:00
enami e79a50b93f In nfs_flush, if the previous commit succeeded and we may have more
uncommitted dirty buffer, attempt to commit them.
2000-05-25 23:28:44 +00:00
pk 72cadd83e4 Fix printf() format. 2000-05-18 08:34:26 +00:00
tsarna 9bd6bb5e81 Auto-adjusting vfs.nfs.iothreads: when mounting the first nfs
filesystem, if the number of threads is "-1", meaning it's never been
set, then set it to 4.  You can override by setting this to some other
number (including 0) before or after mounting, of course.

Thanks to whoever it was that suggested this on ICB... sorry I don't
remember who.
2000-05-07 01:38:36 +00:00
tsarna a32696c2de Death to nfsiod!
It is replaced by kernel threads that do the same thing. The number of
kernel threads used is set with the vfs.nfs.iothreads sysctl.
2000-04-15 21:14:48 +00:00
augustss 13e9027f58 Remove more register declarations. 2000-03-30 13:44:53 +00:00
augustss 8529438fe6 Remove register declarations. 2000-03-30 12:51:13 +00:00
simonb 19f0e3f6e8 Delete redundant decl of nfs_vget() - it's in <nfs/nfsmount.h>. 2000-03-30 02:46:36 +00:00
simonb 3e3701895d Delete redundant decls of fifo_vnodeop_p - it's in <miscfs/fifofs/fifo.h>.
Don't need <sys/conf.h> here.
2000-03-30 02:45:19 +00:00
simonb b6c62dcaae Delete redundant decl of nfs_pub - it's in <sys/mount.h>.
Delete redundant decl of nfsrv_zapsock() - it's in <nfs/nfs_var.h>.
2000-03-30 02:43:58 +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
simonb 13e9e9754e Delete redundant decl of nfs_pub - it's in <sys/mount.h>. 2000-03-30 02:42:17 +00:00
simonb 515481f1ce Delete redundant decl of nfsv2_vnodeop_p, it's in <nfs/nfsnode.h>. 2000-03-30 02:40:37 +00:00
simonb 0fd09c8496 Don't need to include <sys/conf.h> here. 2000-03-29 03:43:33 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +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
enami 747ef6745c If server name field is overloaded for other purpose, or it just contains
NULL string, don't use it as server name.
2000-01-20 08:34:52 +00:00
fvdl 44ab379124 The length check for readdirplus entries wasn't right, causing troubles
with 32k readdir sizes. From FreeBSD.
1999-12-05 01:43:06 +00:00
fvdl 5a7300902c Insert an extra VOP_ACCESS check in nfs_lookup, to avoid cached access
mishaps for lookup and getattr. Closes PR 8884.

While at it, cache access RPCs.
1999-11-29 23:34:00 +00:00
fvdl d901f6eae0 Be more careful to block bio interrupts for some data structures. There
were at least a few missed cases where vp->v_{clean,dirty}blkhd were
unprotected since the softdep/trickle sync merge.
1999-11-23 23:52:40 +00:00