summaryrefslogtreecommitdiff
path: root/sys/nfs/nfs_subs.c
AgeCommit message (Collapse)Author
2008-08-25Correctly invalidate attribute cache entries in case the vnode modePedro Martelletto
changes, okay beck@, tedu@ and thib@.
2008-08-08After beck@ changed the way nfsiod's are notified of work, theBret Lambert
nfs_iodwant array became unused. Garbage collect and free up a few bytes. ok thib@
2008-06-15unroll the NFSMADV() macro and nuke itThordur I. Bjornsson
ok blambert@
2008-06-14use nfsm_padlen() where appropriate;Thordur I. Bjornsson
ok blambert@
2008-06-13Kill one-liner macro which obfuscated mbuf pointer assignment.Bret Lambert
Rescue nfsm_reqhead macro name and rename nfsm_reqh. End of one-liners from nfsm_subs.h. ok thib@
2008-06-13remove rpc_auth_kerb variable, its now unused...Thordur I. Bjornsson
2008-06-13Replace one-line macro which only obfuscated the fact thatBret Lambert
the function it was named after took 4 arguments instead of 2. "get it in; get it in; get it in" thib@
2008-06-12Remove now-vestigial bpos pointer from NFS. For building outgoingBret Lambert
NFS mbufs, mbufs now contain all their internal buffer state internally, the way god intended. ok thib@ testing johan@ (and possibly merdely@; this diff's been around for a bit...)
2008-06-11return an XDR'rd xid from nfs_get_xid() and kill the nfs_xid globalThordur I. Bjornsson
variable; ok & feedback deraadt@
2008-06-10o Avoid putting duplicate entries into the name cache,Thordur I. Bjornsson
add a function to handle cache_enter()'s for us since we need to update the appropriate timestamps so we don't miss on lookup; o Do not purge the dvp in nfs_rmdir(), since there's no need; o cache the new entry created in nfs_mkdir(); o Do caching of the access modes, this drastically reduces the amount of over the wire access RPCs we do in the NFSv3 case. This diff was written by Pedro Martelletto, sometime in 2004. A lot of people have been running with it at one time or another, this includes at least markus and matthieu. OK deraadt@, blambert@
2008-06-09nfsm_get_xid() => nfs_get_xid() after thib@ informed me that theDamien Miller
nfsm_* functions are for mbufs
2008-06-09Introduce a facility to generate unpredictable 32 bit numbers withDamien Miller
near maximal (2^32) cycle times. These are useful for network IDs in cases where there are negative consequences to ID prediction and/or reuse. Use the idgen32() functions to generate IPv6 IDs and NFS client/server XIDs. Pseudorandom permutation code in crypto/idgen.c based on public domain skip32.c from Greg Rose. feedback & ok thib@ deraadt@
2008-04-22remove the "kerbflag" argument from nfsrv_fhtovp() and nfs_namei()Thordur I. Bjornsson
(the latter only had it to pass it to nfsrv_fhtovp()). appropriate cleanup also; ok blambert@
2008-04-19in nfsm_reqh(), only allocate an mbuf cluster if theThordur I. Bjornsson
len exceeds MLEN, not MINCLSIZE; inspired by a similar commit from damien. ok damien@, blambert@
2008-04-18use arc4random_uniform() for random number requests that are not aDamien Miller
power of two. use arc4random_bytes() when requesting more than a word of PRNG output. ok deraadt@
2008-04-16more efficient use of mbufs in nfsm_uiotombuf().Damien Bergamini
allocate a mbuf cluster only if length is greater than MLEN instead of MINCLSIZE. ok blambert@, thib@
2008-04-14Rework NFS mbuf write routines:Bret Lambert
nfsm_uiotombuf(): - no meaningful return, function becomes void - replace frankensteined uiomove/MGET with actual call to uiomove nfsm_strtmbuf(): - no meaningful return, becomes void - rename and reorder parameters to be consistent with other functions - becomes wrapper to nfsm_uiotombuf nfsm_buftombuf(): - new function; unused but slated for future use - wrapper to nfsm_uiotombuf As a bonus, making these functions void removes much unneeded code and garbage collects `magic' variable t2 which was only used (invisibly) by the macros from nfsm_subs.h Preps the way for removing much more NFS goo... testing by myself, thib@ and merdely@ ok thib@
2008-01-06More NFS-related kernel shrinkage...Bret Lambert
When you use a macro ~200 times, it tends to bloat your code, so make a function out of it. Shaves ~8.5 kB from my kernel. ok thib@, "looks good" krw@ In snaps for 1+ week with no negative reports.
2007-12-13convert massive (expanded to 150+ lines) nfsm_v3attr macro to a functionBret Lambert
shaves an insane (~8K) amount from an i386 kernel ok thib@
2007-11-28fill the va_blocksize with something a litte saner,Thordur I. Bjornsson
make stat(2) return st_blocksize thats a bit closer to reality. From NetBSD; OK art@, beck@, tedu@
2007-11-05deinline nfs_attrtimeo(); and remove some associatedThordur I. Bjornsson
#ifdef goo. ok krw@, blambert@
2007-10-13Remove alot of dead kerberos code (add sane comments too).Thordur I. Bjornsson
Cleanup and partly redo the way we create the RPC header, by having nfsm_rpchead() do a bit more work. Right now this is pretty RPCAUTH_UNIX centric, but since it is the only auth method we support right now thats fine. Make sure we can never generate a zero xid, thats forbidden by the RFC. Misc cleanup. tested by a few.
2007-10-08shrink nfsrv_v2errmap[] and check table size more carefully to avoidTheo de Raadt
dependency on ELAST; ok miod thib
2007-10-07Make sure nfsrv_v2errmap[] really contains ELAST initialized values.Miod Vallat
2007-09-20MALLOC/FREE -> malloc/free + M_ZERO.Thordur I. Bjornsson
Uneeded includes and casts... ok krw@
2007-04-19Replace the nfskevq_lock lockmgr lock with rwlock.Thordur I. Bjornsson
Replace nfs_kqinit() wich just calls lockinit with RWLOCK_INITALIZER. Assorted cleanup. ok tedu@ "reads good" art@
2007-04-13remove some unneeded externs and unused declerations.Thordur I. Bjornsson
There's no need to extern stuff thats declared in the same file. ok tedu@
2006-12-29Avoid void * arithmetic, okay deraadt@, suggestions from millert@Pedro Martelletto
2006-11-01move the declaration of nfsstats from nfs_bio.c toThordur I. Bjornsson
nfs_subs.c so it gets pulled in for NFSSERVER only kernels. ok deraadt@,krw@
2006-05-29revert vfs.nfs.privport sysctl, broke a few architecturesAnil Madhavapeddy
requested by deraadt@
2006-05-28Add support for NFS mounts to be from non-reserved ports:Anil Madhavapeddy
- new sysctl vfs.nfs.privport to require NFS mount requests to be on reserved ports when set to 1 (the default). - mountd now automatically sets the sysctl depending on the -n flag. - add mountd_flags to rc.conf to enable the -n flag at boot. deraadt@ ok
2005-10-19Remove v_vnlock from struct vnode, okay krw@ tedu@Pedro Martelletto
2005-04-02use pool for struct nfsreq; tedu@ pedro@ ok and testing by mark patruck ↵Michael Shalayeff
<mark@2ls4agd.net> on several archs
2005-03-31re-commit marius commit:Theo de Raadt
> fix preposterous time warnings in the nfs client; caused by false hits > in the attribute cache > based on original fix by pedro@, ok pedro@, tedu@; testing kettenis@ was backed out because too close to release put back in now, since tree is unlocked. unfortunately it appears that even after MANY MAILS ON THIS SUBJECT, NOONE HAS DONE THIS. WTF? Noone wants to FINISH jobs anymore?
2005-02-01backout nfs_subs.c rev1.51 nfs_vfsops.c rev1.54:Peter Valchev
fix preposterous time warnings in the nfs client; caused by false hits in the attribute cache too close to release, save for immediately after unlock
2005-01-24fix preposterous time warnings in the nfs client; caused by false hitsmarius eriksen
in the attribute cache based on original fix by pedro@, ok pedro@, tedu@; testing kettenis@
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-08-03When accessing device nodes over nfs, do not trim major and minor numbersMiod Vallat
to 8 bits only; found the hard way by henning@. Ok deraadt@ marius@ millert@
2004-07-21kqueue support for NFS, adapted from netbsd.marius eriksen
ok art@ pedro@, "get it in" deraadt@
2004-07-16kill netiso stuff here as well, millert okHenning Brauer
2004-07-13Change mode_t and nlink_t from 16bit to 32bit. This allows us toTodd C. Miller
use mode_t in syscalls.master and to use mode_t in more places in the kernel. It also makes lint much more useful on kernel code. I've also added a placeholder for st_birthtime to make a UFS2 import easier at some future date. Requested by and OK deraadt@
2004-06-21First step towards more sane time handling in the kernel -- this changesThorsten Lockert
things such that code that only need a second-resolution uptime or wall time, and used to get that from time.tv_secs or mono_time.tv_secs now get this from separate time_t globals time_second and time_uptime. ok art@ niklas@ nordin@
2004-05-14use pool for namei pathbuf. testing ok millert@ tdeval@Ted Unangst
2003-06-02Remove the advertising clause in the UCB license which BerkeleyTodd C. Miller
rescinded 22 July 1999. Proofed by myself and Theo.
2002-03-14First round of __P removal in sysTodd C. Miller
2002-02-10theo doesn't like this codeNathan Binkert
2002-01-16use queue.h macro'sEric Jackson
remove register
2002-01-11Add a new sysctl that removes the requirement for reserved ports to beNathan Binkert
used by the nfs server.
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-10Merge in struct uvm_vnode into struct vnode.Artur Grabowski