summaryrefslogtreecommitdiff
path: root/sys/nfs/nfs_vnops.c
AgeCommit message (Collapse)Author
2006-04-26In nfs_readdir(), if the buffer provided by the user is not big enoughPedro Martelletto
to hold all the entries a directory has, we can't signal EOF. Okay deraadt@ and miod@.
2006-04-20Remove unused debug code that sneaked in by accident long agoPedro Martelletto
2005-09-29toast cast of lvalue; pr 4289Theo de Raadt
2005-04-21careful strlcpy and snprintf return handling; ok pedro beckTheo de Raadt
2004-08-03NFS commit coalescion: instead of sending a commit for each block, coalescemarius eriksen
these into larger ranges wherever possible. this should speed up NFS writes quite a bit. ok art@ millert@ pedro@ tedu@
2004-07-21kqueue support for NFS, adapted from netbsd.marius eriksen
ok art@ pedro@, "get it in" deraadt@
2004-06-24This moves access to wall and uptime variables in MI code,Thorsten Lockert
encapsulating all such access into wall-defined functions that makes sure locking is done as needed. It also cleans up some uses of wall time vs. uptime some places, but there is sure to be more of these needed as well, particularily in MD code. Also, many current calls to microtime() should probably be changed to getmicrotime(), or to the {,get}microuptime() versions. ok art@ deraadt@ aaron@ matthieu@ beck@ sturm@ millert@ others "Oh, that is not your problem!" from miod@
2004-05-14use pool for namei pathbuf. testing ok millert@ tdeval@Ted Unangst
2004-04-26nfs_poll cannot simply be defined to seltrue so use a stub nfs_pollTodd C. Miller
duplicated from UFS. Closes PR 3757; OK deraadt@
2004-03-02silly fifos aren't a real fs, so we have to be sure to call reclaimTed Unangst
in the host fs.
2004-02-27Defer use of NFS_ISV3 macro in nfs_link until sanity checks have been done.Todd C. Miller
Fixes a panic that can occur when trying to link from a local filesystem to an nfs-mounted one. Problem pointed out by Jim Rees, fix exists in Net and Free. OK tedu@ csapuntz@
2003-09-23Replace select backends with poll backends. selscan() and pollscan()Todd C. Miller
now call the poll backend. With this change we implement greater poll(2) functionality instead of emulating it via the select backend. Adapted from NetBSD and including some changes from FreeBSD. Tested by many, deraadt@ OK
2003-06-02Remove the advertising clause in the UCB license which BerkeleyTodd C. Miller
rescinded 22 July 1999. Proofed by myself and Theo.
2003-05-06string cleaning; tedu okTheo de Raadt
2003-01-31File system locking fixups, mostly from NetBSD:Artur Grabowski
- cache_lookup move common code from various fs's here always return with vnode and parent locked adjust return codes - PDIRUNLOCK - new flag set if lookup couldn't lock parent vnode - kernfs and procfs lock vnode in get_root don't unlock (again) in kernfs_freevp fix memory leak in procfs From tedu@stanford.edu deraadt@ and various other ok
2002-11-08Implement simple vnodeop inheritance for specfs and fifofs.Artur Grabowski
The inheritace is implemented by setting the default vnodeop to a bypass op that repeats the operation on the spec/fifo vnodeop vector. The overhead of one extra indirect function call is worth the cleanup and improved correctness. This actually solves a few bugs where some vnode ops were missing from some vectors (like kqfilter or revoke). (and even more on the ubc branch). Inspired by the same thing done in FreeBSD.
2002-05-21Protect calls to biodone with splbio. Some functions calledArtur Grabowski
by biodone assume splbio (probably just on other filesystems) and some callbacks from b_iodone assume it too. It's just much safer. costa@ ok.
2002-03-14First round of __P removal in sysTodd C. Miller
2002-02-23Sigh. The diff is out for testing for three months without a single problem.Artur Grabowski
Two days after commit people report serious lockups all over the place. Back out nfs locking changes.
2002-02-22More locking in the NFS codeConstantine Sapuntzakis
2002-01-16use queue.h macro'sEric Jackson
remove register
2001-12-22Init the creds in nfs_open too.Artur Grabowski
Repairs swap over nfs. Tested by hugh@
2001-12-19UBC was a disaster. It worked very good when it worked, but on someArtur Grabowski
machines or some configurations or in some phase of the moon (we actually don't know when or why) files disappeared. Since we've not been able to track down the problem in two weeks intense debugging and we need -current to be stable, back out everything to a state it had before UBC. We apologise for the inconvenience.
2001-12-11minor fixes.Artur Grabowski
2001-12-10Big cleanup inspired by NetBSD with some parts of the code from NetBSD.Artur Grabowski
- get rid of VOP_BALLOCN and VOP_SIZE - move the generic getpages and putpages into miscfs/genfs - create a genfs_node which must be added to the top of the private portion of each vnode for filsystems that want to use genfs_{get,put}pages - rename genfs_mmap to vop_generic_mmap
2001-12-10Merge in struct uvm_vnode into struct vnode.Artur Grabowski
2001-12-04Readd VOP_MMAP, will be used soon. Right now it's just a question toArtur Grabowski
the filesystem if we're allowed to mmap the file.
2001-11-27Merge in the unified buffer cache code as found in NetBSD 2001/03/10. TheArtur Grabowski
code is written mostly by Chuck Silvers <chuq@chuq.com>/<chs@netbsd.org>. Tested for the past few weeks by many developers, should be in a pretty stable state, but will require optimizations and additional cleanups.
2001-11-15Remove creds from struct buf, move the creds that nfs need into the nfs node.Artur Grabowski
While in the area, convert nfs node allocation from malloc to pool and do some cleanups. Based on the UBC changes in NetBSD. niklas@ ok.
2001-11-06Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.Miod Vallat
(Look ma, I might have broken the tree)
2001-07-26Back out changes to symlink and mknod that were not well tested.Todd C. Miller
A simple mknod at causes a kernel panic (uvm_fault).
2001-07-26change vop_symlink and vop_mknod to return vpp (the created node)assar
refed, so that the caller can actually use it. update callers and file systems that implement these vnode operations ok'd by art
2001-07-03In readdir, set the calling process in the constructed uio structures.Constantine Sapuntzakis
Fixes problems with interruptible NFS mounts.
2001-06-27Remove old vm.Artur Grabowski
2001-06-25Remove NQNFSConstantine Sapuntzakis
2001-06-25Get rid of old directory caching scheme which caused persistent duplicates.Constantine Sapuntzakis
Still not correct for NFSv3 but that's hard.
2001-06-23Get rid of several unused vnode operationsConstantine Sapuntzakis
2001-06-05make kqueue behave like selectNiels Provos
2001-02-24Cleanup of vnode interface continues. Get rid of VHOLD/HOLDRELE.Constantine Sapuntzakis
Change VM/UVM to use buf_replacevnode to change the vnode associated with a buffer. Addition v_bioflag for flags written in interrupt handlers (and read at splbio, though not strictly necessary) Add vwaitforio and use it instead of a while loop of v_numoutput. Fix race conditions when manipulation vnode free list
2001-02-23Change the B_DELWRI flag using buf_dirty and buf_undirty instead ofConstantine Sapuntzakis
manually twiddling it. This allows the buffer cache to more easily keep track of dirty buffers and decide when it is appropriate to speed up the syncer. Insipired by FreeBSD. Look over by art@
2001-02-09use correct FREE() do dispose sillyrename on fail; deraadt@ okMichael Shalayeff
2000-02-02o Don't call nfs_sillyrename() form nfs_remove if v_type == VDIRTodd C. Miller
(from FreeBSD). This avoids the panic described below. o In nfs_sillyrename(), change a panic if v_type == VDIR to just a printf (ifdef DIAGNOSTIC) and return EINVAL. o When building the .nfs file in nfs_sillyrename() don't assume a pid is only 4 chars long since PID_MAX is 5 chars and use sprintf() instead of converting the pid to ascii by hand. Thanks to Theo for assistance and sanity checking.
1999-02-26compatibility with uvm vnode pagerArtur Grabowski
1999-02-06Use bitwise operations to extract high and low words from the quadTodd C. Miller
in txdr_hyper. This should be more portable than casting to an array of ints and pulling out the two 32-bit words (this produced incorrect results on alpha for the high word for filesystems < 4gig). As a side effect, txdr_hyper now takes a u_quad_t as its first arg, not u_quad_t *.
1999-01-10Fix for creating files on a Solaris 7 server with NFSv3 (the request wasTodd C. Miller
slightly garbled but older servers seemed to understand it); dfr@freebsd.org
1998-08-19Change fxdr_hyper to return a u_quad_t. This minimizes the evil clobberingConstantine Sapuntzakis
of lvalues that ANSI abhors. And it fixes df on NFS version 3 mounts on Sparcs.
1998-08-06Rename vop_revoke, vn_bwrite, vop_noislocked, vop_nolock, vop_nounlockConstantine Sapuntzakis
to be vop_generic_revoke, vop_generic_bwrite, vop_generic_islocked, vop_generic_lock and vop_generic_unlock. Create vop_generic_abortop and propogate change to all file systems. Fix PR/371. Get rid of locking in NULLFS (should be mostly unnecessary now except for forced unmounts).
1998-05-11compile if iov_base is void *Theo de Raadt
1997-12-02More splbio()'s added so that reassignbuf can do its thing.Constantine Sapuntzakis
1997-11-06Updates for VFS Lite 2 + soft update.Constantine Sapuntzakis