Now
MAIN commitmail json YAML
src/sys/fs/puffs/puffs_node.c@1.34
/
diff
/
nxr@1.34
src/sys/fs/puffs/puffs_vnops.c@1.187 / diff / nxr@1.187
src/sys/fs/puffs/puffs_vnops.c@1.187 / diff / nxr@1.187
Fix the puffs_sop_thread -> puffs_cookie2vnode path:
- pass the cookie by reference
- add missing mutex_exit()
- update assertion for VNON typed vnodes
- pass the cookie by reference
- add missing mutex_exit()
- update assertion for VNON typed vnodes
MAIN commitmail json YAML
src/sys/fs/puffs/puffs_msgif.c@1.95
/
diff
/
nxr@1.95
src/sys/fs/puffs/puffs_node.c@1.32 / diff / nxr@1.32
src/sys/fs/puffs/puffs_sys.h@1.86 / diff / nxr@1.86
src/sys/fs/puffs/puffs_vfsops.c@1.114 / diff / nxr@1.114
src/sys/fs/puffs/puffs_vnops.c@1.184 / diff / nxr@1.184
src/sys/fs/puffs/puffs_node.c@1.32 / diff / nxr@1.32
src/sys/fs/puffs/puffs_sys.h@1.86 / diff / nxr@1.86
src/sys/fs/puffs/puffs_vfsops.c@1.114 / diff / nxr@1.114
src/sys/fs/puffs/puffs_vnops.c@1.184 / diff / nxr@1.184
Change puffs from hashlist to vcache.
- field "pa_nhashbuckets" of struct "puffs_kargs" becomes a no-op.
and should be removed on the next protocol version bump.
- field "pa_nhashbuckets" of struct "puffs_kargs" becomes a no-op.
and should be removed on the next protocol version bump.
MAIN commitmail json YAML
Use mount from argument "mp", "vp->v_mount" is not valid here.
PR kern/49142 (panic in ext2fs_loadvnode mounting an ext2fs filesystem)
Needs pullup to -7
PR kern/49142 (panic in ext2fs_loadvnode mounting an ext2fs filesystem)
Needs pullup to -7
MAIN commitmail json YAML
Needs HASH_SLIST, not HASH_LIST.
MAIN commitmail json YAML
src/sys/fs/ptyfs/ptyfs.h@1.14
/
diff
/
nxr@1.14
src/sys/fs/ptyfs/ptyfs_subr.c@1.31 / diff / nxr@1.31
src/sys/fs/ptyfs/ptyfs_vfsops.c@1.53 / diff / nxr@1.53
src/sys/fs/ptyfs/ptyfs_vnops.c@1.49 / diff / nxr@1.49
src/sys/fs/ptyfs/ptyfs_subr.c@1.31 / diff / nxr@1.31
src/sys/fs/ptyfs/ptyfs_vfsops.c@1.53 / diff / nxr@1.53
src/sys/fs/ptyfs/ptyfs_vnops.c@1.49 / diff / nxr@1.49
Change ptyfs to vcache.
- Use (type, minor) as key.
- Change ptyfs_allocvp to return a referenced vnode and lock where needed.
- Remove unneeded vnode backpointer ptyfs_vnode.
- Keep a single hashlist for pty nodes to make their attributes persistent.
OK: Christos Zoulas
- Use (type, minor) as key.
- Change ptyfs_allocvp to return a referenced vnode and lock where needed.
- Remove unneeded vnode backpointer ptyfs_vnode.
- Keep a single hashlist for pty nodes to make their attributes persistent.
OK: Christos Zoulas
MAIN commitmail json YAML
Adapt to reality -- already open BSD style nodes do not appear on
ptyfs mounts (this changed some months ago).
ptyfs mounts (this changed some months ago).
MAIN commitmail json YAML
src/sys/fs/ptyfs/ptyfs.h@1.13
/
diff
/
nxr@1.13
src/sys/fs/ptyfs/ptyfs_subr.c@1.30 / diff / nxr@1.30
src/sys/fs/ptyfs/ptyfs_vfsops.c@1.51 / diff / nxr@1.51
src/sys/fs/ptyfs/ptyfs_vnops.c@1.48 / diff / nxr@1.48
src/sys/fs/ptyfs/ptyfs_subr.c@1.30 / diff / nxr@1.30
src/sys/fs/ptyfs/ptyfs_vfsops.c@1.51 / diff / nxr@1.51
src/sys/fs/ptyfs/ptyfs_vnops.c@1.48 / diff / nxr@1.48
- Add a map of active controlling ptys per mount and no longer abuse
the vnode lifecycle.
- No longer set "recycle" on VOP_INACTIVE().
- Make ptyfs_used_get() private to ptyfs_subr.c
- Stop copying device attributes from traditional ptys on first allocation.
- Remove unneeded argument "lwp" from ptyfs_allocvp() and ptyfs_free_get().
OK: Christos Zoulas
the vnode lifecycle.
- No longer set "recycle" on VOP_INACTIVE().
- Make ptyfs_used_get() private to ptyfs_subr.c
- Stop copying device attributes from traditional ptys on first allocation.
- Remove unneeded argument "lwp" from ptyfs_allocvp() and ptyfs_free_get().
OK: Christos Zoulas
MAIN commitmail json YAML
src/sys/fs/hfs/files.hfs@1.3
/
diff
/
nxr@1.3
src/sys/fs/hfs/hfs.h@1.9 / diff / nxr@1.9
src/sys/fs/hfs/hfs_nhash.c deleted
src/sys/fs/hfs/hfs_vfsops.c@1.32 / diff / nxr@1.32
src/sys/fs/hfs/hfs_vnops.c@1.31 / diff / nxr@1.31
src/sys/modules/hfs/Makefile@1.2 / diff / nxr@1.2
src/sys/rump/fs/lib/libhfs/Makefile@1.4 / diff / nxr@1.4
src/sys/fs/hfs/hfs.h@1.9 / diff / nxr@1.9
src/sys/fs/hfs/hfs_nhash.c deleted
src/sys/fs/hfs/hfs_vfsops.c@1.32 / diff / nxr@1.32
src/sys/fs/hfs/hfs_vnops.c@1.31 / diff / nxr@1.31
src/sys/modules/hfs/Makefile@1.2 / diff / nxr@1.2
src/sys/rump/fs/lib/libhfs/Makefile@1.4 / diff / nxr@1.4
Change hfs from hashlist to vcache.
- use (cnid, fork) as key.
- use pool for hfs nodes.
- use (cnid, fork) as key.
- use pool for hfs nodes.
MAIN commitmail json YAML
src/sys/fs/efs/efs_ihash.c deleted
src/sys/fs/efs/efs_ihash.h deleted
src/sys/fs/efs/efs_vfsops.c@1.26 / diff / nxr@1.26
src/sys/fs/efs/efs_vnops.c@1.33 / diff / nxr@1.33
src/sys/fs/efs/files.efs@1.2 / diff / nxr@1.2
src/sys/modules/efs/Makefile@1.2 / diff / nxr@1.2
src/sys/rump/fs/lib/libefs/Makefile@1.4 / diff / nxr@1.4
src/sys/fs/efs/efs_ihash.h deleted
src/sys/fs/efs/efs_vfsops.c@1.26 / diff / nxr@1.26
src/sys/fs/efs/efs_vnops.c@1.33 / diff / nxr@1.33
src/sys/fs/efs/files.efs@1.2 / diff / nxr@1.2
src/sys/modules/efs/Makefile@1.2 / diff / nxr@1.2
src/sys/rump/fs/lib/libefs/Makefile@1.4 / diff / nxr@1.4
Change efs from hashlist to vcache.
MAIN commitmail json YAML
src/sys/fs/adosfs/adosfs.h@1.13
/
diff
/
nxr@1.13
src/sys/fs/adosfs/adutil.c@1.17 / diff / nxr@1.17
src/sys/fs/adosfs/advfsops.c@1.71 / diff / nxr@1.71
src/sys/fs/adosfs/advnops.c@1.45 / diff / nxr@1.45
src/sys/fs/adosfs/adutil.c@1.17 / diff / nxr@1.17
src/sys/fs/adosfs/advfsops.c@1.71 / diff / nxr@1.71
src/sys/fs/adosfs/advnops.c@1.45 / diff / nxr@1.45
Change adosfs from hashlist to vcache.
- point ap->block to real file header block for hard links.
- point ap->block to real file header block for hard links.
MAIN commitmail json YAML
src/sys/miscfs/procfs/procfs.h@1.70
/
diff
/
nxr@1.70
src/sys/miscfs/procfs/procfs_subr.c@1.105 / diff / nxr@1.105
src/sys/miscfs/procfs/procfs_vfsops.c@1.92 / diff / nxr@1.92
src/sys/miscfs/procfs/procfs_vnops.c@1.191 / diff / nxr@1.191
src/sys/miscfs/procfs/procfs_subr.c@1.105 / diff / nxr@1.105
src/sys/miscfs/procfs/procfs_vfsops.c@1.92 / diff / nxr@1.92
src/sys/miscfs/procfs/procfs_vnops.c@1.191 / diff / nxr@1.191
Change procfs from hashlist to vcache.
- Key is (type, pid, fd)
- Remove argument "p" from procfs_allocvp(). It is only used
when "type == PFSfd". Lookup the proc with proc_find() when
procfs_loadvnode() needs it.
- Use a vfs_vnode_iterator for procfs_revoke_vnodes().
- Key is (type, pid, fd)
- Remove argument "p" from procfs_allocvp(). It is only used
when "type == PFSfd". Lookup the proc with proc_find() when
procfs_loadvnode() needs it.
- Use a vfs_vnode_iterator for procfs_revoke_vnodes().
MAIN commitmail json YAML
src/sys/miscfs/kernfs/files.kernfs@1.5
/
diff
/
nxr@1.5
src/sys/miscfs/kernfs/kernfs.h@1.40 / diff / nxr@1.40
src/sys/miscfs/kernfs/kernfs_subr.c deleted
src/sys/miscfs/kernfs/kernfs_vfsops.c@1.95 / diff / nxr@1.95
src/sys/miscfs/kernfs/kernfs_vnops.c@1.153 / diff / nxr@1.153
src/sys/modules/kernfs/Makefile@1.2 / diff / nxr@1.2
src/sys/rump/fs/lib/libkernfs/Makefile@1.2 / diff / nxr@1.2
src/sys/miscfs/kernfs/kernfs.h@1.40 / diff / nxr@1.40
src/sys/miscfs/kernfs/kernfs_subr.c deleted
src/sys/miscfs/kernfs/kernfs_vfsops.c@1.95 / diff / nxr@1.95
src/sys/miscfs/kernfs/kernfs_vnops.c@1.153 / diff / nxr@1.153
src/sys/modules/kernfs/Makefile@1.2 / diff / nxr@1.2
src/sys/rump/fs/lib/libkernfs/Makefile@1.2 / diff / nxr@1.2
Change kernfs from hashlist to vcache.
MAIN commitmail json YAML
Remove another KAME IPSEC residue, "struct secasvar" and "struct secpolicy".
MAIN commitmail json YAML
src/sys/miscfs/kernfs/kernfs.h@1.38
/
diff
/
nxr@1.38
src/sys/miscfs/kernfs/kernfs_subr.c@1.28 / diff / nxr@1.28
src/sys/miscfs/kernfs/kernfs_vfsops.c@1.94 / diff / nxr@1.94
src/sys/miscfs/kernfs/kernfs_vnops.c@1.152 / diff / nxr@1.152
src/sys/miscfs/kernfs/kernfs_subr.c@1.28 / diff / nxr@1.28
src/sys/miscfs/kernfs/kernfs_vfsops.c@1.94 / diff / nxr@1.94
src/sys/miscfs/kernfs/kernfs_vnops.c@1.152 / diff / nxr@1.152
Finish KAME IPSEC removal:
- Remove field kfs_value, it is always zero. Compute the hash from kt_tag.
- Remove stray definitions kernfs_revoke_sa and kernfs_revoke_sp.
While here, remove kfs_type from allocvp(), it is always kt->kt_tag.
- Remove field kfs_value, it is always zero. Compute the hash from kt_tag.
- Remove stray definitions kernfs_revoke_sa and kernfs_revoke_sp.
While here, remove kfs_type from allocvp(), it is always kt->kt_tag.
MAIN commitmail json YAML
src/sys/miscfs/fdesc/fdesc.h@1.22
/
diff
/
nxr@1.22
src/sys/miscfs/fdesc/fdesc_vfsops.c@1.89 / diff / nxr@1.89
src/sys/miscfs/fdesc/fdesc_vnops.c@1.120 / diff / nxr@1.120
src/sys/miscfs/fdesc/fdesc_vfsops.c@1.89 / diff / nxr@1.89
src/sys/miscfs/fdesc/fdesc_vnops.c@1.120 / diff / nxr@1.120
Change fdesc from hashlist to vcache.
MAIN commitmail json YAML
Prevent detaching an open device unless forced.
MAIN commitmail json YAML
src/sys/fs/msdosfs/denode.h@1.24
/
diff
/
nxr@1.24
src/sys/fs/msdosfs/msdosfs_denode.c@1.50 / diff / nxr@1.50
src/sys/fs/msdosfs/msdosfs_lookup.c@1.33 / diff / nxr@1.33
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.109 / diff / nxr@1.109
src/sys/fs/msdosfs/msdosfs_vnops.c@1.90 / diff / nxr@1.90
src/sys/fs/msdosfs/msdosfsmount.h@1.20 / diff / nxr@1.20
src/sys/fs/msdosfs/msdosfs_denode.c@1.50 / diff / nxr@1.50
src/sys/fs/msdosfs/msdosfs_lookup.c@1.33 / diff / nxr@1.33
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.109 / diff / nxr@1.109
src/sys/fs/msdosfs/msdosfs_vnops.c@1.90 / diff / nxr@1.90
src/sys/fs/msdosfs/msdosfsmount.h@1.20 / diff / nxr@1.20
Change msdosfs from hashlist to vcache:
- Use (dir_cluster, dir_offset, dir_generation) as key, where
dir_generation is non-zero and unique for unlinked but open nodes.
- Change deget() to return a vnode as it is unsafe to return a
referenced but unlocked denode.
- Use (dir_cluster, dir_offset, dir_generation) as key, where
dir_generation is non-zero and unique for unlinked but open nodes.
- Change deget() to return a vnode as it is unsafe to return a
referenced but unlocked denode.
MAIN commitmail json YAML
Use vcache_rekey_* for nfs_lookitup() in the "*npp != NULL" case.
MAIN commitmail json YAML
src/sys/kern/vfs_vnode.c@1.37
/
diff
/
nxr@1.37
src/sys/sys/param.h@1.456 / diff / nxr@1.456
src/sys/sys/vnode.h@1.249 / diff / nxr@1.249
src/sys/sys/param.h@1.456 / diff / nxr@1.456
src/sys/sys/vnode.h@1.249 / diff / nxr@1.249
Add vcache operations to support key changes:
vcache_rekey_enter locks the old cache node and creates and locks the
new cache node. It is an error if the new cache node exists.
vcache_rekey_exit removes the old cache node and finalizes and
unlocks the new cache node.
No objections on tech-kern@
Welcome to 6.99.46
vcache_rekey_enter locks the old cache node and creates and locks the
new cache node. It is an error if the new cache node exists.
vcache_rekey_exit removes the old cache node and finalizes and
unlocks the new cache node.
No objections on tech-kern@
Welcome to 6.99.46
MAIN commitmail json YAML
Consistently pass a "struct piixpm_softc" to piixpm_intr.
Prevents a crash on hardware interrupts.
Prevents a crash on hardware interrupts.
MAIN commitmail json YAML
CID 1223346: No need to check bp against NULL. It is always valid here.
MAIN commitmail json YAML
Unlock directory vnode after VOP_CREATE.
MAIN commitmail json YAML
src/sys/fs/cd9660/cd9660_lookup.c@1.29
/
diff
/
nxr@1.29
src/sys/fs/cd9660/cd9660_node.c@1.33 / diff / nxr@1.33
src/sys/fs/cd9660/cd9660_node.h@1.16 / diff / nxr@1.16
src/sys/fs/cd9660/cd9660_vfsops.c@1.87 / diff / nxr@1.87
src/sys/fs/cd9660/cd9660_node.c@1.33 / diff / nxr@1.33
src/sys/fs/cd9660/cd9660_node.h@1.16 / diff / nxr@1.16
src/sys/fs/cd9660/cd9660_vfsops.c@1.87 / diff / nxr@1.87
Change cd9660 from hashlist to vcache.
MAIN commitmail json YAML
src/sys/fs/cd9660/cd9660_bmap.c@1.5
/
diff
/
nxr@1.5
src/sys/fs/cd9660/cd9660_lookup.c@1.28 / diff / nxr@1.28
src/sys/fs/cd9660/cd9660_node.c@1.32 / diff / nxr@1.32
src/sys/fs/cd9660/cd9660_node.h@1.15 / diff / nxr@1.15
src/sys/fs/cd9660/cd9660_vfsops.c@1.86 / diff / nxr@1.86
src/sys/fs/cd9660/cd9660_vnops.c@1.48 / diff / nxr@1.48
src/sys/fs/cd9660/cd9660_lookup.c@1.28 / diff / nxr@1.28
src/sys/fs/cd9660/cd9660_node.c@1.32 / diff / nxr@1.32
src/sys/fs/cd9660/cd9660_node.h@1.15 / diff / nxr@1.15
src/sys/fs/cd9660/cd9660_vfsops.c@1.86 / diff / nxr@1.86
src/sys/fs/cd9660/cd9660_vnops.c@1.48 / diff / nxr@1.48
Remove the hints "isodir" and "relocated" from cd9660_vget_internal()
and always reread the directory entry by inumber. For directories
the directory entry is always its "." entry.
Always read directories via the device vnode to prevent buffer cache
inconsistency. Keep i_devvp as a hint for fstat(1) and friends and
always use im_devvp for reads. No need to vref()/vrele() i_devvp.
The additional bread is either cached because cd9660_lookup() just
released the buffer or will be used in the near future when the
directory gets traversed during lookup.
No objections on tech-kern@
and always reread the directory entry by inumber. For directories
the directory entry is always its "." entry.
Always read directories via the device vnode to prevent buffer cache
inconsistency. Keep i_devvp as a hint for fstat(1) and friends and
always use im_devvp for reads. No need to vref()/vrele() i_devvp.
The additional bread is either cached because cd9660_lookup() just
released the buffer or will be used in the near future when the
directory gets traversed during lookup.
No objections on tech-kern@
MAIN commitmail json YAML
src/sys/dev/ccd.c@1.149
/
diff
/
nxr@1.149
src/sys/dev/cgd.c@1.88 / diff / nxr@1.88
src/sys/dev/dksubr.c@1.51 / diff / nxr@1.51
src/sys/dev/dm/dm.h@1.26 / diff / nxr@1.26
src/sys/dev/dm/dm_target_linear.c@1.14 / diff / nxr@1.14
src/sys/dev/dm/dm_target_snapshot.c@1.16 / diff / nxr@1.16
src/sys/dev/dm/dm_target_stripe.c@1.19 / diff / nxr@1.19
src/sys/dev/raidframe/rf_copyback.c@1.50 / diff / nxr@1.50
src/sys/dev/raidframe/rf_disks.c@1.86 / diff / nxr@1.86
src/sys/dev/raidframe/rf_reconstruct.c@1.120 / diff / nxr@1.120
src/sys/sys/param.h@1.454 / diff / nxr@1.454
src/sys/dev/cgd.c@1.88 / diff / nxr@1.88
src/sys/dev/dksubr.c@1.51 / diff / nxr@1.51
src/sys/dev/dm/dm.h@1.26 / diff / nxr@1.26
src/sys/dev/dm/dm_target_linear.c@1.14 / diff / nxr@1.14
src/sys/dev/dm/dm_target_snapshot.c@1.16 / diff / nxr@1.16
src/sys/dev/dm/dm_target_stripe.c@1.19 / diff / nxr@1.19
src/sys/dev/raidframe/rf_copyback.c@1.50 / diff / nxr@1.50
src/sys/dev/raidframe/rf_disks.c@1.86 / diff / nxr@1.86
src/sys/dev/raidframe/rf_reconstruct.c@1.120 / diff / nxr@1.120
src/sys/sys/param.h@1.454 / diff / nxr@1.454
Change dk_lookup() to return an anonymous vnode not associated with
any file system. Change all consumers of dk_lookup() to get the
device from "v_rdev" instead of VOP_GETATTR() as specfs does not
support VOP_GETATTR(). Devices obtained with dk_lookup() will no
longer disappear on forced unmounts.
Fix for PR kern/48849 (root mirror raid fails on shutdown)
Welcome to 6.99.44
any file system. Change all consumers of dk_lookup() to get the
device from "v_rdev" instead of VOP_GETATTR() as specfs does not
support VOP_GETATTR(). Devices obtained with dk_lookup() will no
longer disappear on forced unmounts.
Fix for PR kern/48849 (root mirror raid fails on shutdown)
Welcome to 6.99.44
MAIN commitmail json YAML
src/sys/nfs/nfs_node.c@1.118
/
diff
/
nxr@1.118
src/sys/nfs/nfs_var.h@1.92 / diff / nxr@1.92
src/sys/nfs/nfs_vfsops.c@1.229 / diff / nxr@1.229
src/sys/nfs/nfsmount.h@1.52 / diff / nxr@1.52
src/sys/nfs/nfsnode.h@1.73 / diff / nxr@1.73
src/sys/nfs/nfs_var.h@1.92 / diff / nxr@1.92
src/sys/nfs/nfs_vfsops.c@1.229 / diff / nxr@1.229
src/sys/nfs/nfsmount.h@1.52 / diff / nxr@1.52
src/sys/nfs/nfsnode.h@1.73 / diff / nxr@1.73
Change NFS from rbtree to vcache.
MAIN commitmail json YAML
vfs_vnode_iterator_next(): if a vnode is reclaiming (VI_XLOCK) skip
the filter. Vget() will wait until the vnode disappeared. No more
"dangling vnode" panics on unmount.
the filter. Vget() will wait until the vnode disappeared. No more
"dangling vnode" panics on unmount.
MAIN commitmail json YAML
msdosfs_reclaim(): add missing fstrans and protect change
of v_data with v_interlock as msdosfs_sync() now needs it.
of v_data with v_interlock as msdosfs_sync() now needs it.
MAIN commitmail json YAML
Testing "v_usecount == 1" for exclusive reference will not always
work -- remove and test only readonly.
work -- remove and test only readonly.
MAIN commitmail json YAML
Change field "layerm_tag" to correct type "enum vtagtype".
CID 1216449: Mixing enum types
CID 1216449: Mixing enum types
MAIN commitmail json YAML
The pageflush_selector gets a vnode with v_interlock held.
Remove the mutex_enter()/mutex_exit() and simplify.
Hi christos...
Remove the mutex_enter()/mutex_exit() and simplify.
Hi christos...
MAIN commitmail json YAML
src/sys/ufs/ext2fs/ext2fs_extern.h@1.47
/
diff
/
nxr@1.47
src/sys/ufs/ext2fs/ext2fs_lookup.c@1.76 / diff / nxr@1.76
src/sys/ufs/ext2fs/ext2fs_lookup.c@1.76 / diff / nxr@1.76
Remove ext2fs_checkpath(). It is a relic from the pre-genfs_rename era.
MAIN commitmail json YAML
Use broadcast after freeing a cache entry. A waiter may not
use a cache entry after wakeup leading to possible deadlock.
use a cache entry after wakeup leading to possible deadlock.
MAIN commitmail json YAML
src/sys/miscfs/genfs/layer.h@1.15
/
diff
/
nxr@1.15
src/sys/miscfs/genfs/layer_extern.h@1.36 / diff / nxr@1.36
src/sys/miscfs/genfs/layer_subr.c@1.36 / diff / nxr@1.36
src/sys/miscfs/genfs/layer_vfsops.c@1.44 / diff / nxr@1.44
src/sys/miscfs/genfs/layer_vnops.c@1.58 / diff / nxr@1.58
src/sys/miscfs/nullfs/null_vfsops.c@1.89 / diff / nxr@1.89
src/sys/miscfs/overlay/overlay_vfsops.c@1.62 / diff / nxr@1.62
src/sys/miscfs/umapfs/umap_vfsops.c@1.93 / diff / nxr@1.93
src/sys/sys/vnode.h@1.248 / diff / nxr@1.248
src/sys/miscfs/genfs/layer_extern.h@1.36 / diff / nxr@1.36
src/sys/miscfs/genfs/layer_subr.c@1.36 / diff / nxr@1.36
src/sys/miscfs/genfs/layer_vfsops.c@1.44 / diff / nxr@1.44
src/sys/miscfs/genfs/layer_vnops.c@1.58 / diff / nxr@1.58
src/sys/miscfs/nullfs/null_vfsops.c@1.89 / diff / nxr@1.89
src/sys/miscfs/overlay/overlay_vfsops.c@1.62 / diff / nxr@1.62
src/sys/miscfs/umapfs/umap_vfsops.c@1.93 / diff / nxr@1.93
src/sys/sys/vnode.h@1.248 / diff / nxr@1.248
Change layerfs from hashlist to vcache.
Make VI_LOCKSHARE public again.
Ride 6.99.43
Make VI_LOCKSHARE public again.
Ride 6.99.43
MAIN commitmail json YAML
src/sys/ufs/lfs/ulfs_extern.h@1.13
/
diff
/
nxr@1.13
src/sys/ufs/lfs/ulfs_lookup.c@1.20 / diff / nxr@1.20
src/sys/ufs/lfs/ulfs_lookup.c@1.20 / diff / nxr@1.20
Remove ulfs_checkpath() and ulfs_readdotdot(). These are relics
from the pre-genfs_rename era.
from the pre-genfs_rename era.
MAIN commitmail json YAML
src/sys/ufs/ufs/ufs_extern.h@1.75
/
diff
/
nxr@1.75
src/sys/ufs/ufs/ufs_lookup.c@1.131 / diff / nxr@1.131
src/sys/ufs/ufs/ufs_lookup.c@1.131 / diff / nxr@1.131
Remove ufs_checkpath() and ufs_readdotdot(). These are relics
from the pre-genfs_rename era.
from the pre-genfs_rename era.
MAIN commitmail json YAML
ext2fs_mknod: use vcache_get() to reload the new node.
MAIN commitmail json YAML
ext2fs_gro_genealogy: use vcache_get() to lookup DOTDOT.
MAIN commitmail json YAML
ufs_mknod: use vcache_get() to reload the new node.
MAIN commitmail json YAML
ufs_gro_genealogy: use vcache_get() to lookup DOTDOT.
MAIN commitmail json YAML
src/sys/kern/init_sysctl.c@1.203
/
diff
/
nxr@1.203
src/sys/kern/vfs_vnode.c@1.36 / diff / nxr@1.36
src/sys/modules/ffs/Makefile@1.9 / diff / nxr@1.9
src/sys/rump/fs/lib/libffs/Makefile@1.15 / diff / nxr@1.15
src/sys/sys/mount.h@1.213 / diff / nxr@1.213
src/sys/sys/param.h@1.451 / diff / nxr@1.451
src/sys/sys/vnode.h@1.247 / diff / nxr@1.247
src/sys/ufs/ext2fs/ext2fs_lookup.c@1.75 / diff / nxr@1.75
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.181 / diff / nxr@1.181
src/sys/ufs/ffs/ffs_vfsops.c@1.298 / diff / nxr@1.298
src/sys/ufs/files.ufs@1.35 / diff / nxr@1.35
src/sys/ufs/mfs/mfs_vfsops.c@1.108 / diff / nxr@1.108
src/sys/ufs/ufs/inode.h@1.66 / diff / nxr@1.66
src/sys/ufs/ufs/ufs_extern.h@1.74 / diff / nxr@1.74
src/sys/ufs/ufs/ufs_ihash.c deleted
src/sys/ufs/ufs/ufs_inode.c@1.90 / diff / nxr@1.90
src/sys/ufs/ufs/ufs_lookup.c@1.130 / diff / nxr@1.130
src/sys/ufs/ufs/ufs_vfsops.c@1.53 / diff / nxr@1.53
src/usr.bin/vmstat/vmstat.c@1.192 / diff / nxr@1.192
src/sys/kern/vfs_vnode.c@1.36 / diff / nxr@1.36
src/sys/modules/ffs/Makefile@1.9 / diff / nxr@1.9
src/sys/rump/fs/lib/libffs/Makefile@1.15 / diff / nxr@1.15
src/sys/sys/mount.h@1.213 / diff / nxr@1.213
src/sys/sys/param.h@1.451 / diff / nxr@1.451
src/sys/sys/vnode.h@1.247 / diff / nxr@1.247
src/sys/ufs/ext2fs/ext2fs_lookup.c@1.75 / diff / nxr@1.75
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.181 / diff / nxr@1.181
src/sys/ufs/ffs/ffs_vfsops.c@1.298 / diff / nxr@1.298
src/sys/ufs/files.ufs@1.35 / diff / nxr@1.35
src/sys/ufs/mfs/mfs_vfsops.c@1.108 / diff / nxr@1.108
src/sys/ufs/ufs/inode.h@1.66 / diff / nxr@1.66
src/sys/ufs/ufs/ufs_extern.h@1.74 / diff / nxr@1.74
src/sys/ufs/ufs/ufs_ihash.c deleted
src/sys/ufs/ufs/ufs_inode.c@1.90 / diff / nxr@1.90
src/sys/ufs/ufs/ufs_lookup.c@1.130 / diff / nxr@1.130
src/sys/ufs/ufs/ufs_vfsops.c@1.53 / diff / nxr@1.53
src/usr.bin/vmstat/vmstat.c@1.192 / diff / nxr@1.192
Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair.
- vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to
initialise a vnode / fs node pair. This call is guaranteed exclusive,
no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
- vcache_get() retrieves a referenced and initialised vnode / fs node pair.
- vcache_remove() removes a vnode / fs node pair from the cache.
On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to
initialise a vnode / fs node pair. This call is guaranteed exclusive,
no other thread will try to load this vnode / fs node pair.
Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.
Remove now unused ufs/ufs_ihash
Discussed on tech-kern.
Welcome to 6.99.41
MAIN commitmail json YAML
Add __diagused.
MAIN commitmail json YAML
Fix a deadlock where one thread exits, enters fstrans_lwp_dtor()
and wants fstrans_lock. This thread holds the proc_lock.
Another thread holds fstrans_lock and runs pserialize_perform().
As the first thread holds the proc_lock, timeouts are blocked and
the second thread blocks forever in kpause().
Change fstrans_lwp_dtor() to invalidate, but not free its info
structs. No need to take fstrans_lock.
Change fstrans_get_lwp_info() to reuse invalidated info before
trying to allocate a new one.
and wants fstrans_lock. This thread holds the proc_lock.
Another thread holds fstrans_lock and runs pserialize_perform().
As the first thread holds the proc_lock, timeouts are blocked and
the second thread blocks forever in kpause().
Change fstrans_lwp_dtor() to invalidate, but not free its info
structs. No need to take fstrans_lock.
Change fstrans_get_lwp_info() to reuse invalidated info before
trying to allocate a new one.
MAIN commitmail json YAML
Add __diagused.
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.1886
/
diff
/
nxr@1.1886
src/share/man/man9/Makefile@1.377 / diff / nxr@1.377
src/share/man/man9/vnode.9@1.61 / diff / nxr@1.61
src/sys/fs/puffs/puffs_vnops.c@1.181 / diff / nxr@1.181
src/sys/fs/union/union_vnops.c@1.59 / diff / nxr@1.59
src/sys/kern/vfs_vnode.c@1.35 / diff / nxr@1.35
src/sys/miscfs/genfs/genfs_vnops.c@1.192 / diff / nxr@1.192
src/sys/miscfs/genfs/layer_vnops.c@1.57 / diff / nxr@1.57
src/sys/miscfs/specfs/spec_vnops.c@1.143 / diff / nxr@1.143
src/sys/sys/param.h@1.447 / diff / nxr@1.447
src/sys/sys/vnode.h@1.246 / diff / nxr@1.246
src/sys/ufs/ext2fs/ext2fs_vnops.c@1.111 / diff / nxr@1.111
src/sys/ufs/ffs/ffs_vnops.c@1.124 / diff / nxr@1.124
src/sys/ufs/lfs/lfs_segment.c@1.236 / diff / nxr@1.236
src/sys/ufs/lfs/lfs_syscalls.c@1.152 / diff / nxr@1.152
src/sys/ufs/lfs/lfs_vfsops.c@1.320 / diff / nxr@1.320
src/sys/ufs/lfs/lfs_vnops.c@1.262 / diff / nxr@1.262
src/usr.sbin/pstat/pstat.8@1.40 / diff / nxr@1.40
src/usr.sbin/pstat/pstat.c@1.123 / diff / nxr@1.123
src/share/man/man9/Makefile@1.377 / diff / nxr@1.377
src/share/man/man9/vnode.9@1.61 / diff / nxr@1.61
src/sys/fs/puffs/puffs_vnops.c@1.181 / diff / nxr@1.181
src/sys/fs/union/union_vnops.c@1.59 / diff / nxr@1.59
src/sys/kern/vfs_vnode.c@1.35 / diff / nxr@1.35
src/sys/miscfs/genfs/genfs_vnops.c@1.192 / diff / nxr@1.192
src/sys/miscfs/genfs/layer_vnops.c@1.57 / diff / nxr@1.57
src/sys/miscfs/specfs/spec_vnops.c@1.143 / diff / nxr@1.143
src/sys/sys/param.h@1.447 / diff / nxr@1.447
src/sys/sys/vnode.h@1.246 / diff / nxr@1.246
src/sys/ufs/ext2fs/ext2fs_vnops.c@1.111 / diff / nxr@1.111
src/sys/ufs/ffs/ffs_vnops.c@1.124 / diff / nxr@1.124
src/sys/ufs/lfs/lfs_segment.c@1.236 / diff / nxr@1.236
src/sys/ufs/lfs/lfs_syscalls.c@1.152 / diff / nxr@1.152
src/sys/ufs/lfs/lfs_vfsops.c@1.320 / diff / nxr@1.320
src/sys/ufs/lfs/lfs_vnops.c@1.262 / diff / nxr@1.262
src/usr.sbin/pstat/pstat.8@1.40 / diff / nxr@1.40
src/usr.sbin/pstat/pstat.c@1.123 / diff / nxr@1.123
- Make VI_XLOCK, VI_CLEAN and VI_LOCKSHARE private to kern/vfs_*.c.
- Make vwait() static.
- Add vdead_check() to check a vnode for being or becoming dead.
Discussed on tech-kern.
Welcome to 6.99.38
- Make vwait() static.
- Add vdead_check() to check a vnode for being or becoming dead.
Discussed on tech-kern.
Welcome to 6.99.38
MAIN commitmail json YAML
src/sys/coda/coda_vfsops.c@1.80
/
diff
/
nxr@1.80
src/sys/fs/adosfs/advfsops.c@1.69 / diff / nxr@1.69
src/sys/fs/cd9660/cd9660_vfsops.c@1.82 / diff / nxr@1.82
src/sys/fs/filecorefs/filecore_vfsops.c@1.75 / diff / nxr@1.75
src/sys/fs/hfs/hfs_vfsops.c@1.30 / diff / nxr@1.30
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.106 / diff / nxr@1.106
src/sys/fs/nilfs/nilfs_vfsops.c@1.15 / diff / nxr@1.15
src/sys/fs/ntfs/ntfs_vfsops.c@1.93 / diff / nxr@1.93
src/sys/fs/ptyfs/ptyfs_vfsops.c@1.47 / diff / nxr@1.47
src/sys/fs/puffs/puffs_vfsops.c@1.109 / diff / nxr@1.109
src/sys/fs/smbfs/smbfs_vfsops.c@1.99 / diff / nxr@1.99
src/sys/fs/sysvbfs/sysvbfs.c@1.13 / diff / nxr@1.13
src/sys/fs/tmpfs/tmpfs_vfsops.c@1.58 / diff / nxr@1.58
src/sys/fs/udf/udf_vfsops.c@1.66 / diff / nxr@1.66
src/sys/fs/union/union_vfsops.c@1.71 / diff / nxr@1.71
src/sys/fs/unionfs/unionfs_vfsops.c@1.12 / diff / nxr@1.12
src/sys/fs/v7fs/v7fs_extern.c@1.2 / diff / nxr@1.2
src/sys/miscfs/deadfs/dead_vfsops.c@1.2 / diff / nxr@1.2
src/sys/miscfs/fdesc/fdesc_vfsops.c@1.88 / diff / nxr@1.88
src/sys/miscfs/kernfs/kernfs_vfsops.c@1.93 / diff / nxr@1.93
:
(more 10 files)
src/sys/fs/adosfs/advfsops.c@1.69 / diff / nxr@1.69
src/sys/fs/cd9660/cd9660_vfsops.c@1.82 / diff / nxr@1.82
src/sys/fs/filecorefs/filecore_vfsops.c@1.75 / diff / nxr@1.75
src/sys/fs/hfs/hfs_vfsops.c@1.30 / diff / nxr@1.30
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.106 / diff / nxr@1.106
src/sys/fs/nilfs/nilfs_vfsops.c@1.15 / diff / nxr@1.15
src/sys/fs/ntfs/ntfs_vfsops.c@1.93 / diff / nxr@1.93
src/sys/fs/ptyfs/ptyfs_vfsops.c@1.47 / diff / nxr@1.47
src/sys/fs/puffs/puffs_vfsops.c@1.109 / diff / nxr@1.109
src/sys/fs/smbfs/smbfs_vfsops.c@1.99 / diff / nxr@1.99
src/sys/fs/sysvbfs/sysvbfs.c@1.13 / diff / nxr@1.13
src/sys/fs/tmpfs/tmpfs_vfsops.c@1.58 / diff / nxr@1.58
src/sys/fs/udf/udf_vfsops.c@1.66 / diff / nxr@1.66
src/sys/fs/union/union_vfsops.c@1.71 / diff / nxr@1.71
src/sys/fs/unionfs/unionfs_vfsops.c@1.12 / diff / nxr@1.12
src/sys/fs/v7fs/v7fs_extern.c@1.2 / diff / nxr@1.2
src/sys/miscfs/deadfs/dead_vfsops.c@1.2 / diff / nxr@1.2
src/sys/miscfs/fdesc/fdesc_vfsops.c@1.88 / diff / nxr@1.88
src/sys/miscfs/kernfs/kernfs_vfsops.c@1.93 / diff / nxr@1.93
:
(more 10 files)
Change all vfsops to use C99 designated initializers.
No functional changes intended.
No functional changes intended.
MAIN commitmail json YAML
src/distrib/sets/lists/comp/mi@1.1882
/
diff
/
nxr@1.1882
src/share/man/man9/Makefile@1.375 / diff / nxr@1.375
src/share/man/man9/vfssubr.9@1.23 / diff / nxr@1.23
src/sys/kern/vfs_mount.c@1.28 / diff / nxr@1.28
src/sys/sys/param.h@1.446 / diff / nxr@1.446
src/sys/sys/vnode.h@1.245 / diff / nxr@1.245
src/sys/ufs/lfs/lfs_segment.c@1.235 / diff / nxr@1.235
src/share/man/man9/Makefile@1.375 / diff / nxr@1.375
src/share/man/man9/vfssubr.9@1.23 / diff / nxr@1.23
src/sys/kern/vfs_mount.c@1.28 / diff / nxr@1.28
src/sys/sys/param.h@1.446 / diff / nxr@1.446
src/sys/sys/vnode.h@1.245 / diff / nxr@1.245
src/sys/ufs/lfs/lfs_segment.c@1.235 / diff / nxr@1.235
Operations vmark(), vunmark() and vismarker() have been replaced by
vfs_vnode_iterator_*(), remove them.
Document vfs_vnode_iterator_*().
Make VI_MARKER private to vfs_vnode.c, vfs_mount.c and unfortunately
to ufs/lfs/lfs_segment.c.
Welcome to 6.99.37
vfs_vnode_iterator_*(), remove them.
Document vfs_vnode_iterator_*().
Make VI_MARKER private to vfs_vnode.c, vfs_mount.c and unfortunately
to ufs/lfs/lfs_segment.c.
Welcome to 6.99.37
MAIN commitmail json YAML
Change zfs_sync() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change smbfs_sync() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change pageflush() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change msdosfs_sync() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change nfs_clearcommit() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change nfs_sync() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change lfsquota1_handle_cmd_quotaon() and lfs_q1sync()
to use vfs_vnode_iterator.
to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change vismarker() to VI_MARKER for lfs_writevnodes().
This operation has to be changed to vfs_vnode_iterator.
This operation has to be changed to vfs_vnode_iterator.
MAIN commitmail json YAML
Change quota1_handle_cmd_quotaon() and q1sync() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change ext2fs_sync() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change ffs_sync() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change snapshot_expunge() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Change sysctl_kern_vnode() to use vfs_vnode_iterator.
MAIN commitmail json YAML
Add fstrans_startnowait()/fstrans_done() to vrele_thread().
MAIN commitmail json YAML
Add __diagused.
MAIN commitmail json YAML
Add __diagused.
MAIN commitmail json YAML
No need to detach (and return EBUSY) if dk_openmask is non-zero.
MAIN commitmail json YAML
Restructure union_lock() to always lock before testing for dead node.
Add two little helpers to lock or unlock a node. Use "vp" for the
union node and "lockvp" for the node to be locked. Use ISSET() to
test flags, add assertions.
Add two little helpers to lock or unlock a node. Use "vp" for the
union node and "lockvp" for the node to be locked. Use ISSET() to
test flags, add assertions.
MAIN commitmail json YAML
Restructure layer_lock() to always lock before testing for dead node.
Use ISSET() to test flags, add assertions.
Use ISSET() to test flags, add assertions.
MAIN commitmail json YAML
Restructure genfs_deadlock() and genfs_lock() to always lock before
testing for dead node. Use ISSET() to test flags, add assertions.
Save the mount for fstrans_done() before genfs_unlock() unlocks the node.
testing for dead node. Use ISSET() to test flags, add assertions.
Save the mount for fstrans_done() before genfs_unlock() unlocks the node.
MAIN commitmail json YAML
src/share/man/man9/vnode.9@1.60
/
diff
/
nxr@1.60
src/sys/kern/vfs_mount.c@1.27 / diff / nxr@1.27
src/sys/kern/vfs_vnode.c@1.33 / diff / nxr@1.33
src/sys/sys/mount.h@1.212 / diff / nxr@1.212
src/sys/sys/param.h@1.443 / diff / nxr@1.443
src/sys/sys/vnode.h@1.244 / diff / nxr@1.244
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.177 / diff / nxr@1.177
src/sys/ufs/ffs/ffs_vfsops.c@1.293 / diff / nxr@1.293
src/sys/ufs/lfs/lfs_syscalls.c@1.151 / diff / nxr@1.151
src/sys/kern/vfs_mount.c@1.27 / diff / nxr@1.27
src/sys/kern/vfs_vnode.c@1.33 / diff / nxr@1.33
src/sys/sys/mount.h@1.212 / diff / nxr@1.212
src/sys/sys/param.h@1.443 / diff / nxr@1.443
src/sys/sys/vnode.h@1.244 / diff / nxr@1.244
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.177 / diff / nxr@1.177
src/sys/ufs/ffs/ffs_vfsops.c@1.293 / diff / nxr@1.293
src/sys/ufs/lfs/lfs_syscalls.c@1.151 / diff / nxr@1.151
Current support for iterating over mnt_vnodelist is rudimentary. Every
caller has to care about list and vnode mutexes, reference count being zero,
intermediate vnode states like VI_CLEAN, VI_XLOCK, VI_MARKER and so on.
Add an interface to iterate over a vnode list:
void vfs_vnode_iterator_init(struct mount *mp, struct vnode_iterator **marker)
void vfs_vnode_iterator_destroy(struct vnode_iterator *marker)
bool vfs_vnode_iterator_next(struct vnode_iterator *marker, struct vnode **vpp)
vfs_vnode_iterator_next() returns either "false / *vpp == NULL" when done
or "true / *vpp != NULL" to return the next referenced vnode from the list.
To make vrecycle() work in this environment change it to
bool vrecycle(struct vnode *vp)
where "vp" is a referenced vnode to be destroyed if this is the last reference.
Discussed on tech-kern.
Welcome to 6.99.34
caller has to care about list and vnode mutexes, reference count being zero,
intermediate vnode states like VI_CLEAN, VI_XLOCK, VI_MARKER and so on.
Add an interface to iterate over a vnode list:
void vfs_vnode_iterator_init(struct mount *mp, struct vnode_iterator **marker)
void vfs_vnode_iterator_destroy(struct vnode_iterator *marker)
bool vfs_vnode_iterator_next(struct vnode_iterator *marker, struct vnode **vpp)
vfs_vnode_iterator_next() returns either "false / *vpp == NULL" when done
or "true / *vpp != NULL" to return the next referenced vnode from the list.
To make vrecycle() work in this environment change it to
bool vrecycle(struct vnode *vp)
where "vp" is a referenced vnode to be destroyed if this is the last reference.
Discussed on tech-kern.
Welcome to 6.99.34
MAIN commitmail json YAML
src/share/man/man9/vnodeops.9@1.93
/
diff
/
nxr@1.93
src/share/man/man9/vnsubr.9@1.42 / diff / nxr@1.42
src/sys/coda/coda_vnops.c@1.95 / diff / nxr@1.95
src/sys/fs/adosfs/adutil.c@1.16 / diff / nxr@1.16
src/sys/fs/cd9660/cd9660_node.c@1.30 / diff / nxr@1.30
src/sys/fs/efs/efs_ihash.c@1.10 / diff / nxr@1.10
src/sys/fs/filecorefs/filecore_node.c@1.26 / diff / nxr@1.26
src/sys/fs/hfs/hfs_nhash.c@1.13 / diff / nxr@1.13
src/sys/fs/ptyfs/ptyfs_subr.c@1.26 / diff / nxr@1.26
src/sys/fs/tmpfs/tmpfs_vnops.c@1.118 / diff / nxr@1.118
src/sys/fs/union/union_vnops.c@1.57 / diff / nxr@1.57
src/sys/kern/vfs_vnode.c@1.32 / diff / nxr@1.32
src/sys/kern/vfs_vnops.c@1.189 / diff / nxr@1.189
src/sys/miscfs/deadfs/dead_vnops.c@1.56 / diff / nxr@1.56
src/sys/miscfs/fdesc/fdesc_vnops.c@1.118 / diff / nxr@1.118
src/sys/miscfs/genfs/genfs.h@1.32 / diff / nxr@1.32
src/sys/miscfs/genfs/genfs_vnops.c@1.190 / diff / nxr@1.190
src/sys/miscfs/genfs/layer_extern.h@1.35 / diff / nxr@1.35
src/sys/miscfs/genfs/layer_vnops.c@1.55 / diff / nxr@1.55
src/sys/miscfs/kernfs/kernfs_subr.c@1.26 / diff / nxr@1.26
:
(more 8 files)
src/share/man/man9/vnsubr.9@1.42 / diff / nxr@1.42
src/sys/coda/coda_vnops.c@1.95 / diff / nxr@1.95
src/sys/fs/adosfs/adutil.c@1.16 / diff / nxr@1.16
src/sys/fs/cd9660/cd9660_node.c@1.30 / diff / nxr@1.30
src/sys/fs/efs/efs_ihash.c@1.10 / diff / nxr@1.10
src/sys/fs/filecorefs/filecore_node.c@1.26 / diff / nxr@1.26
src/sys/fs/hfs/hfs_nhash.c@1.13 / diff / nxr@1.13
src/sys/fs/ptyfs/ptyfs_subr.c@1.26 / diff / nxr@1.26
src/sys/fs/tmpfs/tmpfs_vnops.c@1.118 / diff / nxr@1.118
src/sys/fs/union/union_vnops.c@1.57 / diff / nxr@1.57
src/sys/kern/vfs_vnode.c@1.32 / diff / nxr@1.32
src/sys/kern/vfs_vnops.c@1.189 / diff / nxr@1.189
src/sys/miscfs/deadfs/dead_vnops.c@1.56 / diff / nxr@1.56
src/sys/miscfs/fdesc/fdesc_vnops.c@1.118 / diff / nxr@1.118
src/sys/miscfs/genfs/genfs.h@1.32 / diff / nxr@1.32
src/sys/miscfs/genfs/genfs_vnops.c@1.190 / diff / nxr@1.190
src/sys/miscfs/genfs/layer_extern.h@1.35 / diff / nxr@1.35
src/sys/miscfs/genfs/layer_vnops.c@1.55 / diff / nxr@1.55
src/sys/miscfs/kernfs/kernfs_subr.c@1.26 / diff / nxr@1.26
:
(more 8 files)
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
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
MAIN commitmail json YAML
src/sys/conf/files@1.1084
/
diff
/
nxr@1.1084
src/sys/kern/vfs_mount.c@1.26 / diff / nxr@1.26
src/sys/kern/vfs_subr.c@1.442 / diff / nxr@1.442
src/sys/kern/vfs_vnode.c@1.31 / diff / nxr@1.31
src/sys/miscfs/deadfs/dead_vfsops.c@1.1 / diff / nxr@1.1
src/sys/miscfs/deadfs/dead_vnops.c@1.55 / diff / nxr@1.55
src/sys/rump/librump/rumpvfs/Makefile.rumpvfs@1.40 / diff / nxr@1.40
src/sys/sys/mount.h@1.211 / diff / nxr@1.211
src/sys/kern/vfs_mount.c@1.26 / diff / nxr@1.26
src/sys/kern/vfs_subr.c@1.442 / diff / nxr@1.442
src/sys/kern/vfs_vnode.c@1.31 / diff / nxr@1.31
src/sys/miscfs/deadfs/dead_vfsops.c@1.1 / diff / nxr@1.1
src/sys/miscfs/deadfs/dead_vnops.c@1.55 / diff / nxr@1.55
src/sys/rump/librump/rumpvfs/Makefile.rumpvfs@1.40 / diff / nxr@1.40
src/sys/sys/mount.h@1.211 / diff / nxr@1.211
Currently dead vnodes still reside on the vnodelist of the file system
they have been removed from.
Create a "dead mount" that takes dead vnodes until they get freed.
Discussed on tech-kern.
they have been removed from.
Create a "dead mount" that takes dead vnodes until they get freed.
Discussed on tech-kern.
MAIN commitmail json YAML
Update arguments of vrecycle(), description of getnewvnode() and
the vnode flags.
the vnode flags.
MAIN commitmail json YAML
Update the description of vfs_busy() and vfs_unbusy().
MAIN commitmail json YAML
src/sys/fs/union/union_subr.c@1.63
/
diff
/
nxr@1.63
src/sys/fs/union/union_vfsops.c@1.69 / diff / nxr@1.69
src/sys/fs/union/union_vnops.c@1.56 / diff / nxr@1.56
src/sys/fs/union/union_vfsops.c@1.69 / diff / nxr@1.69
src/sys/fs/union/union_vnops.c@1.56 / diff / nxr@1.56
Change union_allocvp() to take an unlocked uppervp and to return the
union node unlocked. Another VI_XLOCK hack is gone.
union node unlocked. Another VI_XLOCK hack is gone.
MAIN commitmail json YAML
src/sys/fs/union/union.h@1.26
/
diff
/
nxr@1.26
src/sys/fs/union/union_subr.c@1.62 / diff / nxr@1.62
src/sys/fs/union/union_subr.c@1.62 / diff / nxr@1.62
Member un_flags is unused now -- remove.
MAIN commitmail json YAML
src/sys/fs/union/union.h@1.25
/
diff
/
nxr@1.25
src/sys/fs/union/union_subr.c@1.61 / diff / nxr@1.61
src/sys/fs/union/union_vnops.c@1.54 / diff / nxr@1.54
src/sys/fs/union/union_subr.c@1.61 / diff / nxr@1.61
src/sys/fs/union/union_vnops.c@1.54 / diff / nxr@1.54
Get rid of UN_KLOCK to keep a lock on vput(). It is not really needed
and makes the source difficult to read. Always hold references to the
union nodes until the operation is done.
and makes the source difficult to read. Always hold references to the
union nodes until the operation is done.
MAIN commitmail json YAML
Fix the DOT and DOTDOT case for union_lookup1().
MAIN commitmail json YAML
src/sys/miscfs/genfs/layer_subr.c@1.35
/
diff
/
nxr@1.35
src/sys/miscfs/genfs/layer_vfsops.c@1.42 / diff / nxr@1.42
src/sys/miscfs/nullfs/null_vfsops.c@1.85 / diff / nxr@1.85
src/sys/miscfs/overlay/overlay_vfsops.c@1.58 / diff / nxr@1.58
src/sys/miscfs/umapfs/umap_vfsops.c@1.89 / diff / nxr@1.89
src/sys/miscfs/genfs/layer_vfsops.c@1.42 / diff / nxr@1.42
src/sys/miscfs/nullfs/null_vfsops.c@1.85 / diff / nxr@1.85
src/sys/miscfs/overlay/overlay_vfsops.c@1.58 / diff / nxr@1.58
src/sys/miscfs/umapfs/umap_vfsops.c@1.89 / diff / nxr@1.89
Change layerfs_vget(), layerfs_fhtovp() and the various layer xxx_mount()
functions to unlock/relock the node for the call to layer_node_create().
Finally remove dirty hacks (LK_NOWAIT, kpause) from layer_node_find().
functions to unlock/relock the node for the call to layer_node_create().
Finally remove dirty hacks (LK_NOWAIT, kpause) from layer_node_find().
MAIN commitmail json YAML
Adjust comment and change vput() to vrele(). This change got missed
when changing vnode creation operations to return unlocked result.
when changing vnode creation operations to return unlocked result.
MAIN commitmail json YAML
When layer_node_alloc() finds another thread already inserted the node
into the hashlist and discards the now unneeded node it will raise a
panic "dead but not clean".
Reorder the initialization and use ungetnewvnode() to discard the node.
into the hashlist and discards the now unneeded node it will raise a
panic "dead but not clean".
Reorder the initialization and use ungetnewvnode() to discard the node.
MAIN commitmail json YAML
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_replay.c@1.10
/
diff
/
nxr@1.10
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c@1.17 / diff / nxr@1.17
src/lib/libp2k/p2k.c@1.63 / diff / nxr@1.63
src/share/man/man9/namecache.9@1.18 / diff / nxr@1.18
src/share/man/man9/vnodeops.9@1.92 / diff / nxr@1.92
src/sys/coda/coda_vnops.c@1.94 / diff / nxr@1.94
src/sys/fs/adosfs/adlookup.c@1.19 / diff / nxr@1.19
src/sys/fs/cd9660/cd9660_lookup.c@1.26 / diff / nxr@1.26
src/sys/fs/efs/efs_vnops.c@1.31 / diff / nxr@1.31
src/sys/fs/filecorefs/filecore_lookup.c@1.19 / diff / nxr@1.19
src/sys/fs/hfs/hfs_vnops.c@1.29 / diff / nxr@1.29
src/sys/fs/msdosfs/msdosfs_lookup.c@1.32 / diff / nxr@1.32
src/sys/fs/nilfs/nilfs_vnops.c@1.27 / diff / nxr@1.27
src/sys/fs/ntfs/ntfs_vnops.c@1.56 / diff / nxr@1.56
src/sys/fs/ptyfs/ptyfs_vnops.c@1.43 / diff / nxr@1.43
src/sys/fs/puffs/puffs_vnops.c@1.180 / diff / nxr@1.180
src/sys/fs/smbfs/smbfs_vnops.c@1.89 / diff / nxr@1.89
src/sys/fs/sysvbfs/sysvbfs_vnops.c@1.53 / diff / nxr@1.53
src/sys/fs/tmpfs/tmpfs_vnops.c@1.115 / diff / nxr@1.115
src/sys/fs/udf/udf_vnops.c@1.90 / diff / nxr@1.90
:
(more 30 files)
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c@1.17 / diff / nxr@1.17
src/lib/libp2k/p2k.c@1.63 / diff / nxr@1.63
src/share/man/man9/namecache.9@1.18 / diff / nxr@1.18
src/share/man/man9/vnodeops.9@1.92 / diff / nxr@1.92
src/sys/coda/coda_vnops.c@1.94 / diff / nxr@1.94
src/sys/fs/adosfs/adlookup.c@1.19 / diff / nxr@1.19
src/sys/fs/cd9660/cd9660_lookup.c@1.26 / diff / nxr@1.26
src/sys/fs/efs/efs_vnops.c@1.31 / diff / nxr@1.31
src/sys/fs/filecorefs/filecore_lookup.c@1.19 / diff / nxr@1.19
src/sys/fs/hfs/hfs_vnops.c@1.29 / diff / nxr@1.29
src/sys/fs/msdosfs/msdosfs_lookup.c@1.32 / diff / nxr@1.32
src/sys/fs/nilfs/nilfs_vnops.c@1.27 / diff / nxr@1.27
src/sys/fs/ntfs/ntfs_vnops.c@1.56 / diff / nxr@1.56
src/sys/fs/ptyfs/ptyfs_vnops.c@1.43 / diff / nxr@1.43
src/sys/fs/puffs/puffs_vnops.c@1.180 / diff / nxr@1.180
src/sys/fs/smbfs/smbfs_vnops.c@1.89 / diff / nxr@1.89
src/sys/fs/sysvbfs/sysvbfs_vnops.c@1.53 / diff / nxr@1.53
src/sys/fs/tmpfs/tmpfs_vnops.c@1.115 / diff / nxr@1.115
src/sys/fs/udf/udf_vnops.c@1.90 / diff / nxr@1.90
:
(more 30 files)
Change vnode operation lookup to return the resulting vnode *vpp unlocked.
Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Welcome to 6.99.31
MAIN commitmail json YAML
Change vnode operation lookup to return the resulting vnode *vpp unlocked.
Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
Change cache_lookup() to return an unlocked vnode.
Discussed on tech-kern@
MAIN commitmail json YAML
Remove an annoying printf. And to answer the question: VFS_VGET() gets
used by NFS V3 server for readdirplus.
used by NFS V3 server for readdirplus.
MAIN commitmail json YAML
src/sys/miscfs/genfs/genfs_rename.c@1.2
/
diff
/
nxr@1.2
src/sys/ufs/lfs/lfs_rename.c@1.6 / diff / nxr@1.6
src/sys/ufs/ufs/ufs_rename.c@1.10 / diff / nxr@1.10
src/sys/ufs/lfs/lfs_rename.c@1.6 / diff / nxr@1.6
src/sys/ufs/ufs/ufs_rename.c@1.10 / diff / nxr@1.10
Move fstrans_start()/fstrans_done() into genfs_insane_rename() to protect
the complete rename operation like we do for all other vnode operations.
the complete rename operation like we do for all other vnode operations.
MAIN commitmail json YAML
src/sys/miscfs/genfs/layer_subr.c@1.33
/
diff
/
nxr@1.33
src/sys/miscfs/genfs/layer_vnops.c@1.53 / diff / nxr@1.53
src/sys/miscfs/genfs/layer_vnops.c@1.53 / diff / nxr@1.53
Allow layer_node_create() with unlocked lower node and change
layer_bypass() to enter nodes from creation operations unlocked.
layer_bypass() to enter nodes from creation operations unlocked.
MAIN commitmail json YAML
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_replay.c@1.9
/
diff
/
nxr@1.9
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c@1.16 / diff / nxr@1.16
src/lib/libp2k/p2k.c@1.62 / diff / nxr@1.62
src/share/man/man9/vnodeops.9@1.91 / diff / nxr@1.91
src/sys/coda/coda_vnops.c@1.93 / diff / nxr@1.93
src/sys/fs/adosfs/advnops.c@1.43 / diff / nxr@1.43
src/sys/fs/cd9660/cd9660_vnops.c@1.47 / diff / nxr@1.47
src/sys/fs/filecorefs/filecore_vnops.c@1.41 / diff / nxr@1.41
src/sys/fs/msdosfs/msdosfs_lookup.c@1.31 / diff / nxr@1.31
src/sys/fs/msdosfs/msdosfs_vnops.c@1.89 / diff / nxr@1.89
src/sys/fs/nilfs/nilfs_vnops.c@1.26 / diff / nxr@1.26
src/sys/fs/puffs/puffs_node.c@1.31 / diff / nxr@1.31
src/sys/fs/puffs/puffs_vnops.c@1.179 / diff / nxr@1.179
src/sys/fs/smbfs/smbfs_vnops.c@1.88 / diff / nxr@1.88
src/sys/fs/sysvbfs/sysvbfs_vnops.c@1.52 / diff / nxr@1.52
src/sys/fs/tmpfs/tmpfs_subr.c@1.96 / diff / nxr@1.96
src/sys/fs/tmpfs/tmpfs_vnops.c@1.114 / diff / nxr@1.114
src/sys/fs/udf/udf_subr.c@1.123 / diff / nxr@1.123
src/sys/fs/udf/udf_vnops.c@1.89 / diff / nxr@1.89
src/sys/fs/union/union_subr.c@1.59 / diff / nxr@1.59
:
(more 23 files)
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c@1.16 / diff / nxr@1.16
src/lib/libp2k/p2k.c@1.62 / diff / nxr@1.62
src/share/man/man9/vnodeops.9@1.91 / diff / nxr@1.91
src/sys/coda/coda_vnops.c@1.93 / diff / nxr@1.93
src/sys/fs/adosfs/advnops.c@1.43 / diff / nxr@1.43
src/sys/fs/cd9660/cd9660_vnops.c@1.47 / diff / nxr@1.47
src/sys/fs/filecorefs/filecore_vnops.c@1.41 / diff / nxr@1.41
src/sys/fs/msdosfs/msdosfs_lookup.c@1.31 / diff / nxr@1.31
src/sys/fs/msdosfs/msdosfs_vnops.c@1.89 / diff / nxr@1.89
src/sys/fs/nilfs/nilfs_vnops.c@1.26 / diff / nxr@1.26
src/sys/fs/puffs/puffs_node.c@1.31 / diff / nxr@1.31
src/sys/fs/puffs/puffs_vnops.c@1.179 / diff / nxr@1.179
src/sys/fs/smbfs/smbfs_vnops.c@1.88 / diff / nxr@1.88
src/sys/fs/sysvbfs/sysvbfs_vnops.c@1.52 / diff / nxr@1.52
src/sys/fs/tmpfs/tmpfs_subr.c@1.96 / diff / nxr@1.96
src/sys/fs/tmpfs/tmpfs_vnops.c@1.114 / diff / nxr@1.114
src/sys/fs/udf/udf_subr.c@1.123 / diff / nxr@1.123
src/sys/fs/udf/udf_vnops.c@1.89 / diff / nxr@1.89
src/sys/fs/union/union_subr.c@1.59 / diff / nxr@1.59
:
(more 23 files)
Change vnode operations create, mknod, mkdir and symlink to return
the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
the resulting vnode *vpp unlocked.
Discussed on tech-kern@
Welcome to 6.99.30
MAIN commitmail json YAML
Change vnode operations create, mknod, mkdir and symlink to return
the resulting vnode *vpp unlocked.
Discussed on tech-kern@
the resulting vnode *vpp unlocked.
Discussed on tech-kern@
MAIN commitmail json YAML
Move VOP_UNLOCK() after setting type to VNON like all other UFS file systems.
MAIN commitmail json YAML
Change cache_prune() to test for end-of-list before testing for an
invalid entry. Prevents a lifelock when the end-of-list marker
gets invalid while scanning the list and all entries are recent.
invalid entry. Prevents a lifelock when the end-of-list marker
gets invalid while scanning the list and all entries are recent.
MAIN commitmail json YAML
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_replay.c@1.8
/
diff
/
nxr@1.8
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c@1.15 / diff / nxr@1.15
src/lib/libp2k/p2k.c@1.61 / diff / nxr@1.61
src/share/man/man9/vnodeops.9@1.90 / diff / nxr@1.90
src/sys/coda/coda_vnops.c@1.92 / diff / nxr@1.92
src/sys/fs/adosfs/advnops.c@1.42 / diff / nxr@1.42
src/sys/fs/cd9660/cd9660_vnops.c@1.46 / diff / nxr@1.46
src/sys/fs/filecorefs/filecore_vnops.c@1.40 / diff / nxr@1.40
src/sys/fs/msdosfs/msdosfs_vnops.c@1.88 / diff / nxr@1.88
src/sys/fs/nilfs/nilfs_vnops.c@1.25 / diff / nxr@1.25
src/sys/fs/puffs/puffs_vnops.c@1.178 / diff / nxr@1.178
src/sys/fs/smbfs/smbfs_vnops.c@1.87 / diff / nxr@1.87
src/sys/fs/sysvbfs/sysvbfs_vnops.c@1.51 / diff / nxr@1.51
src/sys/fs/tmpfs/tmpfs_subr.c@1.95 / diff / nxr@1.95
src/sys/fs/tmpfs/tmpfs_vnops.c@1.113 / diff / nxr@1.113
src/sys/fs/udf/udf_vnops.c@1.88 / diff / nxr@1.88
src/sys/fs/union/union_subr.c@1.58 / diff / nxr@1.58
src/sys/fs/union/union_vnops.c@1.50 / diff / nxr@1.50
src/sys/fs/v7fs/v7fs_vnops.c@1.14 / diff / nxr@1.14
src/sys/kern/uipc_usrreq.c@1.149 / diff / nxr@1.149
:
(more 20 files)
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c@1.15 / diff / nxr@1.15
src/lib/libp2k/p2k.c@1.61 / diff / nxr@1.61
src/share/man/man9/vnodeops.9@1.90 / diff / nxr@1.90
src/sys/coda/coda_vnops.c@1.92 / diff / nxr@1.92
src/sys/fs/adosfs/advnops.c@1.42 / diff / nxr@1.42
src/sys/fs/cd9660/cd9660_vnops.c@1.46 / diff / nxr@1.46
src/sys/fs/filecorefs/filecore_vnops.c@1.40 / diff / nxr@1.40
src/sys/fs/msdosfs/msdosfs_vnops.c@1.88 / diff / nxr@1.88
src/sys/fs/nilfs/nilfs_vnops.c@1.25 / diff / nxr@1.25
src/sys/fs/puffs/puffs_vnops.c@1.178 / diff / nxr@1.178
src/sys/fs/smbfs/smbfs_vnops.c@1.87 / diff / nxr@1.87
src/sys/fs/sysvbfs/sysvbfs_vnops.c@1.51 / diff / nxr@1.51
src/sys/fs/tmpfs/tmpfs_subr.c@1.95 / diff / nxr@1.95
src/sys/fs/tmpfs/tmpfs_vnops.c@1.113 / diff / nxr@1.113
src/sys/fs/udf/udf_vnops.c@1.88 / diff / nxr@1.88
src/sys/fs/union/union_subr.c@1.58 / diff / nxr@1.58
src/sys/fs/union/union_vnops.c@1.50 / diff / nxr@1.50
src/sys/fs/v7fs/v7fs_vnops.c@1.14 / diff / nxr@1.14
src/sys/kern/uipc_usrreq.c@1.149 / diff / nxr@1.149
:
(more 20 files)
Change vnode operations create, mknod, mkdir and symlink to keep the
directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
directory node dvp locked on return.
Discussed on tech-kern@
Welcome to 6.99.29
MAIN commitmail json YAML
Change vnode operations create, mknod, mkdir and symlink to keep the
directory node dvp locked on return.
Discussed on tech-kern@
directory node dvp locked on return.
Discussed on tech-kern@
MAIN commitmail json YAML
Support for vnode operation versioning. Allow a new keyword "VERSION"
in the description so "VERSION 2" will change the name of the argument
from vop_XXX_args to vop_XXX_v2_args.
in the description so "VERSION 2" will change the name of the argument
from vop_XXX_args to vop_XXX_v2_args.
MAIN commitmail json YAML
src/sys/fs/sysvbfs/bfs.c@1.17
/
diff
/
nxr@1.17
src/sys/fs/sysvbfs/bfs.h@1.8 / diff / nxr@1.8
src/sys/fs/sysvbfs/sysvbfs_vnops.c@1.50 / diff / nxr@1.50
src/tests/fs/vfs/t_renamerace.c@1.30 / diff / nxr@1.30
src/sys/fs/sysvbfs/bfs.h@1.8 / diff / nxr@1.8
src/sys/fs/sysvbfs/sysvbfs_vnops.c@1.50 / diff / nxr@1.50
src/tests/fs/vfs/t_renamerace.c@1.30 / diff / nxr@1.30
Operation sysvbfs_remove() destructs inodes attached to active vnodes.
Defer the destruction to sysvbfs_reclaim().
Disable test t_renamerace:sysvbfs_renamerace as it will exhaust the
inode table (sysvbfs has space for 8 inodes only).
Ok: Izumi Tsutsui <tsutsui@netbsd.org>
Defer the destruction to sysvbfs_reclaim().
Disable test t_renamerace:sysvbfs_renamerace as it will exhaust the
inode table (sysvbfs has space for 8 inodes only).
Ok: Izumi Tsutsui <tsutsui@netbsd.org>
MAIN commitmail json YAML
Fix a race where thread1 runs VOP_REMOVE() and gets preempted in
tmpfs_reclaim() before the call to tmpfs_free_node(). Thread2
runs VFS_FHTOVP() and gets a new vnode attached to the node thread1
is about to destroy.
Change tmpfs_fhtovp() to check the generation number after
tmpfs_vnode_get() succeeded.
tmpfs_reclaim() before the call to tmpfs_free_node(). Thread2
runs VFS_FHTOVP() and gets a new vnode attached to the node thread1
is about to destroy.
Change tmpfs_fhtovp() to check the generation number after
tmpfs_vnode_get() succeeded.
MAIN commitmail json YAML
src/sys/fs/tmpfs/tmpfs_subr.c@1.93
/
diff
/
nxr@1.93
src/sys/fs/tmpfs/tmpfs_vnops.c@1.111 / diff / nxr@1.111
src/sys/fs/tmpfs/tmpfs_vnops.c@1.111 / diff / nxr@1.111
Fix a race where thread1 runs VOP_REMOVE() and gets preempted in
tmpfs_reclaim() before the call to tmpfs_free_node(). Thread2
runs VFS_FHTOVP() and gets a new vnode attached to the node thread1
is about to destroy.
Change tmpfs_alloc_node() to always assign non-zero generation number
and tmpfs_inactive() to set the generation number of unlinked nodes
to zero.
tmpfs_reclaim() before the call to tmpfs_free_node(). Thread2
runs VFS_FHTOVP() and gets a new vnode attached to the node thread1
is about to destroy.
Change tmpfs_alloc_node() to always assign non-zero generation number
and tmpfs_inactive() to set the generation number of unlinked nodes
to zero.
MAIN commitmail json YAML
It is not the task of sysvbfs_open() to check for unlinked nodes.
MAIN commitmail json YAML
It is not the task of tmpfs_open() to check for unlinked nodes.
Fix tmpfs_lookup() to always return ENOENT when looking up from
an unlinked directory.
Fix tmpfs_lookup() to always return ENOENT when looking up from
an unlinked directory.
MAIN commitmail json YAML
When deciding to defer in vrelel():
- No need to always defer layer vnodes, if we get the vnode lock it
is safe to inactivate.
- Always use VOP_LOCK(), it makes no sense to use vn_lock() here.
- No need to drop v_interlock for VOP_LOCK(... LK_NOWAIT).
- No need to always defer layer vnodes, if we get the vnode lock it
is safe to inactivate.
- Always use VOP_LOCK(), it makes no sense to use vn_lock() here.
- No need to drop v_interlock for VOP_LOCK(... LK_NOWAIT).
MAIN commitmail json YAML
Change vrelel() to mark the vnode as changing after it has aquired
the vnode lock but before it calls VOP_INACTIVE().
Should fix the race between layer_node_find() trying to vget(, LK_NOWAIT)
a locked vnode when vrelel() marked it as changing and wants its lock.
PR kern/48411 (repeatable SMP crashes in amd64-current)
the vnode lock but before it calls VOP_INACTIVE().
Should fix the race between layer_node_find() trying to vget(, LK_NOWAIT)
a locked vnode when vrelel() marked it as changing and wants its lock.
PR kern/48411 (repeatable SMP crashes in amd64-current)
MAIN commitmail json YAML
Replace VI_INACTNOW and VI_INACTREDO with a new flag VI_CHANGING that gets
set while a vnode changes state from active to inactive or from active
or inactive to clean and protects "vclean(); vrelel()" and "vrelel()"
against "vget()".
Presented on tech-kern.
set while a vnode changes state from active to inactive or from active
or inactive to clean and protects "vclean(); vrelel()" and "vrelel()"
against "vget()".
Presented on tech-kern.
MAIN commitmail json YAML
Describe the differences between file system internal and external snapshots.
MAIN commitmail json YAML
Make vclean static (ride 6.99.2).
DOCLOSE is no longer needed -- remove.
DOCLOSE is no longer needed -- remove.
MAIN commitmail json YAML
Add missing operations that unlock or dereference their arguments.
Stop checking for a vnode state change -- dead vnodes never change state.
Stop checking for a vnode state change -- dead vnodes never change state.
MAIN commitmail json YAML
cleanvnode():
- VC_XLOCK/VC_MASK are not used anymore, remove.
- If we get a reference while cleaning, there is no need to retry as
these reference and this vnode will disappear soon.
- Make sure we run inside a fstrans transaction to prevent deadlocks
against vget().
vrecycle():
- don't even try to recycle a vnode currently cleaning.
- VC_XLOCK/VC_MASK are not used anymore, remove.
- If we get a reference while cleaning, there is no need to retry as
these reference and this vnode will disappear soon.
- Make sure we run inside a fstrans transaction to prevent deadlocks
against vget().
vrecycle():
- don't even try to recycle a vnode currently cleaning.
MAIN commitmail json YAML
Stop using v_mount of an unreferenced vnode -- save the mount while
the vnode has a reference.
the vnode has a reference.
MAIN commitmail json YAML
src/external/cddl/osnet/sys/sys/vnode.h@1.12
/
diff
/
nxr@1.12
src/share/man/man9/vnode.9@1.57 / diff / nxr@1.57
src/sys/kern/uipc_usrreq.c@1.148 / diff / nxr@1.148
src/sys/kern/vfs_cache.c@1.92 / diff / nxr@1.92
src/sys/kern/vfs_mount.c@1.23 / diff / nxr@1.23
src/sys/kern/vfs_vnode.c@1.23 / diff / nxr@1.23
src/sys/miscfs/procfs/procfs_subr.c@1.103 / diff / nxr@1.103
src/sys/sys/param.h@1.434 / diff / nxr@1.434
src/sys/sys/vnode.h@1.239 / diff / nxr@1.239
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.174 / diff / nxr@1.174
src/sys/ufs/ffs/ffs_vfsops.c@1.290 / diff / nxr@1.290
src/sys/ufs/lfs/lfs_segment.c@1.233 / diff / nxr@1.233
src/sys/ufs/lfs/lfs_syscalls.c@1.150 / diff / nxr@1.150
src/share/man/man9/vnode.9@1.57 / diff / nxr@1.57
src/sys/kern/uipc_usrreq.c@1.148 / diff / nxr@1.148
src/sys/kern/vfs_cache.c@1.92 / diff / nxr@1.92
src/sys/kern/vfs_mount.c@1.23 / diff / nxr@1.23
src/sys/kern/vfs_vnode.c@1.23 / diff / nxr@1.23
src/sys/miscfs/procfs/procfs_subr.c@1.103 / diff / nxr@1.103
src/sys/sys/param.h@1.434 / diff / nxr@1.434
src/sys/sys/vnode.h@1.239 / diff / nxr@1.239
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.174 / diff / nxr@1.174
src/sys/ufs/ffs/ffs_vfsops.c@1.290 / diff / nxr@1.290
src/sys/ufs/lfs/lfs_segment.c@1.233 / diff / nxr@1.233
src/sys/ufs/lfs/lfs_syscalls.c@1.150 / diff / nxr@1.150
Vnode API cleanup pass 1.
- Make these defines and functions private to vfs_vnode.c:
VC_MASK, VC_LOCK, DOCLOSE, VI_IANCTREDO and VI_INACTNOW
vclean() and vrelel()
- Remove the long time unused lwp argument from vrecycle().
- Remove vtryget(), it is responsible for ugly hacks and doesn't
look that effective.
Presented on tech-kern.
Welcome to 6.99.25
- Make these defines and functions private to vfs_vnode.c:
VC_MASK, VC_LOCK, DOCLOSE, VI_IANCTREDO and VI_INACTNOW
vclean() and vrelel()
- Remove the long time unused lwp argument from vrecycle().
- Remove vtryget(), it is responsible for ugly hacks and doesn't
look that effective.
Presented on tech-kern.
Welcome to 6.99.25
MAIN commitmail json YAML
Remove a bogus vrecycle() from udf_inactive(). Vrecycle() works on inactive
vnodes while VOP_INACTIVE() should never be called on an inactive vnode.
Ok: Reinoud Zandijk <reinoud@netbsd.org>
vnodes while VOP_INACTIVE() should never be called on an inactive vnode.
Ok: Reinoud Zandijk <reinoud@netbsd.org>
MAIN commitmail json YAML
src/sys/fs/adosfs/advfsops.c@1.67
/
diff
/
nxr@1.67
src/sys/fs/cd9660/cd9660_vfsops.c@1.79 / diff / nxr@1.79
src/sys/fs/filecorefs/filecore_vfsops.c@1.71 / diff / nxr@1.71
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.102 / diff / nxr@1.102
src/sys/fs/nilfs/nilfs_vfsops.c@1.11 / diff / nxr@1.11
src/sys/fs/ntfs/ntfs_vfsops.c@1.88 / diff / nxr@1.88
src/sys/fs/udf/udf_vfsops.c@1.64 / diff / nxr@1.64
src/sys/kern/vfs_bio.c@1.247 / diff / nxr@1.247
src/sys/kern/vfs_mount.c@1.21 / diff / nxr@1.21
src/sys/kern/vfs_subr.c@1.438 / diff / nxr@1.438
src/sys/kern/vfs_trans.c@1.27 / diff / nxr@1.27
src/sys/miscfs/specfs/spec_vnops.c@1.141 / diff / nxr@1.141
src/sys/miscfs/specfs/specdev.h@1.42 / diff / nxr@1.42
src/sys/sys/param.h@1.433 / diff / nxr@1.433
src/sys/sys/wapbl.h@1.15 / diff / nxr@1.15
src/sys/ufs/chfs/chfs_vfsops.c@1.8 / diff / nxr@1.8
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.173 / diff / nxr@1.173
src/sys/ufs/ffs/ffs_alloc.c@1.140 / diff / nxr@1.140
src/sys/ufs/ffs/ffs_snapshot.c@1.129 / diff / nxr@1.129
src/sys/ufs/ffs/ffs_vfsops.c@1.289 / diff / nxr@1.289
src/sys/ufs/lfs/lfs_vfsops.c@1.314 / diff / nxr@1.314
src/sys/fs/cd9660/cd9660_vfsops.c@1.79 / diff / nxr@1.79
src/sys/fs/filecorefs/filecore_vfsops.c@1.71 / diff / nxr@1.71
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.102 / diff / nxr@1.102
src/sys/fs/nilfs/nilfs_vfsops.c@1.11 / diff / nxr@1.11
src/sys/fs/ntfs/ntfs_vfsops.c@1.88 / diff / nxr@1.88
src/sys/fs/udf/udf_vfsops.c@1.64 / diff / nxr@1.64
src/sys/kern/vfs_bio.c@1.247 / diff / nxr@1.247
src/sys/kern/vfs_mount.c@1.21 / diff / nxr@1.21
src/sys/kern/vfs_subr.c@1.438 / diff / nxr@1.438
src/sys/kern/vfs_trans.c@1.27 / diff / nxr@1.27
src/sys/miscfs/specfs/spec_vnops.c@1.141 / diff / nxr@1.141
src/sys/miscfs/specfs/specdev.h@1.42 / diff / nxr@1.42
src/sys/sys/param.h@1.433 / diff / nxr@1.433
src/sys/sys/wapbl.h@1.15 / diff / nxr@1.15
src/sys/ufs/chfs/chfs_vfsops.c@1.8 / diff / nxr@1.8
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.173 / diff / nxr@1.173
src/sys/ufs/ffs/ffs_alloc.c@1.140 / diff / nxr@1.140
src/sys/ufs/ffs/ffs_snapshot.c@1.129 / diff / nxr@1.129
src/sys/ufs/ffs/ffs_vfsops.c@1.289 / diff / nxr@1.289
src/sys/ufs/lfs/lfs_vfsops.c@1.314 / diff / nxr@1.314
Replace macro v_specmountpoint with two functions spec_node_getmountedfs()
and spec_node_setmountedfs() to manage the file system mounted on a device.
Assert the device is a block device.
Welcome to 6.99.24
Discussed on tech-kern@ some time ago.
Reviewed by: David Holland <dholland@netbsd.org>
and spec_node_setmountedfs() to manage the file system mounted on a device.
Assert the device is a block device.
Welcome to 6.99.24
Discussed on tech-kern@ some time ago.
Reviewed by: David Holland <dholland@netbsd.org>
MAIN commitmail json YAML
Remove VI_INACTPEND. Last consumer was vcount() which got removed 2010-01-08.
Reviewed by: David Holland <dholland@netbsd.org>
Reviewed by: David Holland <dholland@netbsd.org>
MAIN commitmail json YAML
Function ffs_reload() works on a read-only mount, so remove the call
to ffs_snapshot_mount() as it would panic later with "already on list"
when remounting read-write.
Should fix PR kern/48211 (Unclean shutdown with active snapshot causes
panic during reboot)
to ffs_snapshot_mount() as it would panic later with "already on list"
when remounting read-write.
Should fix PR kern/48211 (Unclean shutdown with active snapshot causes
panic during reboot)
MAIN commitmail json YAML
Dounmount() violates the locking protocol for member v_mountedhere.
A vnode lock is required to access or modify this field.
Lock/unlock the vnode when clearing v_mountedhere.
Reviewed by: David Holland <dholland@netbsd.org>
Should fix PR #48135 (Bad locking for umount)
A vnode lock is required to access or modify this field.
Lock/unlock the vnode when clearing v_mountedhere.
Reviewed by: David Holland <dholland@netbsd.org>
Should fix PR #48135 (Bad locking for umount)
MAIN commitmail json YAML
Function nfs_vinvalbuf() ignores errors from vinvalbuf() and therefore
delayed write errors may get lost.
Change nfs_vinvalbuf() to keep errors from vinvalbuf() for fsync() or close().
Presented on tech-kern@
Fix for PR kern/47980 (NFS over-quota not detected if utimes() called
before fsync()/close())
delayed write errors may get lost.
Change nfs_vinvalbuf() to keep errors from vinvalbuf() for fsync() or close().
Presented on tech-kern@
Fix for PR kern/47980 (NFS over-quota not detected if utimes() called
before fsync()/close())
MAIN commitmail json YAML
src/sys/sys/param.h@1.431
/
diff
/
nxr@1.431
src/sys/ufs/ffs/ffs_extern.h@1.80 / diff / nxr@1.80
src/sys/ufs/ffs/ffs_snapshot.c@1.123 / diff / nxr@1.123
src/sys/ufs/ffs/ffs_vfsops.c@1.284 / diff / nxr@1.284
src/sys/ufs/ufs/ufs_extern.h@1.73 / diff / nxr@1.73
src/sys/ufs/ufs/ufs_lookup.c@1.124 / diff / nxr@1.124
src/sys/ufs/ufs/ufsmount.h@1.40 / diff / nxr@1.40
src/sys/ufs/ffs/ffs_extern.h@1.80 / diff / nxr@1.80
src/sys/ufs/ffs/ffs_snapshot.c@1.123 / diff / nxr@1.123
src/sys/ufs/ffs/ffs_vfsops.c@1.284 / diff / nxr@1.284
src/sys/ufs/ufs/ufs_extern.h@1.73 / diff / nxr@1.73
src/sys/ufs/ufs/ufs_lookup.c@1.124 / diff / nxr@1.124
src/sys/ufs/ufs/ufsmount.h@1.40 / diff / nxr@1.40
Add an UFS_SNAPGONE() ufs op replacing the calls
to ffs_snapgone() in ufs_lookup.c.
Ok: David Holland <dholland@netbsd.org>
Welcome to 6.99.22
to ffs_snapgone() in ufs_lookup.c.
Ok: David Holland <dholland@netbsd.org>
Welcome to 6.99.22
MAIN commitmail json YAML
src/sys/arch/sparc/stand/bootblk/genfth.cf@1.9
/
diff
/
nxr@1.9
src/sys/arch/sparc/stand/bootblk/genlfs.cf@1.2 / diff / nxr@1.2
src/sys/arch/sparc/stand/bootblk/genlfs.cf@1.2 / diff / nxr@1.2
Move member di_inumber from ufs1_dinode to ulfs1_dinode.
No functional change intended. Tested on sparc64.
No functional change intended. Tested on sparc64.
MAIN commitmail json YAML
Make DEBUG kernel compile: di_u.inumber -> di_inumber
MAIN commitmail json YAML
When invalidating short buffers on the snapshots clean list use bbusy()
to mark the buffer busy. There exists a small window where a buffer is
done but not released and therefore still busy.
to mark the buffer busy. There exists a small window where a buffer is
done but not released and therefore still busy.
MAIN commitmail json YAML
src/sys/dev/fss.c@1.86
/
diff
/
nxr@1.86
src/sys/kern/vfs_mount.c@1.17 / diff / nxr@1.17
src/sys/kern/vfs_subr.c@1.436 / diff / nxr@1.436
src/sys/kern/vfs_vnode.c@1.19 / diff / nxr@1.19
src/sys/miscfs/specfs/spec_vnops.c@1.137 / diff / nxr@1.137
src/sys/miscfs/specfs/specdev.h@1.40 / diff / nxr@1.40
src/sys/sys/param.h@1.425 / diff / nxr@1.425
src/sys/kern/vfs_mount.c@1.17 / diff / nxr@1.17
src/sys/kern/vfs_subr.c@1.436 / diff / nxr@1.436
src/sys/kern/vfs_vnode.c@1.19 / diff / nxr@1.19
src/sys/miscfs/specfs/spec_vnops.c@1.137 / diff / nxr@1.137
src/sys/miscfs/specfs/specdev.h@1.40 / diff / nxr@1.40
src/sys/sys/param.h@1.425 / diff / nxr@1.425
Make the spec_node table implementation private to spec_vnops.c.
To retrieve a spec_node, two new lookup functions (by device or by mount)
are implemented. Both return a referenced vnode, for an opened block device
the opened vnode is returned so further diagnostic checks "vp == ... sd_bdevvp"
will not fire. Otherwise any vnode matching the criteria gets returned.
No objections on tech-kern.
Welcome to 6.99.17
To retrieve a spec_node, two new lookup functions (by device or by mount)
are implemented. Both return a referenced vnode, for an opened block device
the opened vnode is returned so further diagnostic checks "vp == ... sd_bdevvp"
will not fire. Otherwise any vnode matching the criteria gets returned.
No objections on tech-kern.
Welcome to 6.99.17
MAIN commitmail json YAML
Lookup the block device mounted on from the specfs_hash table.
This doesn't belong here but makes it possible to pullup.
Fixes PR kern/47020 (fss(4) panic)
This doesn't belong here but makes it possible to pullup.
Fixes PR kern/47020 (fss(4) panic)
MAIN commitmail json YAML
Take fss_device_lock first when closing a fss device.
Fixes PR kern/47514 (Multiple dump -X triggers kernel panic in fss_ioctl)
Fixes PR kern/47514 (Multiple dump -X triggers kernel panic in fss_ioctl)
MAIN commitmail json YAML
src/tests/fs/common/snapshot.c@1.7
/
diff
/
nxr@1.7
src/tests/fs/ffs/t_snapshot.c@1.6 / diff / nxr@1.6
src/tests/fs/ffs/t_snapshot_log.c@1.2 / diff / nxr@1.2
src/tests/fs/ffs/t_snapshot_v2.c@1.2 / diff / nxr@1.2
src/tests/fs/msdosfs/t_snapshot.c@1.2 / diff / nxr@1.2
src/tests/fs/ffs/t_snapshot.c@1.6 / diff / nxr@1.6
src/tests/fs/ffs/t_snapshot_log.c@1.2 / diff / nxr@1.2
src/tests/fs/ffs/t_snapshot_v2.c@1.2 / diff / nxr@1.2
src/tests/fs/msdosfs/t_snapshot.c@1.2 / diff / nxr@1.2
Test taking a snapshot from a stressed file system.
Checks snapshot meta data only with fsck.
OK: Antti Kantee <pooka@netbsd.org>
Checks snapshot meta data only with fsck.
OK: Antti Kantee <pooka@netbsd.org>
MAIN commitmail json YAML
Update the DEBUG section at the tail of pmap_clear_modify().
Nothing prevents page modification after the modify bit was
cleared but before the DEBUG section checks pmap_is_modified(),
so remove this check.
For the same reason "modified" and "changed" may differ, so only
check "modified" implies "changed" here.
Ok: Matthew Green <mrg@netbsd.org>
Nothing prevents page modification after the modify bit was
cleared but before the DEBUG section checks pmap_is_modified(),
so remove this check.
For the same reason "modified" and "changed" may differ, so only
check "modified" implies "changed" here.
Ok: Matthew Green <mrg@netbsd.org>
MAIN commitmail json YAML
Replace the rwlock based implementation with passive serialization
from pserialize(9) and mutex / condvar.
The fast paths (fstrans_start/fstrans_done on a file system not
suspended or suspending and fscow_run with no change pending) now
run without locks or other atomic operations. Suspension and cow
handler insertion and removal is done with mutex / condvars.
The API remains unchanged.
from pserialize(9) and mutex / condvar.
The fast paths (fstrans_start/fstrans_done on a file system not
suspended or suspending and fscow_run with no change pending) now
run without locks or other atomic operations. Suspension and cow
handler insertion and removal is done with mutex / condvars.
The API remains unchanged.
MAIN commitmail json YAML
netbsd32_posix_spawn_fa_alloc: use the right length for path allocation.
This error lead to memory pool corruption when freeing kmem with wrong size.
This error lead to memory pool corruption when freeing kmem with wrong size.
MAIN commitmail json YAML
Always call brelse() on error for breadn() too.
MAIN commitmail json YAML
Move the initialization of n to after the error branch.
From Taylor R Campbell <riastradh@netbsd.org>
From Taylor R Campbell <riastradh@netbsd.org>
MAIN commitmail json YAML
Revert rev. 1.20 now that bread() has been fixed.
PR kern/46282 (6.0_BETA crash: msdosfs_bmap -> pcbmap -> bread -> bio_doread)
PR kern/46282 (6.0_BETA crash: msdosfs_bmap -> pcbmap -> bread -> bio_doread)
MAIN commitmail json YAML
src/sys/fs/adosfs/advfsops.c@1.66
/
diff
/
nxr@1.66
src/sys/fs/adosfs/advnops.c@1.40 / diff / nxr@1.40
src/sys/fs/cd9660/cd9660_lookup.c@1.23 / diff / nxr@1.23
src/sys/fs/cd9660/cd9660_vfsops.c@1.76 / diff / nxr@1.76
src/sys/fs/cd9660/cd9660_vnops.c@1.42 / diff / nxr@1.42
src/sys/fs/efs/efs_subr.c@1.8 / diff / nxr@1.8
src/sys/fs/efs/efs_vfsops.c@1.24 / diff / nxr@1.24
src/sys/fs/efs/efs_vnops.c@1.29 / diff / nxr@1.29
src/sys/fs/filecorefs/filecore_bmap.c@1.10 / diff / nxr@1.10
src/sys/fs/filecorefs/filecore_lookup.c@1.17 / diff / nxr@1.17
src/sys/fs/filecorefs/filecore_utils.c@1.11 / diff / nxr@1.11
src/sys/fs/filecorefs/filecore_vfsops.c@1.70 / diff / nxr@1.70
src/sys/fs/filecorefs/filecore_vnops.c@1.35 / diff / nxr@1.35
src/sys/fs/msdosfs/msdosfs_denode.c@1.48 / diff / nxr@1.48
src/sys/fs/msdosfs/msdosfs_fat.c@1.22 / diff / nxr@1.22
src/sys/fs/msdosfs/msdosfs_lookup.c@1.27 / diff / nxr@1.27
src/sys/fs/msdosfs/msdosfs_vnops.c@1.84 / diff / nxr@1.84
src/sys/fs/nilfs/nilfs_subr.c@1.9 / diff / nxr@1.9
src/sys/fs/nilfs/nilfs_vfsops.c@1.10 / diff / nxr@1.10
src/sys/fs/ntfs/ntfs_subr.c@1.49 / diff / nxr@1.49
:
(more 18 files)
src/sys/fs/adosfs/advnops.c@1.40 / diff / nxr@1.40
src/sys/fs/cd9660/cd9660_lookup.c@1.23 / diff / nxr@1.23
src/sys/fs/cd9660/cd9660_vfsops.c@1.76 / diff / nxr@1.76
src/sys/fs/cd9660/cd9660_vnops.c@1.42 / diff / nxr@1.42
src/sys/fs/efs/efs_subr.c@1.8 / diff / nxr@1.8
src/sys/fs/efs/efs_vfsops.c@1.24 / diff / nxr@1.24
src/sys/fs/efs/efs_vnops.c@1.29 / diff / nxr@1.29
src/sys/fs/filecorefs/filecore_bmap.c@1.10 / diff / nxr@1.10
src/sys/fs/filecorefs/filecore_lookup.c@1.17 / diff / nxr@1.17
src/sys/fs/filecorefs/filecore_utils.c@1.11 / diff / nxr@1.11
src/sys/fs/filecorefs/filecore_vfsops.c@1.70 / diff / nxr@1.70
src/sys/fs/filecorefs/filecore_vnops.c@1.35 / diff / nxr@1.35
src/sys/fs/msdosfs/msdosfs_denode.c@1.48 / diff / nxr@1.48
src/sys/fs/msdosfs/msdosfs_fat.c@1.22 / diff / nxr@1.22
src/sys/fs/msdosfs/msdosfs_lookup.c@1.27 / diff / nxr@1.27
src/sys/fs/msdosfs/msdosfs_vnops.c@1.84 / diff / nxr@1.84
src/sys/fs/nilfs/nilfs_subr.c@1.9 / diff / nxr@1.9
src/sys/fs/nilfs/nilfs_vfsops.c@1.10 / diff / nxr@1.10
src/sys/fs/ntfs/ntfs_subr.c@1.49 / diff / nxr@1.49
:
(more 18 files)
Change bread() and breadn() to never return a buffer on
error and modify all callers to not brelse() on error.
Welcome to 6.99.16
PR kern/46282 (6.0_BETA crash: msdosfs_bmap -> pcbmap -> bread -> bio_doread)
error and modify all callers to not brelse() on error.
Welcome to 6.99.16
PR kern/46282 (6.0_BETA crash: msdosfs_bmap -> pcbmap -> bread -> bio_doread)
MAIN commitmail json YAML
Try to coalesce writes to the journal in MAXPHYS sized and aligned blocks.
Speeds up wapbl_flush() on raid5 by a factor of 3-4.
Discussed on tech-kern.
Needs pullup to NetBSD-6.
Speeds up wapbl_flush() on raid5 by a factor of 3-4.
Discussed on tech-kern.
Needs pullup to NetBSD-6.
MAIN commitmail json YAML
wapbl_biodone: Release the buffer before reclaiming the log.
wapbl_flush() may wait for the log to become empty and
all buffers should be unbusy before it returns.
wapbl_flush() may wait for the log to become empty and
all buffers should be unbusy before it returns.
MAIN commitmail json YAML
Bring back Manuel Bouyers patch to resolve races between vget() and vrelel()
resulting in vget() returning dead vnodes.
It is impossible to resolve these races in vn_lock().
Needs pullup to NetBSD-6.
resulting in vget() returning dead vnodes.
It is impossible to resolve these races in vn_lock().
Needs pullup to NetBSD-6.
MAIN commitmail json YAML
Minor fix to previous -- release vnode after last use, not before.
MAIN commitmail json YAML
Use `getdisksize()' to get the size of the mounted-on block device.
Should work for disks without partition table (wedges) now.
Should work for disks without partition table (wedges) now.
MAIN commitmail json YAML
Initialize `fss_flags' before setting an individual bit.
Not a real problem as there is only one valid bit yet.
From Edgar Fuss via tech-kern@netbsd.org
Not a real problem as there is only one valid bit yet.
From Edgar Fuss via tech-kern@netbsd.org
MAIN commitmail json YAML
File system snapshots are no longer experimental.
Forgot to chang this man page in Nov 2011.
Forgot to chang this man page in Nov 2011.
MAIN commitmail json YAML
pcbmap(): We cannot use bread() here as for the pagedaemon getblk()
may fail leading to a panic in bread().
Replace bread() with getblk() / VOP_STRATEGY() and return
an error if getblk() fails.
Fixes PR#46282: 6.0_BETA crash: msdosfs_bmap -> pcbmap -> bread -> bio_doread
This is an interim solution for easy pullup. The final solution
is be to change bread() to not return a buffer on error. As
we have to change all callers of bread() this will not qualify
for a pullup.
may fail leading to a panic in bread().
Replace bread() with getblk() / VOP_STRATEGY() and return
an error if getblk() fails.
Fixes PR#46282: 6.0_BETA crash: msdosfs_bmap -> pcbmap -> bread -> bio_doread
This is an interim solution for easy pullup. The final solution
is be to change bread() to not return a buffer on error. As
we have to change all callers of bread() this will not qualify
for a pullup.
MAIN commitmail json YAML
When backed by a sparse file limit the number of pending requests.
Should fix PR #45829: "writing to vnd on sparse file blocks on pager_map"
where the pager_map gets exhausted by requests enqueued on a vnd
device and the device worker thread blocks on putpages() needing the map.
While here always sync the underlying vnode before calling biodone().
XXX: vnd should be converted to mutex/condvar.
Should fix PR #45829: "writing to vnd on sparse file blocks on pager_map"
where the pager_map gets exhausted by requests enqueued on a vnd
device and the device worker thread blocks on putpages() needing the map.
While here always sync the underlying vnode before calling biodone().
XXX: vnd should be converted to mutex/condvar.
MAIN commitmail json YAML
Starting with Rev. 1.191 of kern/subr_pool.c a pool has to be inactive
for at least 10 seconds before it can be reclaimed.
Change the uvmwait test timeout from 10 to 30 seconds so it has a chance
to reclaim memory and succeed.
for at least 10 seconds before it can be reclaimed.
Change the uvmwait test timeout from 10 to 30 seconds so it has a chance
to reclaim memory and succeed.
MAIN commitmail json YAML
Don't take a mutex we already took 6 lines above.
MAIN commitmail json YAML
src/sys/ufs/ext2fs/ext2fs_lookup.c@1.69
/
diff
/
nxr@1.69
src/sys/ufs/ufs/ufs_lookup.c@1.113 / diff / nxr@1.113
src/sys/ufs/ufs/ufs_lookup.c@1.113 / diff / nxr@1.113
Fix last commit that broke lookup for dot with op DELETE.
Reviewed by: David Holland <dholland@netbsd.org>
Reviewed by: David Holland <dholland@netbsd.org>
MAIN commitmail json YAML
Add virtio driver to INSTALL_FLOPPY.
Requested by Matthias Scheler <tron@netbsd.org> for particular cases like
http://mail-index.netbsd.org/netbsd-users/2011/09/13/msg009128.html
Requested by Matthias Scheler <tron@netbsd.org> for particular cases like
http://mail-index.netbsd.org/netbsd-users/2011/09/13/msg009128.html
MAIN commitmail json YAML
Revert revision 1.4 and change LAPIC_LEVEL_ASSERT / _MASK back to 0x4000.
According to "Intel 64 and IA-32 Architectures Software Developer's Manual"
Vol. 3, May 2011, Order Number: 325384-039US, Section 10.6.1:
LEVEL_ASSERT is bit #14, bit #13 is reserved.
With this change NetBSD now boots multiple processors under CentOS 6.2/kvm.
According to "Intel 64 and IA-32 Architectures Software Developer's Manual"
Vol. 3, May 2011, Order Number: 325384-039US, Section 10.6.1:
LEVEL_ASSERT is bit #14, bit #13 is reserved.
With this change NetBSD now boots multiple processors under CentOS 6.2/kvm.
MAIN commitmail json YAML
Move the diagnostic check for a missing VOP_CLOSE() to the top of vrelel().
As long as we hold the vnode interlock there is no chance for this vnode
to gain new references.
Fixes false alarms observed by Thor Lancelot Simon and reported on tech-kern.
Ok: David Holland <dholland@netbsd.org>
As long as we hold the vnode interlock there is no chance for this vnode
to gain new references.
Fixes false alarms observed by Thor Lancelot Simon and reported on tech-kern.
Ok: David Holland <dholland@netbsd.org>
MAIN commitmail json YAML
The union file system is as stable as other layered file systems so
no longer print a warning to the console.
Gnats is waiting ...
no longer print a warning to the console.
Gnats is waiting ...
MAIN commitmail json YAML
Don't try to set ld->sc_maxxfer below MAXPHYS.
At least genfs_io assumes 'ld->sc_maxxfer == MAXPHYS'.
At least genfs_io assumes 'ld->sc_maxxfer == MAXPHYS'.
MAIN commitmail json YAML
When union_allocvp() finds a node being cleaned out and the caller holds
a lock, ignore the node and continue. To allow the cleaning to succeed
the current threadmust make progress.
For a brief time the cache may contain more than one vnode referring to
a lower node.
Don't unlock the hash mutex if getnewvnode fails -- we don't hold it.
a lock, ignore the node and continue. To allow the cleaning to succeed
the current threadmust make progress.
For a brief time the cache may contain more than one vnode referring to
a lower node.
Don't unlock the hash mutex if getnewvnode fails -- we don't hold it.
MAIN commitmail json YAML
According to "Virtio PCI Card Specification v0.9.2 DRAFT" there is no
feature named VIRTIO_BLK_F_SECTOR_MAX so remove it. Linux seems to use
this feature bit as VIRTIO_BLK_F_TOPOLOGY.
Use VIRTIO_BLK_F_BLK_SIZE * VIRTIO_BLK_F_SEG_MAX as the drivers maxxfer
and reorder so sc_secsize gets set before use.
As maxxfer may not be a multiple of page size add one more segment to
the dma maps.
Tested on Linux 3.1.1 host by Guillaume Lasmayous.
feature named VIRTIO_BLK_F_SECTOR_MAX so remove it. Linux seems to use
this feature bit as VIRTIO_BLK_F_TOPOLOGY.
Use VIRTIO_BLK_F_BLK_SIZE * VIRTIO_BLK_F_SEG_MAX as the drivers maxxfer
and reorder so sc_secsize gets set before use.
As maxxfer may not be a multiple of page size add one more segment to
the dma maps.
Tested on Linux 3.1.1 host by Guillaume Lasmayous.
MAIN commitmail json YAML
src/sys/fs/union/union.h@1.23
/
diff
/
nxr@1.23
src/sys/fs/union/union_subr.c@1.54 / diff / nxr@1.54
src/sys/fs/union/union_vfsops.c@1.66 / diff / nxr@1.66
src/sys/fs/union/union_subr.c@1.54 / diff / nxr@1.54
src/sys/fs/union/union_vfsops.c@1.66 / diff / nxr@1.66
Use hashinit() / hashdone() to create the union node hash list.
Cleanup the hash lookup in union_allocvp().
Needs more work as there is still a possible deadlock between
union_allocvp() and vclean().
Cleanup the hash lookup in union_allocvp().
Needs more work as there is still a possible deadlock between
union_allocvp() and vclean().
MAIN commitmail json YAML
src/sys/fs/union/union.h@1.22
/
diff
/
nxr@1.22
src/sys/fs/union/union_subr.c@1.53 / diff / nxr@1.53
src/sys/fs/union/union_vfsops.c@1.65 / diff / nxr@1.65
src/sys/fs/union/union_vnops.c@1.49 / diff / nxr@1.49
src/sys/fs/union/union_subr.c@1.53 / diff / nxr@1.53
src/sys/fs/union/union_vfsops.c@1.65 / diff / nxr@1.65
src/sys/fs/union/union_vnops.c@1.49 / diff / nxr@1.49
Replace flag based union node locking with generic vnode lock, support
shared and nowait locks and protect un_uppervp and un_*sz with mutex.
Mark file system MPSAFE.
shared and nowait locks and protect un_uppervp and un_*sz with mutex.
Mark file system MPSAFE.
MAIN commitmail json YAML
nfsrv_lookup(): Defer the postopattr lookup on dirp until the
child node is unlocked.
Ok: YAMAMOTO Takashi <yamt@netbsd.org>
child node is unlocked.
Ok: YAMAMOTO Takashi <yamt@netbsd.org>
MAIN commitmail json YAML
Fix locking against self in veriexec_fp_calc().
MAIN commitmail json YAML
VOP_ABORTOP() has no specific lock requirements so there is no need
to force locked vnodes here. It should be impossible to come here
with a nil upper node.
Relock the directory vnode after copyup. A locked union node with an
unlocked upper vnode can no longer exist so make FIXUP() an assertion.
to force locked vnodes here. It should be impossible to come here
with a nil upper node.
Relock the directory vnode after copyup. A locked union node with an
unlocked upper vnode can no longer exist so make FIXUP() an assertion.
MAIN commitmail json YAML
Remove a needless vnode lock/unlock dance. This is a leftover from the
removal of VOP_LEASE().
Function union_removed_upper() always works on unlocked upper vnodes so
remove the test-and-unlock and add an assertion.
removal of VOP_LEASE().
Function union_removed_upper() always works on unlocked upper vnodes so
remove the test-and-unlock and add an assertion.
MAIN commitmail json YAML
src/sys/fs/adosfs/advfsops.c@1.63
/
diff
/
nxr@1.63
src/sys/fs/cd9660/cd9660_vfsops.c@1.74 / diff / nxr@1.74
src/sys/fs/filecorefs/filecore_vfsops.c@1.68 / diff / nxr@1.68
src/sys/fs/hfs/hfs_subr.c@1.17 / diff / nxr@1.17
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.93 / diff / nxr@1.93
src/sys/fs/nilfs/nilfs_vfsops.c@1.8 / diff / nxr@1.8
src/sys/fs/ntfs/ntfs_vfsops.c@1.87 / diff / nxr@1.87
src/sys/fs/udf/udf_vfsops.c@1.62 / diff / nxr@1.62
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.162 / diff / nxr@1.162
src/sys/ufs/ffs/ffs_vfsops.c@1.271 / diff / nxr@1.271
src/sys/ufs/lfs/lfs_vfsops.c@1.291 / diff / nxr@1.291
src/sys/fs/cd9660/cd9660_vfsops.c@1.74 / diff / nxr@1.74
src/sys/fs/filecorefs/filecore_vfsops.c@1.68 / diff / nxr@1.68
src/sys/fs/hfs/hfs_subr.c@1.17 / diff / nxr@1.17
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.93 / diff / nxr@1.93
src/sys/fs/nilfs/nilfs_vfsops.c@1.8 / diff / nxr@1.8
src/sys/fs/ntfs/ntfs_vfsops.c@1.87 / diff / nxr@1.87
src/sys/fs/udf/udf_vfsops.c@1.62 / diff / nxr@1.62
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.162 / diff / nxr@1.162
src/sys/ufs/ffs/ffs_vfsops.c@1.271 / diff / nxr@1.271
src/sys/ufs/lfs/lfs_vfsops.c@1.291 / diff / nxr@1.291
VOP_OPEN() needs a locked vnode. All these copy-and-pasted xxxfs_mount()
implementations need more review.
implementations need more review.
MAIN commitmail json YAML
Bring back sys/disklabel.h for DISKUNIT and DISKPART.
MAIN commitmail json YAML
src/distrib/sets/lists/man/mi@1.1352
/
diff
/
nxr@1.1352
src/share/man/man4/Makefile@1.573 / diff / nxr@1.573
src/share/man/man4/ld.4@1.19 / diff / nxr@1.19
src/share/man/man4/virtio.4@1.1 / diff / nxr@1.1
src/share/man/man4/Makefile@1.573 / diff / nxr@1.573
src/share/man/man4/ld.4@1.19 / diff / nxr@1.19
src/share/man/man4/virtio.4@1.1 / diff / nxr@1.1
Document virtio(4).
MAIN commitmail json YAML
Make sure we allocate enough segments for the request dma maps.
MAIN commitmail json YAML
Add a comment that pn_sizemtx should be useless as VOP_GETATTR now
needs a shared lock at least.
needs a shared lock at least.
MAIN commitmail json YAML
src/sys/arch/amd64/conf/GENERIC@1.338
/
diff
/
nxr@1.338
src/sys/arch/i386/conf/ALL@1.325 / diff / nxr@1.325
src/sys/arch/i386/conf/GENERIC@1.1055 / diff / nxr@1.1055
src/sys/dev/pci/files.pci@1.350 / diff / nxr@1.350
src/sys/dev/pci/if_vioif.c@1.1 / diff / nxr@1.1
src/sys/dev/pci/ld_virtio.c@1.1 / diff / nxr@1.1
src/sys/dev/pci/viomb.c@1.1 / diff / nxr@1.1
src/sys/dev/pci/virtio.c@1.1 / diff / nxr@1.1
src/sys/dev/pci/virtioreg.h@1.1 / diff / nxr@1.1
src/sys/dev/pci/virtiovar.h@1.1 / diff / nxr@1.1
src/sys/arch/i386/conf/ALL@1.325 / diff / nxr@1.325
src/sys/arch/i386/conf/GENERIC@1.1055 / diff / nxr@1.1055
src/sys/dev/pci/files.pci@1.350 / diff / nxr@1.350
src/sys/dev/pci/if_vioif.c@1.1 / diff / nxr@1.1
src/sys/dev/pci/ld_virtio.c@1.1 / diff / nxr@1.1
src/sys/dev/pci/viomb.c@1.1 / diff / nxr@1.1
src/sys/dev/pci/virtio.c@1.1 / diff / nxr@1.1
src/sys/dev/pci/virtioreg.h@1.1 / diff / nxr@1.1
src/sys/dev/pci/virtiovar.h@1.1 / diff / nxr@1.1
Import of the virtio driver written by MINOURA Makoto <minoura@netbsd.org>
with minor changes to make it compile an run on -current. This driver
speeds up disk and network access in virtual environments like KVM.
Enabled on i386 and amd64. Tested with a CentOS 5.7 x86_64 host.
See http://ozlabs.org/~rusty/virtio-spec/virtio.pdf for the specification.
with minor changes to make it compile an run on -current. This driver
speeds up disk and network access in virtual environments like KVM.
Enabled on i386 and amd64. Tested with a CentOS 5.7 x86_64 host.
See http://ozlabs.org/~rusty/virtio-spec/virtio.pdf for the specification.
MAIN commitmail json YAML
VOP_GETATTR() needs a shared lock at least.
MAIN commitmail json YAML
VOP_GETATTR() needs a shared lock at least.
As nfs_kqpoll() ignores the return value from VOP_GETATTR() initialize
the attrributes to zero -- nfs_kqfilter() does the same.
As nfs_kqpoll() ignores the return value from VOP_GETATTR() initialize
the attrributes to zero -- nfs_kqfilter() does the same.
MAIN commitmail json YAML
VOP_GETATTR() needs a shared lock at least.
MAIN commitmail json YAML
VOP_GETATTR() needs a shared lock at least.
While here fix a typo (fvp -> tvp).
While here fix a typo (fvp -> tvp).
MAIN commitmail json YAML
src/sys/fs/union/union_subr.c@1.51
/
diff
/
nxr@1.51
src/sys/fs/union/union_vnops.c@1.47 / diff / nxr@1.47
src/sys/fs/union/union_vnops.c@1.47 / diff / nxr@1.47
VOP_GETATTR() needs a shared lock at least.
MAIN commitmail json YAML
VOP_GETATTR() needs a shared lock at least.
While here fix a typo (fvp -> tvp).
While here fix a typo (fvp -> tvp).
MAIN commitmail json YAML
src/sys/miscfs/fdesc/fdesc_vnops.c@1.114
/
diff
/
nxr@1.114
src/sys/miscfs/procfs/procfs_map.c@1.41 / diff / nxr@1.41
src/sys/miscfs/procfs/procfs_map.c@1.41 / diff / nxr@1.41
VOP_GETATTR() needs a shared lock at least.
MAIN commitmail json YAML
src/sys/compat/linux/common/linux_file.c@1.104
/
diff
/
nxr@1.104
src/sys/compat/linux/common/linux_file64.c@1.53 / diff / nxr@1.53
src/sys/compat/linux/common/linux_ioctl.c@1.56 / diff / nxr@1.56
src/sys/compat/linux/common/linux_misc.c@1.219 / diff / nxr@1.219
src/sys/compat/linux32/common/linux32_dirent.c@1.13 / diff / nxr@1.13
src/sys/compat/ossaudio/ossaudio.c@1.67 / diff / nxr@1.67
src/sys/compat/svr4/svr4_fcntl.c@1.71 / diff / nxr@1.71
src/sys/compat/svr4_32/svr4_32_fcntl.c@1.35 / diff / nxr@1.35
src/sys/dev/ccd.c@1.142 / diff / nxr@1.142
src/sys/dev/cgd.c@1.75 / diff / nxr@1.75
src/sys/dev/dm/dm_target_linear.c@1.13 / diff / nxr@1.13
src/sys/dev/dm/dm_target_snapshot.c@1.15 / diff / nxr@1.15
src/sys/dev/dm/dm_target_stripe.c@1.16 / diff / nxr@1.16
src/sys/dev/raidframe/rf_copyback.c@1.49 / diff / nxr@1.49
src/sys/dev/raidframe/rf_disks.c@1.82 / diff / nxr@1.82
src/sys/dev/raidframe/rf_reconstruct.c@1.117 / diff / nxr@1.117
src/sys/dev/vnd.c@1.219 / diff / nxr@1.219
src/sys/kern/kern_verifiedexec.c@1.127 / diff / nxr@1.127
src/sys/kern/vfs_mount.c@1.11 / diff / nxr@1.11
src/sys/kern/vfs_syscalls.c@1.440 / diff / nxr@1.440
:
(more 3 files)
src/sys/compat/linux/common/linux_file64.c@1.53 / diff / nxr@1.53
src/sys/compat/linux/common/linux_ioctl.c@1.56 / diff / nxr@1.56
src/sys/compat/linux/common/linux_misc.c@1.219 / diff / nxr@1.219
src/sys/compat/linux32/common/linux32_dirent.c@1.13 / diff / nxr@1.13
src/sys/compat/ossaudio/ossaudio.c@1.67 / diff / nxr@1.67
src/sys/compat/svr4/svr4_fcntl.c@1.71 / diff / nxr@1.71
src/sys/compat/svr4_32/svr4_32_fcntl.c@1.35 / diff / nxr@1.35
src/sys/dev/ccd.c@1.142 / diff / nxr@1.142
src/sys/dev/cgd.c@1.75 / diff / nxr@1.75
src/sys/dev/dm/dm_target_linear.c@1.13 / diff / nxr@1.13
src/sys/dev/dm/dm_target_snapshot.c@1.15 / diff / nxr@1.15
src/sys/dev/dm/dm_target_stripe.c@1.16 / diff / nxr@1.16
src/sys/dev/raidframe/rf_copyback.c@1.49 / diff / nxr@1.49
src/sys/dev/raidframe/rf_disks.c@1.82 / diff / nxr@1.82
src/sys/dev/raidframe/rf_reconstruct.c@1.117 / diff / nxr@1.117
src/sys/dev/vnd.c@1.219 / diff / nxr@1.219
src/sys/kern/kern_verifiedexec.c@1.127 / diff / nxr@1.127
src/sys/kern/vfs_mount.c@1.11 / diff / nxr@1.11
src/sys/kern/vfs_syscalls.c@1.440 / diff / nxr@1.440
:
(more 3 files)
Change the vnode locking protocol of VOP_GETATTR() to request at least
a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
a shared lock. Make all calls outside of file systems respect it.
The calls from file systems need review.
No objections from tech-kern.
MAIN commitmail json YAML
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c@1.6
/
diff
/
nxr@1.6
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.92 / diff / nxr@1.92
src/sys/fs/puffs/puffs_vfsops.c@1.98 / diff / nxr@1.98
src/sys/fs/smbfs/smbfs_vfsops.c@1.95 / diff / nxr@1.95
src/sys/kern/vfs_mount.c@1.10 / diff / nxr@1.10
src/sys/kern/vfs_vnode.c@1.14 / diff / nxr@1.14
src/sys/nfs/nfs_vfsops.c@1.219 / diff / nxr@1.219
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.161 / diff / nxr@1.161
src/sys/ufs/ffs/ffs_snapshot.c@1.118 / diff / nxr@1.118
src/sys/ufs/ffs/ffs_vfsops.c@1.269 / diff / nxr@1.269
src/sys/ufs/ufs/ufs_quota1.c@1.5 / diff / nxr@1.5
src/sys/fs/msdosfs/msdosfs_vfsops.c@1.92 / diff / nxr@1.92
src/sys/fs/puffs/puffs_vfsops.c@1.98 / diff / nxr@1.98
src/sys/fs/smbfs/smbfs_vfsops.c@1.95 / diff / nxr@1.95
src/sys/kern/vfs_mount.c@1.10 / diff / nxr@1.10
src/sys/kern/vfs_vnode.c@1.14 / diff / nxr@1.14
src/sys/nfs/nfs_vfsops.c@1.219 / diff / nxr@1.219
src/sys/ufs/ext2fs/ext2fs_vfsops.c@1.161 / diff / nxr@1.161
src/sys/ufs/ffs/ffs_snapshot.c@1.118 / diff / nxr@1.118
src/sys/ufs/ffs/ffs_vfsops.c@1.269 / diff / nxr@1.269
src/sys/ufs/ufs/ufs_quota1.c@1.5 / diff / nxr@1.5
As vnalloc() always allocates with PR_WAITOK there is no longer the need
to test its result for NULL.
to test its result for NULL.
MAIN commitmail json YAML
As getnewvnode() is prepared to wait for an allocation change vnalloc()
to always use PR_WAITOK.
No more 'WARNING: unable to allocate new vnode, retrying...' messages.
to always use PR_WAITOK.
No more 'WARNING: unable to allocate new vnode, retrying...' messages.
MAIN commitmail json YAML
The path getnewvnode()->getcleanvnode()->vclean()->VOP_LOCK() will panic
if the vnode we want to clean is a layered vnode and the caller already
locked its lower vnode.
Change getnewvnode() to always allocate a fresh vnode and add a helper
thread (vdrain) to keep the number of allocated vnodes within desiredvnodes.
Rename getcleanvnode() to cleanvnode() and let it take a vnode from the
lists, clean and free it.
Reviewed by: David Holland <dholland@netbsd.org>
Should fix:
PR #19110 (nullfs mounts over NFS cause lock manager problems)
PR #34102 (ffs panic in NetBSD 3.0_STABLE)
PR #45115 (lock error panic when build.sh*3 and daily script is running)
PR #45355 (Reader/writer lock error: rw_vector_enter: locking against myself)
if the vnode we want to clean is a layered vnode and the caller already
locked its lower vnode.
Change getnewvnode() to always allocate a fresh vnode and add a helper
thread (vdrain) to keep the number of allocated vnodes within desiredvnodes.
Rename getcleanvnode() to cleanvnode() and let it take a vnode from the
lists, clean and free it.
Reviewed by: David Holland <dholland@netbsd.org>
Should fix:
PR #19110 (nullfs mounts over NFS cause lock manager problems)
PR #34102 (ffs panic in NetBSD 3.0_STABLE)
PR #45115 (lock error panic when build.sh*3 and daily script is running)
PR #45355 (Reader/writer lock error: rw_vector_enter: locking against myself)
MAIN commitmail json YAML
src/sys/fs/tmpfs/tmpfs_subr.c@1.77
/
diff
/
nxr@1.77
src/sys/fs/tmpfs/tmpfs_vnops.c@1.90 / diff / nxr@1.90
src/sys/fs/tmpfs/tmpfs_vnops.c@1.90 / diff / nxr@1.90
Finish and enable whiteout support for tmpfs:
- Enable VOP tmpfs_whiteout().
- Support ISWHITEOUT in tmpfs_alloc_file().
- Support DOWHITEOUT in tmpfs_remove() and tmpfs_rmdir().
- Make rmdir on a directory containing whiteouts working.
Should fix PR #35112 (tmpfs doesn't play well with unionfs).
- Enable VOP tmpfs_whiteout().
- Support ISWHITEOUT in tmpfs_alloc_file().
- Support DOWHITEOUT in tmpfs_remove() and tmpfs_rmdir().
- Make rmdir on a directory containing whiteouts working.
Should fix PR #35112 (tmpfs doesn't play well with unionfs).
MAIN commitmail json YAML
t_fd/sigio: pass test if we receive at least one SIGIO signal.
While a real kernel collects these signals until the connect() returns and
then delivers one signal rump delivers every signal so we get more than one.
Ok: Antti Kantee <pooka@netbsd.org>
While a real kernel collects these signals until the connect() returns and
then delivers one signal rump delivers every signal so we get more than one.
Ok: Antti Kantee <pooka@netbsd.org>
MAIN commitmail json YAML
When consuming only part of a path in rump_vop_lookup():
- Make sure to consume complete path components.
- Consume trailing slashes too.
- Do not clear REQUIREDIR.
Test rump/modautoload/t_modautoload now passes.
- Make sure to consume complete path components.
- Consume trailing slashes too.
- Do not clear REQUIREDIR.
Test rump/modautoload/t_modautoload now passes.
MAIN commitmail json YAML
src/sys/fs/union/union.h@1.21
/
diff
/
nxr@1.21
src/sys/fs/union/union_subr.c@1.50 / diff / nxr@1.50
src/sys/fs/union/union_vnops.c@1.46 / diff / nxr@1.46
src/sys/fs/union/union_subr.c@1.50 / diff / nxr@1.50
src/sys/fs/union/union_vnops.c@1.46 / diff / nxr@1.46
Stop abusing relookup() to prepare the creation of new nodes
in the upper layer.
Replace union_relookup() with union_do_lookup() that prepares
a component, calls VOP_LOOKUP() and does the EEXIST test.
in the upper layer.
Replace union_relookup() with union_do_lookup() that prepares
a component, calls VOP_LOOKUP() and does the EEXIST test.
MAIN commitmail json YAML
Fix typo.
MAIN commitmail json YAML
Use mutexes to protect the hash lists instead of tsleep/wakeup.
MAIN commitmail json YAML
src/sys/fs/union/union.h@1.20
/
diff
/
nxr@1.20
src/sys/fs/union/union_subr.c@1.48 / diff / nxr@1.48
src/sys/fs/union/union_vnops.c@1.45 / diff / nxr@1.45
src/sys/fs/union/union_subr.c@1.48 / diff / nxr@1.48
src/sys/fs/union/union_vnops.c@1.45 / diff / nxr@1.45
Change some `#ifdef DIAGNOSTIC' to `KASSERT'.
Instead of a `pid_t' use a `lwp_t *' for locking diagnostics.
No functional changes intended.
Instead of a `pid_t' use a `lwp_t *' for locking diagnostics.
No functional changes intended.
MAIN commitmail json YAML
Add missing parts to mount devices from a union file system:
- union_close() has to lock/unlock the lower vnode.
- union_fsync() has to call spec_fsync() for the union vnode.
- union_strategy() must allow writes to devices on the lower file system.
- union_bwrite() was completely missing.
- union_close() has to lock/unlock the lower vnode.
- union_fsync() has to call spec_fsync() for the union vnode.
- union_strategy() must allow writes to devices on the lower file system.
- union_bwrite() was completely missing.
MAIN commitmail json YAML
When creating a union node representing a device initialize
the spec_node to make vrele() happy.
the spec_node to make vrele() happy.
MAIN commitmail json YAML
Update the (shared) v_interlock if the upper node changes.
MAIN commitmail json YAML
src/sys/fs/union/union_vnops.c@1.43
/
diff
/
nxr@1.43
src/tests/fs/union/t_pr.c@1.8 / diff / nxr@1.8
src/tests/fs/union/t_pr.c@1.8 / diff / nxr@1.8
For devices, sockets and fifos ignore setting the file size to zero to make
open(..., O_TRUNC) happy and allow them to write through the lower layer.
Fixes PR #43560 (writing to null device in unionfs fails)
open(..., O_TRUNC) happy and allow them to write through the lower layer.
Fixes PR #43560 (writing to null device in unionfs fails)
MAIN commitmail json YAML
Use LK_SHARED, it is sufficient for VOP_GETATTR() and VOP_READDIR().
MAIN commitmail json YAML
No need to lock the selcluster in selscan() if either
NO_DIRECT_SELECT is defined or all polls return an event.
NO_DIRECT_SELECT is defined or all polls return an event.
MAIN commitmail json YAML
src/sys/fs/union/union.h@1.19
/
diff
/
nxr@1.19
src/sys/fs/union/union_subr.c@1.44 / diff / nxr@1.44
src/sys/fs/union/union_vnops.c@1.42 / diff / nxr@1.42
src/tests/fs/vfs/t_union.c@1.8 / diff / nxr@1.8
src/sys/fs/union/union_subr.c@1.44 / diff / nxr@1.44
src/sys/fs/union/union_vnops.c@1.42 / diff / nxr@1.42
src/tests/fs/vfs/t_union.c@1.8 / diff / nxr@1.8
Change union rmdir semantics to fail directory removal for
non-empty directories like all other file systems do.
Change test accordingly.
non-empty directories like all other file systems do.
Change test accordingly.
MAIN commitmail json YAML
Allow removal of a directory containing only whiteouts and free them first.
MAIN commitmail json YAML
Fix the races of direct select()/poll():
- When sel_do_scan() restarts do a full initialization with selclear() so
we start from an empty set without registered events. Defer the
evaluation of l_selret after selclear() and add the count of direct events
to the count of events.
- For selscan()/pollscan() zero the output descriptors before we poll and
for selscan() take the sc_lock before we change them.
- Change sel_setevents() to not count events already set.
Reviewed by: YAMAMOTO Takashi <yamt@netbsd.org>
Should fix PR #44763 (select/poll direct-set optimization seems racy)
and PR #45187 (select(2) sometimes doesn't wakeup)
- When sel_do_scan() restarts do a full initialization with selclear() so
we start from an empty set without registered events. Defer the
evaluation of l_selret after selclear() and add the count of direct events
to the count of events.
- For selscan()/pollscan() zero the output descriptors before we poll and
for selscan() take the sc_lock before we change them.
- Change sel_setevents() to not count events already set.
Reviewed by: YAMAMOTO Takashi <yamt@netbsd.org>
Should fix PR #44763 (select/poll direct-set optimization seems racy)
and PR #45187 (select(2) sometimes doesn't wakeup)
MAIN commitmail json YAML
src/sys/fs/union/union_vnops.c@1.41
/
diff
/
nxr@1.41
src/tests/fs/vfs/t_union.c@1.7 / diff / nxr@1.7
src/tests/fs/vfs/t_union.c@1.7 / diff / nxr@1.7
When union_lookup() creates a shadow directory and nameiop is not LOOKUP
it has to restart the lookup to get the componentname right.
Fixes PR #44383 (an endless stream of whiteout and opaque dir problems ...)
it has to restart the lookup to get the componentname right.
Fixes PR #44383 (an endless stream of whiteout and opaque dir problems ...)
MAIN commitmail json YAML
Make whiteouts work on rumpfs:
- On lookup it is ok to create if the name exists and is a whiteout
- When replacing a whiteout directory entry remove the whiteout first.
- Set UF_OPAQUE when creating a node in place of a whiteout.
- On lookup it is ok to create if the name exists and is a whiteout
- When replacing a whiteout directory entry remove the whiteout first.
- Set UF_OPAQUE when creating a node in place of a whiteout.
MAIN commitmail json YAML
src/sys/fs/msdosfs/msdosfs_vnops.c@1.78
/
diff
/
nxr@1.78
src/tests/fs/vfs/t_vnops.c@1.25 / diff / nxr@1.25
src/tests/fs/vfs/t_vnops.c@1.25 / diff / nxr@1.25
Even though msdosfs never truncates file names it advertises _PC_NO_TRUNC
as zero. Make it advertise one (no_trunc == true).
Names longer than NAME_MAX (255) will never pass namei() btw.
Fixes PR #43670 (msdosfs claims support for filenames longer than {NAME_MAX},
but fails)
as zero. Make it advertise one (no_trunc == true).
Names longer than NAME_MAX (255) will never pass namei() btw.
Fixes PR #43670 (msdosfs claims support for filenames longer than {NAME_MAX},
but fails)
MAIN commitmail json YAML
Layer_fsync(): when syncing a device node call spec_fsync() to clean the
layer node before descending to the lower file system.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
layer node before descending to the lower file system.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
MAIN commitmail json YAML
src/share/man/man9/vnodeops.9@1.82
/
diff
/
nxr@1.82
src/sys/kern/vfs_bio.c@1.231 / diff / nxr@1.231
src/sys/kern/vfs_subr.c@1.424 / diff / nxr@1.424
src/sys/kern/vnode_if.c@1.88 / diff / nxr@1.88
src/sys/miscfs/genfs/layer_extern.h@1.29 / diff / nxr@1.29
src/sys/miscfs/genfs/layer_vnops.c@1.49 / diff / nxr@1.49
src/sys/miscfs/nullfs/null_vnops.c@1.38 / diff / nxr@1.38
src/sys/miscfs/overlay/overlay_vnops.c@1.19 / diff / nxr@1.19
src/sys/miscfs/umapfs/umap_vnops.c@1.53 / diff / nxr@1.53
src/sys/rump/include/rump/rumpvnode_if.h@1.11 / diff / nxr@1.11
src/sys/rump/librump/rumpvfs/rumpvnode_if.c@1.10 / diff / nxr@1.10
src/sys/sys/param.h@1.392 / diff / nxr@1.392
src/sys/sys/vnode_if.h@1.82 / diff / nxr@1.82
src/sys/ufs/ext2fs/ext2fs_lookup.c@1.64 / diff / nxr@1.64
src/sys/ufs/lfs/lfs.h@1.134 / diff / nxr@1.134
src/sys/ufs/lfs/lfs_balloc.c@1.70 / diff / nxr@1.70
src/sys/ufs/lfs/lfs_bio.c@1.120 / diff / nxr@1.120
src/sys/ufs/lfs/lfs_inode.c@1.125 / diff / nxr@1.125
src/sys/ufs/lfs/lfs_segment.c@1.222 / diff / nxr@1.222
src/sys/ufs/lfs/lfs_vfsops.c@1.290 / diff / nxr@1.290
:
(more 4 files)
src/sys/kern/vfs_bio.c@1.231 / diff / nxr@1.231
src/sys/kern/vfs_subr.c@1.424 / diff / nxr@1.424
src/sys/kern/vnode_if.c@1.88 / diff / nxr@1.88
src/sys/miscfs/genfs/layer_extern.h@1.29 / diff / nxr@1.29
src/sys/miscfs/genfs/layer_vnops.c@1.49 / diff / nxr@1.49
src/sys/miscfs/nullfs/null_vnops.c@1.38 / diff / nxr@1.38
src/sys/miscfs/overlay/overlay_vnops.c@1.19 / diff / nxr@1.19
src/sys/miscfs/umapfs/umap_vnops.c@1.53 / diff / nxr@1.53
src/sys/rump/include/rump/rumpvnode_if.h@1.11 / diff / nxr@1.11
src/sys/rump/librump/rumpvfs/rumpvnode_if.c@1.10 / diff / nxr@1.10
src/sys/sys/param.h@1.392 / diff / nxr@1.392
src/sys/sys/vnode_if.h@1.82 / diff / nxr@1.82
src/sys/ufs/ext2fs/ext2fs_lookup.c@1.64 / diff / nxr@1.64
src/sys/ufs/lfs/lfs.h@1.134 / diff / nxr@1.134
src/sys/ufs/lfs/lfs_balloc.c@1.70 / diff / nxr@1.70
src/sys/ufs/lfs/lfs_bio.c@1.120 / diff / nxr@1.120
src/sys/ufs/lfs/lfs_inode.c@1.125 / diff / nxr@1.125
src/sys/ufs/lfs/lfs_segment.c@1.222 / diff / nxr@1.222
src/sys/ufs/lfs/lfs_vfsops.c@1.290 / diff / nxr@1.290
:
(more 4 files)
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@.
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@.
MAIN commitmail json YAML
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.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
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.
Adresses PR kern/38762 panic: vwakeup: neg numoutput
No objections from tech-kern@.
MAIN commitmail json YAML
ffs_copyonwrite(): If the write is to the in-file-system journal
there is no need to lock and check the snapshots.
there is no need to lock and check the snapshots.
MAIN commitmail json YAML
Remove dead uvm_vnp_zerorange() after bump to 5.99.54.
MAIN commitmail json YAML
Make vnd(4) work on sparse files:
- Make the strategy decision a device flag and set VNF_USE_VN_RDWR for
files known to be sparse.
- Change handle_with_rdwr() to use POSIX_FADV_NOREUSE advise to disable
read ahead and keep the size of mapped pages below 1 MByte.
No objections on tech-kern@.
- Make the strategy decision a device flag and set VNF_USE_VN_RDWR for
files known to be sparse.
- Change handle_with_rdwr() to use POSIX_FADV_NOREUSE advise to disable
read ahead and keep the size of mapped pages below 1 MByte.
No objections on tech-kern@.