aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/vnode_if.src
Commit message (Collapse)AuthorAgeFilesLines
* MFC: introduce VOP_CREATEVOBJECT(), VOP_GETVOBJECT and VOP_DESTROYVOBJECT()Boris Popov2001-05-181-0/+24
| | | | | | | which help to get proper reference to VM backing object. Notes: svn path=/stable/4/; revision=76806
* MFC: sync kq up to current (extend to device layer, plus other fixes)Jonathan Lemon2001-02-261-0/+8
| | | | Notes: svn path=/stable/4/; revision=73061
* o MFC locking changes in extended attribute interface (locks required on vnodesRobert Watson2000-07-281-1/+1
| | | | | | | | | | | for all extended attribute vnops) o MFC related formatting changes to decrease diffs between -current and -stable in that code. Obtained from: TrustedBSD Project Notes: svn path=/stable/4/; revision=63963
* Second pass commit to introduce new ACL and Extended Attribute systemRobert Watson1999-12-191-1/+56
| | | | | | | | | | calls, vnops, vfsops, both in /kern, and to individual file systems that require a vfsop_ array entry. Reviewed by: eivind Notes: svn path=/head/; revision=54803
* Since VOP_LOCK can be used to up and downgrade locks, it is not possibleEivind Eklund1999-12-181-1/+1
| | | | | | | | to say anything about the lockstate before and after it. Thus, change the lockspec from U L U to ? ? ?. Notes: svn path=/head/; revision=54795
* Introduce NDFREE (and remove VOP_ABORTOP)Eivind Eklund1999-12-151-8/+0
| | | | Notes: svn path=/head/; revision=54655
* Lock reporting and assertion changes.Eivind Eklund1999-12-111-1/+6
| | | | | | | | | | | | | | | | | | * lockstatus() and VOP_ISLOCKED() gets a new process argument and a new return value: LK_EXCLOTHER, when the lock is held exclusively by another process. * The ASSERT_VOP_(UN)LOCKED family is extended to use what this gives them * Extend the vnode_if.src format to allow more exact specification than locked/unlocked. This commit should not do any semantic changes unless you are using DEBUG_VFS_LOCKS. Discussed with: grog, mch, peter, phk Reviewed by: peter Notes: svn path=/head/; revision=54444
* Remove WILLRELE from VOP_SYMLINKEivind Eklund1999-11-131-5/+1
| | | | | | | | | Note: Previous commit to these files (except coda_vnops and devfs_vnops) that claimed to remove WILLRELE from VOP_RENAME actually removed it from VOP_MKNOD. Notes: svn path=/head/; revision=53131
* Remove WILLRELE from VOP_RENAMEEivind Eklund1999-11-121-1/+1
| | | | Notes: svn path=/head/; revision=53101
* Move the vop_islocked declaration to the top, in preparation for committingEivind Eklund1999-09-261-7/+7
| | | | | | | code to auto-generate assertions from the lockspecs Notes: svn path=/head/; revision=51679
* $Id$ -> $FreeBSD$Peter Wemm1999-08-281-1/+1
| | | | Notes: svn path=/head/; revision=50477
* Add a vnode argument to VOP_BWRITE to get rid of the last vnodeKirk McKusick1999-06-161-5/+6
| | | | | | | | operator special case. Delete special case code from vnode_if.sh, vnode_if.src, umap_vnops.c, and null_vnops.c. Notes: svn path=/head/; revision=47964
* Remove incorrect lock specs for vop_whiteout (introduced by Lite/2).Eivind Eklund1999-03-271-5/+9
| | | | | | | | | | The lock specs are for vnodes only. Add (hopefully correct) lock specs for vop_strategy, vop_getpages and vop_putpages. Notes: svn path=/head/; revision=45058
* Add a new vnode op, VOP_FREEBLKS(), which filesystems can use to informPoul-Henning Kamp1998-09-051-1/+15
| | | | | | | | | | | | | | | | device drivers about sectors no longer in use. Device-drivers receive the call through d_strategy, if they have D_CANFREE in d_flags. This allows flash based devices to erase the sectors and avoid pointlessly carrying them around in compactions. Reviewed by: Kirk Mckusick, bde Sponsored by: M-Systems (www.m-sys.com) Notes: svn path=/head/; revision=38862
* VOP_STRATEGY grows an (struct vnode *) argumentJulian Elischer1998-07-041-4/+5
| | | | | | | | | as the value in b_vp is often not really what you want. (and needs to be frobbed). more cleanups will follow this. Reviewed by: Bruce Evans <bde@freebsd.org> Notes: svn path=/head/; revision=37384
* In the words of the submitter:Mike Smith1998-05-071-20/+20
| | | | | | | | | | | | | | | | | | | | | | --------- Make callers of namei() responsible for releasing references or locks instead of having the underlying filesystems do it. This eliminates redundancy in all terminal filesystems and makes it possible for stacked transport layers such as umapfs or nullfs to operate correctly. Quality testing was done with testvn, and lat_fs from the lmbench suite. Some NFS client testing courtesy of Patrik Kudo. vop_mknod and vop_symlink still release the returned vpp. vop_rename still releases 4 vnode arguments before it returns. These remaining cases will be corrected in the next set of patches. --------- Submitted by: Michael Hancock <michaelh@cet.co.jp> Notes: svn path=/head/; revision=35823
* Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman)Julian Elischer1998-03-081-1/+13
| | | | | | | | Submitted by: Kirk McKusick (mcKusick@mckusick.com) Obtained from: WHistle development tree Notes: svn path=/head/; revision=34266
* Another VFS cleanup "kilo commit"Poul-Henning Kamp1997-10-161-22/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Remove VOP_UPDATE, it is (also) an UFS/{FFS,LFS,EXT2FS,MFS} intereface function, and now lives in the ufsmount structure. 2. Remove VOP_SEEK, it was unused. 3. Add mode default vops: VOP_ADVLOCK vop_einval VOP_CLOSE vop_null VOP_FSYNC vop_null VOP_IOCTL vop_enotty VOP_MMAP vop_einval VOP_OPEN vop_null VOP_PATHCONF vop_einval VOP_READLINK vop_einval VOP_REALLOCBLKS vop_eopnotsupp And remove identical functionality from filesystems 4. Add vop_stdpathconf, which returns the canonical stuff. Use it in the filesystems. (XXX: It's probably wrong that specfs and fifofs sets this vop, shouldn't it come from the "host" filesystem, for instance ufs or cd9660 ?) 5. Try to make system wide VOP functions have vop_* names. 6. Initialize the um_* vectors in LFS. (Recompile your LKMS!!!) Notes: svn path=/head/; revision=30492
* VFS mega cleanup commit (x/N)Poul-Henning Kamp1997-10-161-41/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 1. Add new file "sys/kern/vfs_default.c" where default actions for VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE, POLL, REVOKE and STRATEGY. Various stuff spread over the entire tree belongs here. 2. Change VOP_BLKATOFF to a normal function in cd9660. 3. Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC. These are private interface functions between UFS and the underlying storage manager layer (FFS/LFS/MFS/EXT2FS). The functions now live in struct ufsmount instead. 4. Remove a kludge of VOP_ functions in all filesystems, that did nothing but obscure the simplicity and break the expandability. If a filesystem doesn't implement VOP_FOO, it shouldn't have an entry for it in its vnops table. The system will try to DTRT if it is not implemented. There are still some cruft left, but the bulk of it is done. 5. Fix another VCALL in vfs_cache.c (thanks Bruce!) Notes: svn path=/head/; revision=30474
* Change VOP_SELECT to VOP_POLLPeter Wemm1997-09-141-7/+4
| | | | Notes: svn path=/head/; revision=29353
* Add a new vnode op (cachedlookup) so that filesystems can plug intoPoul-Henning Kamp1997-08-251-1/+13
| | | | | | | | a global vfs_cache check. The rest of this change will come when the current zero size file problem is resolved. Notes: svn path=/head/; revision=28732
* This is the kernel Lite/2 commit. There are some requisite userlandJohn Dyson1997-02-101-7/+202
| | | | | | | | | | | | | | | | | | changes, so don't expect to be able to run the kernel as-is (very well) without the appropriate Lite/2 userland changes. The system boots and can mount UFS filesystems. Untested: ext2fs, msdosfs, NFS Known problems: Incorrect Berkeley ID strings in some files. Mount_std mounts will not work until the getfsent library routine is changed. Reviewed by: various people Submitted by: Jeffery Hsu <hsu@freebsd.org> Notes: svn path=/head/; revision=22521
* Make the long-awaited change from $Id$ to $FreeBSD$Jordan K. Hubbard1997-01-141-1/+1
| | | | | | | | | | | This will make a number of things easier in the future, as well as (finally!) avoiding the Id-smashing problem which has plagued developers for so long. Boy, I'm glad we're not using sup anymore. This update would have been insane otherwise. Notes: svn path=/head/; revision=21673
* Changes to support 1Tb filesizes. Pages are now named by anJohn Dyson1995-12-111-3/+3
| | | | | | | (object,index) pair instead of (object,offset) pair. Notes: svn path=/head/; revision=12767
* Interface change for the VOP_GETPAGES -- missed in previous commits.John Dyson1995-10-231-1/+4
| | | | Notes: svn path=/head/; revision=11704
* Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block countJohn Dyson1995-09-041-1/+16
| | | | | | | for VOP_BMAP. Updated affected filesystems... Notes: svn path=/head/; revision=10551
* Removed my special-case hack for VOP_LINK and fixed the problem with theDavid Greenman1995-08-011-10/+6
| | | | | | | | | | wrong vp's ops vector being used by changing the VOP_LINK's argument order. The special-case hack doesn't go far enough and breaks the generic bypass routine used in some non-leaf filesystems. Pointed out by Kirk McKusick. Notes: svn path=/head/; revision=9842
* The generated VCALL always uses the first vp which in the case of /link/David Greenman1995-07-071-6/+10
| | | | | | | | | | | | might not be handled by the same FS as the directory (e.g. special device files)...so it must be special-cased. This bug is seen when doing "ln /dev/console /dev/foo" or equivilent and first appeared after I fixed the argument order of VOP_LINK. YUCK! There really needs to be a way of specifying what vp to use in the VCALL; doing this could fix the strategy and bwrite special-cases, too. Notes: svn path=/head/; revision=9430
* Fixed VOP_LINK argument order botch.David Greenman1995-06-281-3/+3
| | | | Notes: svn path=/head/; revision=9354
* Make NFS ask the filesystems for directory cookies instead of making themDoug Rabson1994-09-281-1/+4
| | | | | | | itself. Notes: svn path=/head/; revision=3167
* Added $Id$David Greenman1994-08-021-0/+1
| | | | Notes: svn path=/head/; revision=1817
* BSD 4.4 Lite Kernel SourcesRodney W. Grimes1994-05-241-0/+296
Notes: svn path=/head/; revision=1541