History log of /src/sys/miscfs/genfs/layer_extern.h |
Revision | | Date | Author | Comments |
1.41 |
| 17-Jan-2020 |
ad | VFS_VGET(), VFS_ROOT(), VFS_FHTOVP(): give them a "int lktype" argument, to allow us to get shared locks (or no lock) on the returned vnode. Matches FreeBSD.
|
1.40 |
| 04-Jun-2017 |
hannken | branches: 1.40.6; 1.40.12; Locking a layer vnode using the regular bypass routine is no longer racy. Undo the change from 2017-03-30 11:16:52, commitid eurqbzuGxGRlryLz and make vi_lock a krwlock_t again.
|
1.39 |
| 30-Mar-2017 |
hannken | branches: 1.39.6; Locking a layer vnode is racy as it may become reclaimed before calling the operation on the lower vnode.
Replace vi_lock with a rw_obj and change layered file systems to share the lock with the lower vnode.
Layered file systems now use genfs_lock()/_unlock/_islocked().
Welcome to 7.99.67
|
1.38 |
| 17-Feb-2017 |
hannken | Add generic genfs_suspendctl() and use it for all file systems. Layered file systems need work.
|
1.37 |
| 27-Jan-2017 |
hannken | Handle v_writecount from layer_open(), layer_close() and layer_revoke() so lower file system vnodes get marked as open for writing.
|
1.36 |
| 25-May-2014 |
hannken | branches: 1.36.4; 1.36.8; 1.36.12; Change layerfs from hashlist to vcache. Make VI_LOCKSHARE public again.
Ride 6.99.43
|
1.35 |
| 27-Feb-2014 |
hannken | branches: 1.35.2; The current implementation of vn_lock() is racy. Modification of the vnode operations vector for active vnodes is unsafe because it is not known whether deadfs or the original file system will be called.
- Pass down LK_RETRY to the lock operation (hint for deadfs only).
- Change deadfs lock operation to return ENOENT if LK_RETRY is unset.
- Change all other lock operations to check for dead vnode once the vnode is locked and unlock and return ENOENT in this case.
With these changes in place vnode lock operations will never succeed after vclean() has marked the vnode as VI_XLOCK and before vclean() has changed the operations vector.
Adresses PR kern/37706 (Forced unmount of file systems is unsafe)
Discussed on tech-kern.
Welcome to 6.99.33
|
1.34 |
| 01-Feb-2012 |
dholland | branches: 1.34.6; 1.34.10; Change the syscall API for quotas over to the new non-proplib one.
- struct vfs_quotactl_args -> struct quotactl_args - add sys/stdint.h to sys/quotactl.h for clean userland build - install sys/quotactl.h in /usr/include - update set lists for same - add new marshalling code in libquota - add new unmarshalling code in vfs_syscalls.c - discard proplib interpreter code in vfs_quotactl.c - add dispatching code for the 14 quotactl ops in vfs_quotactl.c - mark the proplib quotactl syscall obsolete - add a new syscall number for the new quotactl syscall - change the name of the syscall to __quotactl() - remove the decl of the old quotactl from quota/quotaprop.h - add a decl of the new quotactl to sys/quotactl.h - update the libc build - update ktruss - remove proplib marshalling code from libquota - update copy of syscall table in gdb ppc sources - hack rumphijack to accomodate new quotactl name (as I recall, pooka wanted such a name change to simplify something, but I don't really see what/how)
This change appears to require a kernel version bump for rumpish reasons.
|
1.33 |
| 29-Jan-2012 |
dholland | Remove the extra op argument to VFS_QUOTACTL() - the op is now stored purely in the args structure.
This change requires a kernel version bump.
|
1.32 |
| 29-Jan-2012 |
dholland | Introduce struct vfs_quotactl_args. Use it.
This change uglifies vfs_quotactl some in order to make room for moving operation-specific but FS-independent logic out of ufs_quota.c.
Note: this change requires a kernel version bump.
|
1.31 |
| 29-Jan-2012 |
dholland | Move the proplib-based quota command dispatching (that is, the code that knows the magic string names for the allowed actions) out of UFS-specific code and to fs-independent code.
This introduces QUOTACTL_* operation codes and changes the signature of VFS_QUOTACTL() again for compile safety.
Note: this change requires a kernel version bump.
|
1.30 |
| 29-Jan-2012 |
dholland | Move the code for iterating over the multiple RPC calls in a quota proplib XML packet to vfs_quotactl.c out of sys/ufs/ufs.
Add a dummy extra arg to VFS_QUOTACTL for compile safety.
Note: this change requires a kernel version bump.
|
1.29 |
| 11-Jul-2011 |
hannken | branches: 1.29.2; 1.29.6; Change VOP_BWRITE() to take a vnode as its first argument like all other VOPs do. Layered file systems no longer have to modify bp->b_vp and run into trouble when an async VOP_BWRITE() uses the wrong vnode.
- change all occurences of VOP_BWRITE(bp) to VOP_BWRITE(bp->b_vp, bp). - remove layer_bwrite(). - welcome to 5.99.55
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
|
1.28 |
| 06-Mar-2011 |
bouyer | merge the bouyer-quota2 branch. This adds a new on-disk format to store disk quota usage and limits, integrated with ffs metadata. Usage is checked by fsck_ffs (no more quotacheck) and is covered by the WAPBL journal. Enabled with kernel option QUOTA2 (added where QUOTA was enabled in kernel config files), turned on with tunefs(8) on a per-filesystem basis. mount_mfs(8) can also turn quotas on.
See http://mail-index.netbsd.org/tech-kern/2011/02/19/msg010025.html for details.
|
1.27 |
| 10-Jan-2011 |
hannken | branches: 1.27.2; 1.27.4; Add layer_revoke() that adjusts the lower vnode use count to be at least as high as the upper vnode count before passing down the VOP_REVOKE().
This way vclean() check for active (vp->v_usecount > 1) vnodes gets it right.
Should fix PR kern/43456.
|
1.26 |
| 02-Jul-2010 |
hannken | LK_INTERLOCK is no longer a valid flag for VOP_LOCK(). This makes layer_*lock*() obsolete. Remove them and handle lock operations with the generic bypass function.
Ride 5.99.34.
|
1.25 |
| 02-Jul-2010 |
rmind | Slightly clean-up layerfs and nullfs: update the big description more to the reality (remove duplicate one in nullfs, merge some differences from it), KNF, improve and update some comments, add few KASSERT()s, remove unused declarations, avoid double inclusion of headers, misc.
No functional changes.
|
1.24 |
| 28-Jan-2008 |
dholland | branches: 1.24.10; 1.24.30; 1.24.32; Fix some race conditions in rename. Introduce a per-FS rename lock and new vfsops to manipulate it. Get this lock while renaming. Also add another relookup() in do_sys_rename, which is a hack to kludge around some of the worst deficiencies of ufs_rename. reviewed-by: pooka (and an earlier rev by ad) posted on tech-kern with no objections.
|
1.23 |
| 26-Nov-2007 |
pooka | Remove the "struct lwp *" argument from all VFS and VOP interfaces. The general trend is to remove it from all kernel interfaces and this is a start. In case the calling lwp is desired, curlwp should be used.
quick consensus on tech-kern
|
1.22 |
| 13-Jul-2006 |
martin | branches: 1.22.28; 1.22.30; 1.22.36; Fix alignement problems for fhandle_t, exposed by gcc4.1.
While touching all vptofh/fhtovp functions, get rid of VFS_MAXFIDSIZ, version the getfh(2) syscall and explicitly pass the size available in the filehandle from userland.
Discussed on tech-kern, with lots of help from yamt (thanks!).
|
1.21 |
| 14-May-2006 |
elad | branches: 1.21.4; integrate kauth.
|
1.20 |
| 11-Dec-2005 |
christos | branches: 1.20.4; 1.20.6; 1.20.8; 1.20.10; 1.20.12; merge ktrace-lwp.
|
1.19 |
| 23-Sep-2005 |
jmmv | Apply the NFS exports list rototill patch:
- Remove all NFS related stuff from file system specific code. - Drop the vfs_checkexp hook and generalize it in the new nfs_check_export function, thus removing redundancy from all file systems. - Move all NFS export-related stuff from kern/vfs_subr.c to the new file sys/nfs/nfs_export.c. The former was becoming large and its code is always compiled, regardless of the build options. Using the latter, the code is only compiled in when NFSSERVER is enabled. While doing this, also make some functions in nfs_subs.c conditional to NFSSERVER. - Add a new command in nfssvc(2), called NFSSVC_SETEXPORTSLIST, that takes a path and a set of export entries. At the moment it can only clear the exports list or append entries, one by one, but it is done in a way that allows setting the whole set of entries atomically in the future (see the comment in mountd_set_exports_list or in doc/TODO). - Change mountd(8) to use the nfssvc(2) system call instead of mount(2) so that it becomes file system agnostic. In fact, all this whole thing was done to remove a 'XXX' block from this utility! - Change the mount*, newfs and fsck* userland utilities to not deal with NFS exports initialization; done internally by the kernel when initializing the NFS support for each file system. - Implement an interface for VFS (called VFS hooks) so that several kernel subsystems can run arbitrary code upon receipt of specific VFS events. At the moment, this only provides support for unmount and is used to destroy NFS exports lists from the file systems being unmounted, though it has room for extension.
Thanks go to yamt@, chs@, thorpej@, wrstuden@ and others for their comments and advice in the development of this patch.
|
1.18 |
| 30-Aug-2005 |
xtraeme | Remove __P()
|
1.17 |
| 30-Jun-2004 |
hannken | branches: 1.17.12; Do LAYERFS_REMOVED for vop_rmdir.
Reviewed by: Bill Studenmund <wrstuden@netbsd.org>
|
1.16 |
| 07-Jun-2004 |
yamt | do a LAYERFS_REMOVED hack for vop_rename as well.
|
1.15 |
| 29-May-2004 |
wrstuden | Add layerfs_snapshot() as a handler routine for VFS_SNAPSHOT() calls through a layered file system.
Note: we don't actually support snapshots through a layered file system, and this routine returns an error. However we: 1) have clearly documented what needs fixing (which isn't trivial to fix) and 2) if we do fix this, all layered file systems can take advantage of it at once.
|
1.14 |
| 28-May-2004 |
wrstuden | Since VOP_UPCALL() has been a long time in coming, add this partial fix for layered-file-removal. It will work for the case of accessing and deleting a file through the layered file system. Accessing via the layer and deleting on the underlying still won't work, nor will accessing via complicated structures (like two umap layers over a given file systems).
We still need VOP_UPCALL(), but this is better than things were before.
This patch has been discussed off & on for a while. This incarnation was tested by hannken at netbsd dot org.
|
1.13 |
| 27-Apr-2004 |
jrf | First pass for some caddr_t removal and changes to get rid of it where we no longer use and/or need it
- removed casts from unionfs, deadfs and fdesc (there are more to hunt down still) - changed vfs_quotactl args argumet from caddr_t to void * - changed vfs_quotactl structures/callers to reflect the api change
Compiled fine and ran for about a day. Approved/reviewed by christos@netbsd.org and gimpy@netbsd.org.
|
1.12 |
| 21-Apr-2004 |
christos | Replace the statfs() family of system calls with statvfs(). Retain binary compatibility.
|
1.11 |
| 25-Jan-2004 |
hannken | branches: 1.11.2; Make VOP_STRATEGY(bp) a real VOP as discussed on tech-kern.
VOP_STRATEGY(bp) is replaced by one of two new functions:
- VOP_STRATEGY(vp, bp) Call the strategy routine of vp for bp. - DEV_STRATEGY(bp) Call the d_strategy routine of bp->b_dev for bp.
DEV_STRATEGY(bp) is used only for block-to-block device situations.
|
1.10 |
| 04-Dec-2003 |
atatat | Dynamic sysctl.
Gone are the old kern_sysctl(), cpu_sysctl(), hw_sysctl(), vfs_sysctl(), etc, routines, along with sysctl_int() et al. Now all nodes are registered with the tree, and nodes can be added (or removed) easily, and I/O to and from the tree is handled generically.
Since the nodes are registered with the tree, the mapping from name to number (and back again) can now be discovered, instead of having to be hard coded. Adding new nodes to the tree is likewise much simpler -- the new infrastructure handles almost all the work for simple types, and just about anything else can be done with a small helper function.
All existing nodes are where they were before (numerically speaking), so all existing consumers of sysctl information should notice no difference.
PS - I'm sorry, but there's a distinct lack of documentation at the moment. I'm working on sysctl(3/8/9) right now, and I promise to watch out for buses.
|
1.9 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.8 |
| 29-Jun-2003 |
fvdl | branches: 1.8.2; Back out the lwp/ktrace changes. They contained a lot of colateral damage, and need to be examined and discussed more.
|
1.7 |
| 29-Jun-2003 |
thorpej | Undo part of the ktrace/lwp changes. In particular: * Remove the "lwp *" argument that was added to vget(). Turns out that nothing actually used it! * Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(), and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted above, didn't use it). * Remove all of the "lwp *" arguments to internal functions that were added just to appease the above.
|
1.6 |
| 28-Jun-2003 |
darrenr | Pass lwp pointers throughtout the kernel, as required, so that the lwpid can be inserted into ktrace records. The general change has been to replace "struct proc *" with "struct lwp *" in various function prototypes, pass the lwp through and use l_proc to get the process pointer when needed.
Bump the kernel rev up to 1.6V
|
1.5 |
| 06-Dec-2001 |
chs | add VOP_GETPAGES and VOP_PUTPAGES methods for layered filesystems. drop the interlock on the upper layer, acquire the interlock on the lower layer.
|
1.4 |
| 07-Jun-2001 |
wiz | branches: 1.4.2; Typos in comments (misc/13133 by Michael K. Sanders)
|
1.3 |
| 16-Mar-2000 |
jdolecek | branches: 1.3.6; Add new VFS op routine - vfs_done and call it on filesystem detach in vfs_detach(). vfs_done may free global filesystem's resources, typically those allocated in respective filesystem's init function. Needed so those filesystems which went in via LKM have a chance to clean after themselves before unloading. This fixes random panics when LKM for filesystem using pools was loaded and unloaded several times.
For each leaf filesystem, add appropriate vfs_done routine.
|
1.2 |
| 13-Mar-2000 |
soren | Fix doubled 'the's in comments.
|
1.1 |
| 08-Jul-1999 |
wrstuden | branches: 1.1.2; 1.1.4; Introduce layer library in genfs. This set of files abstracts most of the functionality of nullfs. The latter is now just a mount & unmount routine, and a few tables. umapfs borrow most of this infrastructure.
Both fs's are now nfs-exportable.
All layered fs's share a common format to private mount & private vnode structs (which a particular fs can extend).
Also add genfs_noerr_rele(), a vnode op which will vrele/vput operand vnodes appropriately.
|
1.1.4.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.1.2.2 |
| 02-Aug-1999 |
thorpej | Update from trunk.
|
1.1.2.1 |
| 08-Jul-1999 |
thorpej | file layer_extern.h was added on branch chs-ubc2 on 1999-08-02 22:27:34 +0000
|
1.3.6.2 |
| 08-Jan-2002 |
nathanw | Catch up to -current.
|
1.3.6.1 |
| 21-Jun-2001 |
nathanw | Catch up to -current.
|
1.4.2.1 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.8.2.6 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.8.2.5 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.8.2.4 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.8.2.3 |
| 24-Aug-2004 |
skrll | Undo part of the ktrace/lwp changes. In particular: * Remove the "lwp *" argument that was added to vget(). Turns out that nothing actually used it! * Remove the "lwp *" arguments that were added to VFS_ROOT(), VFS_VGET(), and VFS_FHTOVP(); all they did was pass it to vget() (which, as noted above, didn't use it). * Remove all of the "lwp *" arguments to internal functions that were added just to appease the above.
|
1.8.2.2 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.8.2.1 |
| 02-Jul-2003 |
darrenr | Apply the aborted ktrace-lwp changes to a specific branch. This is just for others to review, I'm concerned that patch fuziness may have resulted in some errant code being generated but I'll look at that later by comparing the diff from the base to the branch with the file I attempt to apply to it. This will, at the very least, put the changes in a better context for others to review them and attempt to tinker with removing passing of 'struct lwp' through the kernel.
|
1.11.2.3 |
| 02-Jul-2004 |
he | Pull up revision 1.17 (requested by hannken in ticket #575): Do LAYERFS_REMOVED for vop_rmdir.
|
1.11.2.2 |
| 21-Jun-2004 |
tron | Pull up revision 1.16 (requested by yamt in ticket #512): do a LAYERFS_REMOVED hack for vop_rename as well.
|
1.11.2.1 |
| 30-May-2004 |
tron | Pull up revision 1.14 (requested by wrstuden in ticket #424): Since VOP_UPCALL() has been a long time in coming, add this partial fix for layered-file-removal. It will work for the case of accessing and deleting a file through the layered file system. Accessing via the layer and deleting on the underlying still won't work, nor will accessing via complicated structures (like two umap layers over a given file systems). We still need VOP_UPCALL(), but this is better than things were before. This patch has been discussed off & on for a while. This incarnation was tested by hannken at netbsd dot org.
|
1.17.12.4 |
| 04-Feb-2008 |
yamt | sync with head.
|
1.17.12.3 |
| 07-Dec-2007 |
yamt | sync with head
|
1.17.12.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.17.12.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.20.12.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.20.10.2 |
| 20-Apr-2006 |
christos | kauth_cred_t -> struct kauth_cred;
|
1.20.10.1 |
| 08-Mar-2006 |
elad | Adapt to kernel authorization KPI.
|
1.20.8.2 |
| 11-Aug-2006 |
yamt | sync with head
|
1.20.8.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.20.6.1 |
| 01-Jun-2006 |
kardel | Sync with head.
|
1.20.4.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.21.4.1 |
| 13-Jul-2006 |
gdamore | Merge from HEAD.
|
1.22.36.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.22.36.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.22.30.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.22.30.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.22.28.1 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
1.24.32.3 |
| 21-Apr-2011 |
rmind | sync with head
|
1.24.32.2 |
| 05-Mar-2011 |
rmind | sync with head
|
1.24.32.1 |
| 03-Jul-2010 |
rmind | sync with head
|
1.24.30.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
1.24.10.1 |
| 11-Aug-2010 |
yamt | sync with head.
|
1.27.4.1 |
| 20-Jan-2011 |
bouyer | Snapshot of work in progress on a modernised disk quota system: - new quotactl syscall (versionned for backward compat), which takes as parameter a path to a mount point, and a prop_dictionary (in plistref format) describing commands and arguments. For each command, status and data are returned as a prop_dictionary. quota commands features will be added to take advantage of this, exporting quota data or getting quota commands as plists.
- new on disk-format storage (all 64bit wide), integrated to metadata for ffs (and playing nicely with wapbl). Quotas are enabled on a ffs filesystem via superblock flags. tunefs(8) can enable or disable quotas. On a quota-enabled filesystem, fsck_ffs(8) will track per-uid/gid block and inode usages, and will check and update quotas in Pass 6. quota usage and limits are stored in unliked files (one for users, one for groups)l fsck_ffs(8) will create the files if needed, or free them if needed. This means that after enabling or disabling quotas on a filesystem; a fsck_ffs(8) run is required. quotacheck(8) is not needed any more, on a unclean shutdown fsck or journal replay will take care of fixing quotas. newfs(8) can create a ready-to-mount quota-enabled filesystem (superblock flags are set and quota inodes are created). Other new features or semantic changes: - default quota datas, applied to users or groups which don't already have a quota entry - per-user/group grace time (instead of a filesystem global one) - 0 really means "nothing allowed at all", not "no limit". If you want "no limit", set the limit to UQUAD_MAX (tools will understand "unlimited" and "-")
A quota file is structured as follow: it starts with a header, containing a few per-filesystem values, and the default quota limits. Quota entries are linked together as a simple list, each entry has a pointer (as an offset withing the file) to the next. The header has a pointer to a list of free quota entries, and a hash table of in-use entries. The size of the hash table depends on the filesystem block size (header+hash table should fit in the first block). The file is not sparse and is a multiple of filesystem block size (when the free quota entry list is empty a new filesystem block is allocated). quota entries to not cross filesystem block boundaries.
In memory, the kernel keeps a cache of recently used quota entries as a reference to the block number, and offset withing the block. The quota entry itself is keept in the buf cache.
fsck_ffs(8), tunefs(8) and newfs(8) supports are completed (with related atf tests :) The kernel can update disk usage and report it via quotactl(2).
Todo: enforce quotas limits (limits are not checked by kernel yet) update repquota, edquota and rpc.rquotad to the new world implement compat_50_quotactl ioctl. update quotactl(2) man page
fsck_ffs required fixes so that allocating new blocks or inodes will properly update the superblock and cg sumaries. This was not an issue up to now because superblock and cg sumaries check happened last, but now allocations or frees can happen in pass 6.
|
1.27.2.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.29.6.1 |
| 18-Feb-2012 |
mrg | merge to -current.
|
1.29.2.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.29.2.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.34.10.1 |
| 18-May-2014 |
rmind | sync with head
|
1.34.6.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.34.6.1 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.35.2.1 |
| 10-Aug-2014 |
tls | Rebase.
|
1.36.12.1 |
| 21-Apr-2017 |
bouyer | Sync with HEAD
|
1.36.8.2 |
| 26-Apr-2017 |
pgoyette | Sync with HEAD
|
1.36.8.1 |
| 20-Mar-2017 |
pgoyette | Sync with HEAD
|
1.36.4.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.36.4.1 |
| 05-Feb-2017 |
skrll | Sync with HEAD
|
1.39.6.1 |
| 04-Jun-2017 |
bouyer | pullup the following revisions, requested by hannken in ticket #2: src/share/man/man9/fstrans.9 1.25 src/sys/kern/vfs_mount.c 1.66 src/sys/kern/vfs_subr.c 1.468 src/sys/kern/vfs_trans.c 1.46 src/sys/kern/vfs_vnode.c 1.94, 1.95, 1.96 src/sys/kern/vnode_if.c 1.105, 1.106 src/sys/kern/vnode_if.sh 1.65, 1.66 src/sys/kern/vnode_if.src 1.76 src/sys/miscfs/genfs/genfs_io.c 1.69 src/sys/miscfs/genfs/genfs_vnops.c 1.196, 1.197 src/sys/miscfs/genfs/layer_extern.h 1.40 src/sys/miscfs/genfs/layer_vfsops.c 1.51 src/sys/miscfs/genfs/layer_vnops.c 1.67 src/sys/miscfs/nullfs/null_vnops.c 1.42 src/sys/miscfs/overlay/overlay_vnops.c 1.24 src/sys/miscfs/umapfs/umap_vnops.c 1.60 src/sys/rump/include/rump/rumpvnode_if.h 1.29, 1.30 src/sys/rump/librump/rumpkern/emul.c 1.182 src/sys/rump/librump/rumpvfs/rumpvnode_if.c 1.29, 1.30 src/sys/sys/fstrans.h 1.11 src/sys/sys/vnode.h 1.278 src/sys/sys/vnode_if.h 1.100, 1.101 src/sys/sys/vnode_impl.h 1.14, 1.15 src/sys/ufs/lfs/lfs_pages.c 1.12
Vnode state, lock and fstrans cleanup: - Rename vnode state "VS_ACTIVE" to "VS_LOADED" and add synthetic state "VS_ACTIVE" to assert a loaded vnode with usecount > 0.
- Redo FSTRANS in vnode_if.c and use it for VOP_LOCK and VOP_UNLOCK.
- Cleanup the genfs lock operations.
- Make "struct vnode_impl" member "vi_lock" a krwlock_t again.
- Remove the lock type argument from fstrans_start and fstrans_start_nowait, remove now unused FSTRANS state "FSTRANS_SUSPENDING".
|
1.40.12.1 |
| 17-Jan-2020 |
ad | Sync with head.
|
1.40.6.1 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|