summaryrefslogtreecommitdiff
path: root/sys/kern/spec_vnops.c
AgeCommit message (Collapse)Author
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-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
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-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-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@,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-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-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)
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-10-16Use daddr64_t for logical blocks, okay krw@ thib@ mickey@Pedro Martelletto
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 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-05-24better handling of disappearing devices, in spec_close(), don't try toPedro Martelletto
double-lock the vnode if we're coming from vclean()
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@
2003-09-23Replace select backends with poll backends. selscan() and pollscan()Todd C. Miller
now call the poll backend. With this change we implement greater poll(2) functionality instead of emulating it via the select backend. Adapted from NetBSD and including some changes from FreeBSD. Tested by many, deraadt@ OK
2003-06-02Remove the advertising clause in the UCB license which BerkeleyTodd C. Miller
rescinded 22 July 1999. Proofed by myself and Theo.
2003-02-12Remove commons; inspired by netbsd.Jason Wright
2002-11-08Implement simple vnodeop inheritance for specfs and fifofs.Artur Grabowski
The inheritace is implemented by setting the default vnodeop to a bypass op that repeats the operation on the spec/fifo vnodeop vector. The overhead of one extra indirect function call is worth the cleanup and improved correctness. This actually solves a few bugs where some vnode ops were missing from some vectors (like kqfilter or revoke). (and even more on the ubc branch). Inspired by the same thing done in FreeBSD.
2002-03-14First round of __P removal in sysTodd C. Miller
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-04Readd VOP_MMAP, will be used soon. Right now it's just a question toArtur Grabowski
the filesystem if we're allowed to mmap the file.
2001-06-23Get rid of several unused vnode operationsConstantine Sapuntzakis
2001-03-15Use buf_startConstantine Sapuntzakis
2001-03-01port kqueue changes from freebsd, plus all required openbsd glue.Niels Provos
okay deraadt@, millert@ from jlemon@freebsd.org: extend kqueue down to the device layer, backwards compatible approach suggested by peter@freebsd.org
2001-02-24Cleanup of vnode interface continues. Get rid of VHOLD/HOLDRELE.Constantine Sapuntzakis
Change VM/UVM to use buf_replacevnode to change the vnode associated with a buffer. Addition v_bioflag for flags written in interrupt handlers (and read at splbio, though not strictly necessary) Add vwaitforio and use it instead of a while loop of v_numoutput. Fix race conditions when manipulation vnode free list
2001-02-23Remove the clustering fields from the vnodes and place them in theConstantine Sapuntzakis
file system inode instead
1998-02-23Please GCC 2.8 -Wall + some KNFNiklas Hallqvist
1997-12-28I should be more careful about what I check in. Undo earlier commenting-outConstantine Sapuntzakis
of security check. Restricted access to /dev/memat higher secure levels now enabled.
1997-11-06Removed i386-specific crudConstantine Sapuntzakis
1997-11-06Updates for VFS Lite 2 + soft update.Constantine Sapuntzakis
1997-10-06back out vfs lite2 till after 2.2Theo de Raadt
1997-10-06VFS Lite2 ChangesConstantine Sapuntzakis
1997-01-04spec_advlock() via lf_advlock()kstailey
1996-12-22make spec_advlock() perform indirect call to lf_advlock()kstailey
1996-12-05fix locking on devices to work on diskless workstationskstailey