summaryrefslogtreecommitdiffstats
path: root/sys/kern/vnode_if.src
Commit message (Collapse)AuthorAgeFilesLines
* Second pass commit to introduce new ACL and Extended Attribute systemrwatson1999-12-191-1/+56
| | | | | | | calls, vnops, vfsops, both in /kern, and to individual file systems that require a vfsop_ array entry. Reviewed by: eivind
* Since VOP_LOCK can be used to up and downgrade locks, it is not possibleeivind1999-12-181-1/+1
| | | | | to say anything about the lockstate before and after it. Thus, change the lockspec from U L U to ? ? ?.
* Introduce NDFREE (and remove VOP_ABORTOP)eivind1999-12-151-8/+0
|
* Lock reporting and assertion changes.eivind1999-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
* Remove WILLRELE from VOP_SYMLINKeivind1999-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.
* Remove WILLRELE from VOP_RENAMEeivind1999-11-121-1/+1
|
* Move the vop_islocked declaration to the top, in preparation for committingeivind1999-09-261-7/+7
| | | | code to auto-generate assertions from the lockspecs
* $Id$ -> $FreeBSD$peter1999-08-281-1/+1
|
* Add a vnode argument to VOP_BWRITE to get rid of the last vnodemckusick1999-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.
* Remove incorrect lock specs for vop_whiteout (introduced by Lite/2).eivind1999-03-271-5/+9
| | | | | | | The lock specs are for vnodes only. Add (hopefully correct) lock specs for vop_strategy, vop_getpages and vop_putpages.
* Add a new vnode op, VOP_FREEBLKS(), which filesystems can use to informphk1998-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)
* VOP_STRATEGY grows an (struct vnode *) argumentjulian1998-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>
* In the words of the submitter:msmith1998-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>
* Reviewed by: dyson@freebsd.org (john Dyson), dg@root.com (david greenman)julian1998-03-081-1/+13
| | | | | Submitted by: Kirk McKusick (mcKusick@mckusick.com) Obtained from: WHistle development tree
* Another VFS cleanup "kilo commit"phk1997-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!!!)
* VFS mega cleanup commit (x/N)phk1997-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!)
* Change VOP_SELECT to VOP_POLLpeter1997-09-141-7/+4
|
* Add a new vnode op (cachedlookup) so that filesystems can plug intophk1997-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.
* This is the kernel Lite/2 commit. There are some requisite userlanddyson1997-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>
* Make the long-awaited change from $Id$ to $FreeBSD$jkh1997-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.
* Changes to support 1Tb filesizes. Pages are now named by andyson1995-12-111-3/+3
| | | | (object,index) pair instead of (object,offset) pair.
* Interface change for the VOP_GETPAGES -- missed in previous commits.dyson1995-10-231-1/+4
|
* Added VOP_GETPAGES/VOP_PUTPAGES and also the "backwards" block countdyson1995-09-041-1/+16
| | | | for VOP_BMAP. Updated affected filesystems...
* Removed my special-case hack for VOP_LINK and fixed the problem with thedg1995-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.
* The generated VCALL always uses the first vp which in the case of /link/dg1995-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.
* Fixed VOP_LINK argument order botch.dg1995-06-281-3/+3
|
* Make NFS ask the filesystems for directory cookies instead of making themdfr1994-09-281-1/+4
| | | | itself.
* Added $Id$dg1994-08-021-0/+1
|
* BSD 4.4 Lite Kernel Sourcesrgrimes1994-05-241-0/+296
OpenPOWER on IntegriCloud