#
02443708 |
| 17-Jan-2020 |
ad <ad@NetBSD.org> |
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.
|
#
5280e699 |
| 04-Jun-2017 |
hannken <hannken@NetBSD.org> |
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.
|
#
7ca4ac0f |
| 30-Mar-2017 |
hannken <hannken@NetBSD.org> |
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 low
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
show more ...
|
#
c0f141ed |
| 17-Feb-2017 |
hannken <hannken@NetBSD.org> |
Add generic genfs_suspendctl() and use it for all file systems. Layered file systems need work.
|
#
9c11c245 |
| 27-Jan-2017 |
hannken <hannken@NetBSD.org> |
Handle v_writecount from layer_open(), layer_close() and layer_revoke() so lower file system vnodes get marked as open for writing.
|
#
f804872d |
| 25-May-2014 |
hannken <hannken@NetBSD.org> |
Change layerfs from hashlist to vcache. Make VI_LOCKSHARE public again.
Ride 6.99.43
|
#
a72e818c |
| 27-Feb-2014 |
hannken <hannken@NetBSD.org> |
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 ca
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
show more ...
|
#
abf0121a |
| 01-Feb-2012 |
dholland <dholland@NetBSD.org> |
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
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.
show more ...
|
#
a53b7162 |
| 29-Jan-2012 |
dholland <dholland@NetBSD.org> |
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.
|
#
e1f717e1 |
| 29-Jan-2012 |
dholland <dholland@NetBSD.org> |
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
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.
show more ...
|
#
0d9dc27a |
| 29-Jan-2012 |
dholland <dholland@NetBSD.org> |
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 QU
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.
show more ...
|
#
5d0809c2 |
| 29-Jan-2012 |
dholland <dholland@NetBSD.org> |
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 chan
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.
show more ...
|
#
edb7d873 |
| 11-Jul-2011 |
hannken <hannken@NetBSD.org> |
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 wron
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@.
show more ...
|
#
0367ea04 |
| 06-Mar-2011 |
bouyer <bouyer@NetBSD.org> |
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
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.
show more ...
|
#
2f6090f5 |
| 10-Jan-2011 |
hannken <hannken@NetBSD.org> |
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
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.
show more ...
|
#
028129a7 |
| 02-Jul-2010 |
hannken <hannken@NetBSD.org> |
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.
|
#
97272194 |
| 02-Jul-2010 |
rmind <rmind@NetBSD.org> |
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 K
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.
show more ...
|
#
717e1785 |
| 28-Jan-2008 |
dholland <dholland@NetBSD.org> |
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 klud
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.
show more ...
|
#
61e8303e |
| 26-Nov-2007 |
pooka <pooka@NetBSD.org> |
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 shoul
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
show more ...
|
#
a3b5baed |
| 13-Jul-2006 |
martin <martin@NetBSD.org> |
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
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!).
show more ...
|
#
fc9422c9 |
| 14-May-2006 |
elad <elad@NetBSD.org> |
integrate kauth.
|
#
95e1ffb1 |
| 11-Dec-2005 |
christos <christos@NetBSD.org> |
merge ktrace-lwp.
|
#
2a3e5eeb |
| 23-Sep-2005 |
jmmv <jmmv@NetBSD.org> |
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
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.
show more ...
|
#
af97f2e8 |
| 30-Aug-2005 |
xtraeme <xtraeme@NetBSD.org> |
Remove __P()
|
#
7ca8e916 |
| 30-Jun-2004 |
hannken <hannken@NetBSD.org> |
Do LAYERFS_REMOVED for vop_rmdir.
Reviewed by: Bill Studenmund <wrstuden@netbsd.org>
|