summaryrefslogtreecommitdiff
path: root/sys/miscfs
AgeCommit message (Collapse)Author
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
2005-04-16Remove regs and fpregs pseudo-files from procfs.Mark Kettenis
ok deraadt@, miod@
2005-04-01calling pfind() and checking that the process doesn't exist is notPedro Martelletto
enough to allow us to call vgone() from procfs_inactive(). to avoid a deadlock, check for VXLOCK as well, in case we were called from vclean(). problem report from Sho Fujita, okay tedu@.
2004-11-29Don't use seltrue() in poll ops since it requires v_rdev dereferencingAlexander Yurchenko
which is not possible here. Problem found and fixed by form@. ok millert@ fgsch@ pedro@
2004-11-18Better and simpler check for negative offset; from Christer ObergTodd C. Miller
2004-10-26typo, from Joris VinkPedro Martelletto
2004-10-19use queue.h provided macro when traversing the process list, no changesPedro Martelletto
in generated object file. from Joris Vink.
2004-09-01Make sure we don't call kernfs_xread() with a negative offset.Todd C. Miller
Problem found by Christer Oberg. OK henning@, deraadt@
2004-07-22remove p arg from fdplockTed Unangst
2004-07-11explicitly initialize a variable that is used to control the vnodePedro Martelletto
flushing loop, otherwise we could hard-lock the machine when unmounting an union filesystem ok tedu@
2004-07-10make sure we pass vop_whiteout() a locked vnode, ok tedu@Pedro Martelletto
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-06-12fix ncpu vs ncpus glitch, spotted by Sven DehmlowTheo de Raadt
2004-06-06portal_connect needs splsoftnet.Ted Unangst
using CMSG_ALIGN was wrong, userland fires in data not so aligned. if fd_getfile returns NULL, don't try to close the fd, since it's not there.
2004-06-01use M_MISCFSMNT to allocate nullfs memory, ok tedu@Pedro Martelletto
2004-05-28fix for: !(flags && FORCECLOSE)Mike Pechkin
hackers@ ok
2004-05-26typosPedro Martelletto
2004-05-20remove more caddr_tTed Unangst
2004-05-20Properly flush instruction cache for ptrace(PT_WRTIE_{DI}, ...) on powerpcMark Kettenis
and m68k. ok drahn@, millert@
2004-05-18useless caddr_t casts removal, same sha1sPedro Martelletto
2004-05-18fix memory leak, ok tedu@Pedro Martelletto
2004-05-14Fix a bug that occurs when a FIFO is opened for writing withTodd C. Miller
O_NONBLOCK set and there are no readers. Before returning ENXIO fifo_open calls VOP_CLOSE (and hence fifo_close). However, since fi_writers has not yet been incremented, when fifo_close decements fi_writers it is one too few. This could cause qmail processes to spin, consuming all the CPU. Noticed by avsm@ and henning@, test case provided by claudio@, Ok pedro@
2004-05-14use pool for namei pathbuf. testing ok millert@ tdeval@Ted Unangst
2004-05-05make sure uio_offset is a safe value, with suggestions from millert@Ted Unangst
ok deraadt@ millert@ problem noticed by deprotect.com
2004-04-25useless castsTed Unangst