VOP_IOCTL() is a wrapper around spec_ioctl() aka Xdev_ioctl() and
protected with spec_io_enter()/spec_io_exit() so there is no need to force specific vnode locking. Set locking requirement to '= = =' (unchanged, locked or unlocked). PR kern/57450 (unplugging hung USB disk triggers panic via _vstate_assert)
This commit is contained in:
parent
f0cb29371b
commit
c6f338e399
|
@ -1,4 +1,4 @@
|
|||
.\" $NetBSD: vnodeops.9,v 1.100 2017/11/19 21:06:10 christos Exp $
|
||||
.\" $NetBSD: vnodeops.9,v 1.101 2023/06/15 09:13:36 hannken Exp $
|
||||
.\"
|
||||
.\" Copyright (c) 2001, 2005, 2006 The NetBSD Foundation, Inc.
|
||||
.\" All rights reserved.
|
||||
|
@ -27,7 +27,7 @@
|
|||
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
.\" POSSIBILITY OF SUCH DAMAGE.
|
||||
.\"
|
||||
.Dd November 19, 2017
|
||||
.Dd June 15, 2023
|
||||
.Dt VNODEOPS 9
|
||||
.Os
|
||||
.Sh NAME
|
||||
|
@ -709,7 +709,7 @@ existing data, or some other data, or trash.
|
|||
Perform device-specific I/O.
|
||||
The argument
|
||||
.Fa vp
|
||||
is the locked vnode of the file, normally representing a device.
|
||||
is the vnode of the file, normally representing a device.
|
||||
The argument
|
||||
.Fa command
|
||||
specifies the device-specific operation to perform and
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# $NetBSD: vnode_if.src,v 1.84 2022/05/03 08:33:59 hannken Exp $
|
||||
# $NetBSD: vnode_if.src,v 1.85 2023/06/15 09:13:36 hannken Exp $
|
||||
#
|
||||
# Copyright (c) 1992, 1993
|
||||
# The Regents of the University of California. All rights reserved.
|
||||
|
@ -217,11 +217,11 @@ vop_fdiscard {
|
|||
};
|
||||
|
||||
#
|
||||
#% ioctl vp U U U
|
||||
#% ioctl vp = = =
|
||||
#
|
||||
vop_ioctl {
|
||||
FSTRANS=NO
|
||||
IN LOCKED=NO struct vnode *vp;
|
||||
IN struct vnode *vp;
|
||||
IN u_long command;
|
||||
IN void *data;
|
||||
IN int fflag;
|
||||
|
|
Loading…
Reference in New Issue