Commit Graph

469 Commits

Author SHA1 Message Date
thorpej e4dc9e322e Make sure bp->b_proc is initialized. Should fix a deref-garbage-pointer
problem reported by msaitoh@netbsd.org.  NOTE: These are marked XXXUBC
since the code that allocates the bufs is new with UBC, but it may be
the case that bp->b_proc needs to be intialized to curproc (it's used
in a call to nfs_sigintr()).
2001-01-30 03:47:11 +00:00
jdolecek d9466585b7 make filesystem vnodeop, specop, fifoop and vnodeopv_* arrays const 2001-01-22 12:17:35 +00:00
enami 07c60191e7 Use tsleep instead of dalay; since we're mounting root, we can sleep
and no reason to use delay.
2001-01-19 14:26:01 +00:00
jdolecek 34c8ae80da constify 2001-01-18 20:28:15 +00:00
enami 744c012068 Use uvm_aio_biodone instead of uvm_aio_aiodone for top-level buf
so that uvmexp.paging is updated if this i/o was initiated by
the pagedaemon.
2001-01-07 05:54:41 +00:00
jdolecek 7ec49a1f35 update commented out code to recent changes of signal structures 2000-12-27 22:01:43 +00:00
bjh21 47d4a4d009 Extra diagnostic assertion: subtle pmap bugs can ultimately lead to trying
to use NULL credentials for NFS ops, so spot them before we dereference them.
2000-12-27 16:35:37 +00:00
chs 4e7404469d fix several bugs:
- fix math when skipping writing pages that just need a commit.
 - clear the needcommit stuff and PG_RDONLY flags on pages returned for
   overwrite requests as well as for normal write faults.
 - bail out of nfs_write() if we get an error.
 - remove a bogus attempt to clean up after failed uiomove()s.
 - bring over a workaround for a lock-ordering problem from the genfs code.
 - add some missing MP locking.
2000-12-27 05:15:43 +00:00
jdolecek c2cfcae955 <sys/trace.h> is not needed here 2000-12-13 18:15:56 +00:00
chs 395f8c2177 initialize read creds in nfs_open() too. 2000-12-12 17:13:17 +00:00
fvdl 405b695086 Make sobind() take a struct proc *. It already took curproc and
passed it down to the appropriate usrreq function, and this
allows usage for contexts that need to be explicitly different
from curproc (like in the NFS code when binding to a reserved port).
2000-12-10 23:16:28 +00:00
chs 3a5e4f901b in *_sync(), don't skip vnodes which have (potentially dirty) pages. 2000-12-10 19:36:31 +00:00
chs f5878a3362 only zero the part of the page after EOF if we're actually
initializing the page.
2000-12-09 22:38:23 +00:00
drochner 8f6e088214 add a kernel configuration option to set the string passed in bp_file
in diskless BOOTP/DHCP configuration - good for booting different
userland versions depending on the kernel version
2000-12-05 17:59:43 +00:00
fvdl a0aebb0c36 Initialize 'error' to 0, so that nfs_putpages doesn't return garbage
when pages already have been committed and nothing needs to be done.
2000-12-04 12:12:20 +00:00
chs d324e2eb55 in nfs_open(), initialize the write creds if we're opening for writing.
otherwise we would never set them if we only modify the file via mmap().
2000-11-30 07:24:12 +00:00
chs aeda8d3b77 Initial integration of the Unified Buffer Cache project. 2000-11-27 08:39:39 +00:00
chs 8362134916 put more ISO bits under ifdef ISO. 2000-11-24 23:30:02 +00:00
ad 642267bcc7 Update for hashinit() change. 2000-11-08 14:28:12 +00:00
chs 51c256aa5a in nfs_flush(), only play games with B_NOCACHE for VREG vnodes.
if we do this for VBLK vnodes which are in use by softdep mounts,
brelse() will mark the buffer B_INVAL as well, which makes the
softdep code very unhappy.
2000-11-08 05:20:32 +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
matt 04f534474c Change a DIAGNOSTIC panic slightly to print the locked vnodes and to just
print a diagnostic but not panic.
2000-10-24 07:08:48 +00:00
chs be0d1c56f1 fix nfs iod management so we don't lose i/os when iods die. 2000-10-23 07:18:27 +00:00
chs 65ab1f3650 include opt_inet.h, needed by previous check-in. 2000-10-03 17:18:15 +00:00
itojun b834fb62c3 check in_ifaddr only if INET is compiled 2000-10-02 04:28:13 +00:00
itojun 23bf957144 perform reverse ARP only if INET is compiled into the kernel 2000-10-02 04:27:57 +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 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