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:
hannken 2023-06-15 09:13:36 +00:00
parent f0cb29371b
commit c6f338e399
2 changed files with 6 additions and 6 deletions

View File

@ -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

View File

@ -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;