Commit Graph

431 Commits

Author SHA1 Message Date
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
fvdl
0b1963121a Add Kirk McKusick's soft updates code to the trunk. Not enabled by
default, as the copyright on the main file (ffs_softdep.c) is such
that is has been put into gnusrc. options SOFTDEP will pull this
in. This code also contains the trickle syncer.

Bump version number to 1.4O
1999-11-15 18:49:07 +00:00
fvdl
f39cfa5c7b Stuff values in va_blocksize that are closer to reality. 1999-11-01 21:32:41 +00:00
sommerfeld
ff0b960398 Fix bug in error handling for NFSv3 + nqnfs.
With nfsv2, the nfsm_reply() macro always causes the service routine
to return if error was nonzero.

With nfsv3, we can keep going after nfsm_reply() without returning,
but nqnfsrv_getlease() didn't take this into account, so add a
return(0) after each error-case nfsm_reply(0).
1999-10-10 02:44:55 +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
jdolecek
2ac419a152 Adapt to cache_lookup() changes.
XXX I had no chance to actually test the changes for nfs, but hopefully I got
it right.

Tested by: jdolecek
Rewieved by: wrstuden
1999-09-05 14:28:26 +00:00
drochner
6b4bfbbe10 Wait some seconds after the interface is brought up before packets
are sent. Needed at least for if_ti to get the link up.
1999-09-03 20:06:46 +00:00
sommerfeld
5493437dd8 Once the mount structure is definitely doomed, always set the
NFSMNT_DISMNT bit in it so that any waiters can go away cleanly.
(formerly, we did this only in the NQNFS/KERB cases).
1999-08-29 18:32:15 +00:00
sommerfeld
873713a5f7 Fix overzealous DIAGNOSTIC check in nfs_disconnect()
(fix pr8249, 8288)
1999-08-29 16:29:16 +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
wrstuden
3954583ce7 Teach nfs_lookup() to set PDIRUNLOCK when appropriate. Should resolve
PR 8051 by Konrad Schroder.
1999-08-02 18:58:23 +00:00
fvdl
3c9ce57651 Don't try to copy an mbuf that may have been freed in case of an error. 1999-07-30 09:46:24 +00:00
thorpej
d7f9efdafc In nfs_create(), make sure error is reset to 0 if we restart the operation. 1999-07-29 17:01:21 +00:00