summaryrefslogtreecommitdiffstats
path: root/sys/miscfs (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Bring biomem diff back into the tree after the nfs_bio.c fix went in.deraadt2008-06-121-2/+2
| | | | ok thib beck art
* back out biomem diff since it is not right yet. Doing very largederaadt2008-06-111-2/+2
| | | | | | | | 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.
* Buffer cache revampbeck2008-06-101-2/+2
| | | | | | | | | | | | | | | | 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
* Update access(2) to have modern semantics with respect to X_OK andmillert2008-06-091-3/+3
| | | | | | 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@
* procfs can use vop_generic_bmap too;thib2008-05-091-25/+2
|
* retire vn_default_error() and replace all instancesthib2008-05-085-10/+10
| | | | | | with eopnotsupp() instead; ok blambert@
* Introduce vop_generic_bmap(); use it where applicable.thib2008-05-034-40/+6
| | | | | | | | 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@
* remove useless defines for the vnode operations, and insteadthib2008-04-244-120/+62
| | | | | | | init the op array functions with whatever the define was set too. ok dlg@,blambert@
* garbage collect the now unused spec_ebadf();thib2008-04-142-14/+2
| | | | ok dlg@
* remove useless defines for the vnode operations, and insteadthib2008-04-121-47/+24
| | | | | | | init the op array functions with whatever the define was set too. ok dlg@
* remove useless defines for the vnode operations, and insteadthib2008-04-122-38/+20
| | | | | | | init the op array functions with whatever the define was set too. ok dlg@,blambert@
* bring cloning up too date; Munge it so it will work with atleastthib2008-04-083-17/+61
| | | | | | | | | 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@
* fifofs, deadfs and specfs all have the same "trivial lookup routine thatthib2007-12-275-49/+8
| | | | | | | 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@
* MALLOC/FREE -> malloc/freehshoexer2007-12-091-3/+3
| | | | ok gilles
* update pedro's email address, at his request;jmc2007-12-091-2/+2
|
* MALLOC/FREE -> malloc/freechl2007-10-293-11/+9
| | | | ok krw@
* replace the machine dependant bytes-to-clicks macro by the MI ptoa()martin2007-09-011-2/+2
| | | | | | | | version for i386 more architectures and ctob() replacement is being worked on prodded by and ok miod
* declare "pid" as pid_t instead of long, and remove unneeded cast to pid_tjasper2007-06-222-5/+5
| | | | ok pedro@ thib@
* ansify/de-register.jasper2007-06-1812-266/+124
| | | | no binary change
* daddr_t -> daddr64_t for specfs. convert some variablesthib2007-06-022-12/+12
| | | | | | | to proper types along the way (ints), fixes a subtle bug wich otto@ pointed me at. ok deraadt@
* pedro ok'd this ~3500 line diff which removes the vop argumentderaadt2007-06-015-323/+64
| | | | | "ap = v" comments in under 8 seconds, so it must be ok. and it compiles too.
* Updated disklabel format to support larger disks and partitions. Weotto2007-05-291-9/+15
| | | | | | | | | | | 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@
* remove duplicate check for uio_resid == 0 inthib2007-04-101-3/+1
| | | | | | spec_read(); ok pedro@
* ansify and deregister, no binary change, okay mickey@ bluhm@pedro2007-04-081-31/+14
|
* Remove the v_interlock simplelock from the vnode structure.thib2007-03-211-10/+2
| | | | | | | | | 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@
* Since p_flag is often manipulated in interrupts and without biglockart2007-03-151-4/+4
| | | | | | | | | | | | 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
* Retire VOP_LEASE(); It was a bit for NQNFS and hasthib2007-01-164-8/+4
| | | | | | | | | 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)
* Allow reads of /proc/meminfo to be correctly terminated, okay thib@pedro2007-01-011-2/+2
|
* Correct the calculation of block address for specfs block i/o onkrw2006-11-291-13/+7
| | | | | | | | 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@
* Kernel stack can be swapped. This means that stuff that's on the stackmiod2006-11-293-12/+5
| | | | | | | | | | 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.
* Use daddr64_t for logical blocks, okay krw@ thib@ mickey@pedro2006-10-161-2/+2
|
* Allow building procfs on systems that don't #define PT_STEP (such as sparc64).tsi2006-08-281-1/+5
| | | | ok pedro@, miod@
* zap some unused variables.thib2006-07-121-10/+1
| | | | | | | the only use was in an #if notyet chunk since '97. ok miod@ 'no objections' pedro@
* Add some comments in the return endpointspedro2006-06-021-5/+5
|
* Add a clonable devices implementation. Hacked along with thib@, inputpedro2006-06-023-2/+117
| | | | from krw@ and toby@, subliminal prodding from dlg@, okay deraadt@.
* Use more queue macros rather than doing it by hand; ok otto@ krw@miod2006-03-053-9/+10
|
* Remove historical yet completely undocumented ``is this a tape'' ioctl formiod2006-02-201-3/+1
| | | | | | block devices where ioctl request is zero and data is B_TAPE, which no sane userland program uses those days. General disgust and ok deraadt@ millert@ weingart@
* Split the d_type field of cdevsw entries into d_type and d_flags for clarity.miod2005-12-311-2/+2
| | | | Discussed with and ok deraadt@ millert@
* Fix wrong optimization in spec_write() that goes: if we are about to dopedro2005-12-291-5/+2
| | | | | | | | a write that will globber the whole buffer, and it's not in cache, do not bother reading it in. That's wrong, since the user may be trying to write beyond the disk extent, in which case we definitely want to return an error, rather than returning saying the write was okay, and failing later on at an 'uncatched' biodone(). Okay tedu@.
* Replace procfs_domem() with a similar interface, process_domem(), which livesmiod2005-12-116-143/+10
| | | | | | | out of procfs and gets a ptrace request PT_{READ,WRITE}_{I,D} as argument; also procfs_checkioperm() becomes process_checkioperm(). From art@ some time ago; ok kettenis@ pedro@
* Remove fdescfspedro2005-12-063-1292/+0
|
* Remove kernfs, okay deraadt@.pedro2005-11-243-1300/+0
|
* Remove unnecessary lockmgr() archaism that was costing too much in termspedro2005-11-193-10/+10
| | | | | | of panics and bugfixes. Access curproc directly, do not expect a process pointer as an argument. Should fix many "process context required" bugs. Incentive and okay millert@, okay marc@. Various testing, thanks.
* Add an extra flags argument to uvm_io(), to specify whether we want to fixmiod2005-11-042-6/+7
| | | | | | | | | the protection of the memory mapping we're doing I/O on, or if we want to leave them as they are. This should only be necessary for breakpoint insertion in code, so we'll only use it for ptrace requests. Initially from art@ after discussion with kettenis@ millert@ and I, tested by many.
* Protect the run queues with SCHED_LOCK, not just spl (ot nothing at all inart2005-05-311-1/+8
| | | | | | | one case fixed here). miod@ "appears to be harmless" markus@ ok
* sched work by niklas and art backed out; causes panicsderaadt2005-05-291-8/+1
|
* bye bye, rest in attic ad infinitum, amenpedro2005-05-2616-7419/+0
|
* This patch is mortly art's work and was done *a year* ago. Art wants to thankniklas2005-05-251-1/+8
| | | | | | | | | | | | | | | | everyone for the prompt review and ok of this work ;-) Yeah, that includes me too, or maybe especially me. I am sorry. Change the sched_lock to a mutex. This fixes, among other things, the infamous "telnet localhost &" problem. The real bug in that case was that the sched_lock which is by design a non-recursive lock, was recursively acquired, and not enough releases made us hold the lock in the idle loop, blocking scheduling on the other processors. Some of the other processors would hold the biglock though, which made it impossible for cpu 0 to enter the kernel... A nice deadlock. Let me just say debugging this for days just to realize that it was all fixed in an old diff noone ever ok'd was somewhat of an anti-climax. This diff also changes splsched to be correct for all our architectures.
* better handling of disappearing devices, in spec_close(), don't try topedro2005-05-241-4/+8
| | | | double-lock the vnode if we're coming from vclean()
* careful strlcpy and snprintf return handling; ok pedro beckderaadt2005-04-212-6/+15
|