After r286237 it should be fine to call vgone(9) on a busy GEOM vnode;
remove KASSERT that would prevent forced devfs unmount from working. MFC after: 1 month Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
fbefacfc26
commit
6e572e084b
@ -65,6 +65,7 @@
|
||||
#include <sys/vnode.h>
|
||||
|
||||
static struct vop_vector devfs_vnodeops;
|
||||
static struct vop_vector devfs_specops;
|
||||
static struct fileops devfs_ops_f;
|
||||
|
||||
#include <fs/devfs/devfs.h>
|
||||
@ -1862,7 +1863,7 @@ static struct vop_vector devfs_vnodeops = {
|
||||
.vop_vptocnp = devfs_vptocnp,
|
||||
};
|
||||
|
||||
struct vop_vector devfs_specops = {
|
||||
static struct vop_vector devfs_specops = {
|
||||
.vop_default = &default_vnodeops,
|
||||
|
||||
.vop_access = devfs_access,
|
||||
|
@ -2709,10 +2709,6 @@ vflush(struct mount *mp, int rootrefs, int flags, struct thread *td)
|
||||
* If FORCECLOSE is set, forcibly close the vnode.
|
||||
*/
|
||||
if (vp->v_usecount == 0 || (flags & FORCECLOSE)) {
|
||||
VNASSERT(vp->v_usecount == 0 ||
|
||||
vp->v_op != &devfs_specops ||
|
||||
(vp->v_type != VCHR && vp->v_type != VBLK), vp,
|
||||
("device VNODE %p is FORCECLOSED", vp));
|
||||
vgonel(vp);
|
||||
} else {
|
||||
busy++;
|
||||
|
@ -827,7 +827,6 @@ void vnode_destroy_vobject(struct vnode *vp);
|
||||
extern struct vop_vector fifo_specops;
|
||||
extern struct vop_vector dead_vnodeops;
|
||||
extern struct vop_vector default_vnodeops;
|
||||
extern struct vop_vector devfs_specops;
|
||||
|
||||
#define VOP_PANIC ((void*)(uintptr_t)vop_panic)
|
||||
#define VOP_NULL ((void*)(uintptr_t)vop_null)
|
||||
|
Loading…
Reference in New Issue
Block a user