summaryrefslogtreecommitdiff
path: root/sys/miscfs
AgeCommit message (Collapse)Author
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
2006-08-28Allow building procfs on systems that don't #define PT_STEP (such as sparc64).Marc Aurele La France
ok pedro@, miod@
2006-07-12zap some unused variables.Thordur I. Bjornsson
the only use was in an #if notyet chunk since '97. ok miod@ 'no objections' pedro@
2006-06-02Add some comments in the return endpointsPedro Martelletto
2006-06-02Add a clonable devices implementation. Hacked along with thib@, inputPedro Martelletto
from krw@ and toby@, subliminal prodding from dlg@, okay deraadt@.
2006-03-05Use more queue macros rather than doing it by hand; ok otto@ krw@Miod Vallat
2006-02-20Remove historical yet completely undocumented ``is this a tape'' ioctl forMiod Vallat
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@
2005-12-31Split the d_type field of cdevsw entries into d_type and d_flags for clarity.Miod Vallat
Discussed with and ok deraadt@ millert@
2005-12-29Fix wrong optimization in spec_write() that goes: if we are about to doPedro Martelletto
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@.
2005-12-11Replace procfs_domem() with a similar interface, process_domem(), which livesMiod Vallat
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@
2005-12-06Remove fdescfsPedro Martelletto
2005-11-24Remove kernfs, okay deraadt@.Pedro Martelletto
2005-11-19Remove unnecessary lockmgr() archaism that was costing too much in termsPedro Martelletto
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.
2005-11-04Add an extra flags argument to uvm_io(), to specify whether we want to fixMiod Vallat
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.
2005-05-31Protect the run queues with SCHED_LOCK, not just spl (ot nothing at all inArtur Grabowski
one case fixed here). miod@ "appears to be harmless" markus@ ok
2005-05-29sched work by niklas and art backed out; causes panicsTheo de Raadt
2005-05-26bye bye, rest in attic ad infinitum, amenPedro Martelletto
2005-05-25This patch is mortly art's work and was done *a year* ago. Art wants to thankNiklas Hallqvist
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.
2005-05-24better handling of disappearing devices, in spec_close(), don't try toPedro Martelletto
double-lock the vnode if we're coming from vclean()
2005-04-21careful strlcpy and snprintf return handling; ok pedro beckTheo de Raadt