summaryrefslogtreecommitdiff
path: root/sys/miscfs
AgeCommit message (Collapse)Author
2010-09-23In procfs_root(), while the vn_lock on a newly-allocated vnode can notOwain Ainsworth
fail it is still good practise to either check the return value or to provide a flag that won't (to avoid copy pasted code that gets it wrong). So change LK_EXCLUSIVE to LK_EXCLUSIVE | LK_RETRY, removing the one caller of vn_lock in the tree that doesn't either pass LK_RETRY or check the return value. ok thib@, jsing@ as part of a larger diff.
2010-09-10Backout the VOP diff until the issues naddy was seeing on alpha (gcc3)Thordur I. Bjornsson
have been resolved.
2010-09-06End the VOP experiment. Instead of the ridicolusly complicated operationThordur I. Bjornsson
vector setup that has questionable features (that have, as far as I can tell never been used in practice, atleast not in OpenBSD), remove all the gunk and favor a simple struct full of function pointers that get set directly by each of the filesystems. Removes gobs of ugly code and makes things simpler by a magnitude. The only downside of this is that we loose the vnoperate feature so the spec/fifo operations of the filesystems need to be kept in sync with specfs and fifofs, this is no big deal as the API it self is pretty static. Many thanks to armani@ who pulled an earlier version of this diff to current after c2k10 and Gabriel Kihlman on tech@ for testing. Liked by many. "come on, find your balls" deraadt@.
2010-07-26Correct the links between threads, processes, pgrps, and sessions,Philip Guenthe
so that the process-level stuff is to/from struct process and not struct proc. This fixes a bunch of problem cases in rthreads. Based on earlier work by blambert and myself, but mostly written at c2k10. Tested by many: deraadt, sthen, krw, ray, and in snapshots
2010-07-17Wrap kernel function declarations in #ifdef _KERNEL to eliminate warningsPhilip Guenthe
when the header is used by userspace. ok miod@
2010-07-01remove crappy old README filesTed Unangst
2010-05-18dont let sys/ioctl.h imply that you get the ioctls in dkio.h. thisDavid Gwynne
gets rid of #include <sys/dkio.h> in sys/ioctl.h and adds #include <sys/dkio.h> to the places that actually want and use the disk ioctls. this became an issue when krw@'s X build failed when he was testing a change to dkio.h. tested by krw@ help from and ok miod@
2009-08-14- let this compile after soreceive() changesJasper Lievisse Adriaanse
ok otto@
2009-08-13- remove super-obvious comments from $fs_vnodeop_entries[]Jasper Lievisse Adriaanse
prodded by and ok thib@ agreed by art@ and blambert@
2009-08-10lockmgr -> rwlockOwain Ainsworth
same diff as before, with the uninitalized variable fixed. ok toby@
2009-07-09Remove the VREF() macro and replaces all instances with a call to verf(),Thordur I. Bjornsson
which is exactly what the macro does. Macro's that are nothing more then: #define FUNCTION(arg) function(arg) are almost always pointless and should go away. OK blambert@ Agreed by many.
2009-06-25backout the buf_acquire() does the bremfree() since all callersThordur I. Bjornsson
where doing bremfree() befure calling buf_acquire(). This is causing us headache pinning down a bug that showed up when deraadt@ too cvs to current, and will have to be done anyway as a preperation for backouts. OK deraadt@
2009-06-06All caller of buf_acquire were doing bremfree before the call.Artur Grabowski
Just put it in the buf_acquire function. oga@ ok
2009-04-22this rwlock conversion breaks procfs (in linux compat), as found outTheo de Raadt
by Antoine Jacoutot. back out for oga to look at when he gets back in touch with earth.
2009-04-02Convert lockmgr to rwlock. Been in snaps for a while.Owain Ainsworth
ok deraadt@
2009-02-22fix PR 6082: do not create more fd's than will fit in the message onOtto Moerbeek
the receiving side when passing fd's. ok deraadt@ kettenis@
2008-11-10same vmspace song and dance as in kern_sysctl.c 1.167; ok kurtTheo de Raadt
2008-11-02- Use CMSG_DATA(), to correctly to get a descriptor, fixingThordur I. Bjornsson
a locking botch in portal_open(); - set f_namemax at mount time and use copy_statfs_info() in portal_statfs(); This diff is a slight tweak of the diff sent in PR5968 by Frank Denis (j at pureftpd.org) Thanks!
2008-07-24remove a bunch of bogus ARGSUSEDThordur I. Bjornsson
2008-06-12Bring biomem diff back into the tree after the nfs_bio.c fix went in.Theo de Raadt
ok thib beck art
2008-06-11back out biomem diff since it is not right yet. Doing very largeTheo de Raadt
file copies to nfsv2 causes the system to eventually peg the console. On the console ^T indicates that the load is increasing rapidly, ddb indicates many calls to getbuf, there is some very slow nfs traffic making none (or extremely slow) progress. Eventually some machines seize up entirely.
2008-06-10Buffer cache revampBob Beck
1) remove multiple size queues, introduced as a stopgap. 2) decouple pages containing data from their mappings 3) only keep buffers mapped when they actually have to be mapped (right now, this is when buffers are B_BUSY) 4) New functions to make a buffer busy, and release the busy flag (buf_acquire and buf_release) 5) Move high/low water marks and statistics counters into a structure 6) Add a sysctl to retrieve buffer cache statistics Tested in several variants and beat upon by bob and art for a year. run accidentally on henning's nfs server for a few months... ok deraadt@, krw@, art@ - who promises to be around to deal with any fallout
2008-06-09Update access(2) to have modern semantics with respect to X_OK andTodd C. Miller
the superuser. access(2) will now only indicate success for X_OK on non-directories if there is at least one execute bit set on the file. OK deraadt@ thib@ otto@
2008-05-09procfs can use vop_generic_bmap too;Thordur I. Bjornsson
2008-05-08retire vn_default_error() and replace all instancesThordur I. Bjornsson
with eopnotsupp() instead; ok blambert@
2008-05-03Introduce vop_generic_bmap(); use it where applicable.Thordur I. Bjornsson
one thing of note, fifofs changes in that its bmap now sets the runp too 0, but that was an oversight in the old code. ok art@
2008-04-24remove useless defines for the vnode operations, and insteadThordur I. Bjornsson
init the op array functions with whatever the define was set too. ok dlg@,blambert@
2008-04-14garbage collect the now unused spec_ebadf();Thordur I. Bjornsson
ok dlg@
2008-04-12remove useless defines for the vnode operations, and insteadThordur I. Bjornsson
init the op array functions with whatever the define was set too. ok dlg@
2008-04-12remove useless defines for the vnode operations, and insteadThordur I. Bjornsson
init the op array functions with whatever the define was set too. ok dlg@,blambert@
2008-04-08bring cloning up too date; Munge it so it will work with atleastThordur I. Bjornsson
oga@'s upcoming DRM changes and too some degree ratchov@'s audio work. It still works for bpf's though. Parts from ratchov@; fstat(1) parts from Pedro Martelletto; tested by many, ok'ed by a few; "get going with cloning" deraadt@
2007-12-27fifofs, deadfs and specfs all have the same "trivial lookup routine thatThordur I. Bjornsson
always fails". Introduce vop_generic_lookup(), which is a trivial lookup routine that always fails and use that instead, zap the redundant copies. ok toby@, tedu@, art@
2007-12-09MALLOC/FREE -> malloc/freeHans-Joerg Hoexer
ok gilles
2007-12-09update pedro's email address, at his request;Jason McIntyre
2007-10-29MALLOC/FREE -> malloc/freeCharles Longeau
ok krw@
2007-09-01replace the machine dependant bytes-to-clicks macro by the MI ptoa()Martin Reindl
version for i386 more architectures and ctob() replacement is being worked on prodded by and ok miod
2007-06-22declare "pid" as pid_t instead of long, and remove unneeded cast to pid_tJasper Lievisse Adriaanse
ok pedro@ thib@
2007-06-18ansify/de-register.Jasper Lievisse Adriaanse
no binary change
2007-06-02daddr_t -> daddr64_t for specfs. convert some variablesThordur I. Bjornsson
to proper types along the way (ints), fixes a subtle bug wich otto@ pointed me at. ok deraadt@
2007-06-01pedro ok'd this ~3500 line diff which removes the vop argumentTheo de Raadt
"ap = v" comments in under 8 seconds, so it must be ok. and it compiles too.
2007-05-29Updated disklabel format to support larger disks and partitions. WeOtto Moerbeek
free room in struct partition by packing fragment size and fragments/block more tighlty and use the resulting space to make offset and size 48 bits. For the disk part we use spare fields in struct disklabel. Kernel converts in-mem copy of the on-disk label if needed, disklabel(8) writes new version. We are careful to only change fields not used by bootloaders. Conception of basic scheme by deraadt. ok deraadt@ krw@
2007-04-10remove duplicate check for uio_resid == 0 inThordur I. Bjornsson
spec_read(); ok pedro@
2007-04-08ansify and deregister, no binary change, okay mickey@ bluhm@Pedro Martelletto
2007-03-21Remove the v_interlock simplelock from the vnode structure.Thordur I. Bjornsson
Zap all calls to simple_lock/unlock() on it (those calls are #defined away though). Remove the LK_INTERLOCK from the calls to vn_lock() and cleanup the filesystems wich implement VOP_LOCK(). (by remvoing the v_interlock from there calls to lockmgr()). ok pedro@, art@, tedu@
2007-03-15Since p_flag is often manipulated in interrupts and without biglockArtur Grabowski
it's a good idea to use atomic.h operations on it. This mechanic change updates all bit operations on p_flag to atomic_{set,clear}bits_int. Only exception is that P_OWEUPC is set by MI code before calling need_proftick and it's automatically cleared by ADDUPC. There's no reason for MD handling of that flag since everyone handles it the same way. kettenis@ ok
2007-01-16Retire VOP_LEASE(); It was a bit for NQNFS and hasThordur I. Bjornsson
effectively been a no-op for quite some time now, without promise for future usage. ok pedro@ Testing by krw@ (earlier diff) and Johan Mson Lindman (tybollt@solace.miun.se)
2007-01-01Allow reads of /proc/meminfo to be correctly terminated, okay thib@Pedro Martelletto
2006-11-29Correct the calculation of block address for specfs block i/o onKenneth R Westerback
devices with sectorsizes other than 512. e.g. cd's. Fixes PR #5235 from Paul Stoeber with a slightly tweaked diff. NetBSD did the same with their r1.59 in 2001, closing their PR#3261 and PR#14026. tweak suggestions and ok pedro@
2006-11-29Kernel stack can be swapped. This means that stuff that's on the stackMiod Vallat
should never be referenced outside the context of the process to which this stack belongs unless we do the PHOLD/PRELE dance. Loads of code doesn't follow the rules here. Instead of trying to track down all offenders and fix this hairy situation, it makes much more sense to not swap kernel stacks. From art@, tested by many some time ago.
2006-10-16Use daddr64_t for logical blocks, okay krw@ thib@ mickey@Pedro Martelletto