1.\" 2.\" Copyright (c) 2009 3.\" The DragonFly Project. All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in 13.\" the documentation and/or other materials provided with the 14.\" distribution. 15.\" 3. Neither the name of The DragonFly Project nor the names of its 16.\" contributors may be used to endorse or promote products derived 17.\" from this software without specific, prior written permission. 18.\" 19.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21.\" LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 22.\" FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 23.\" COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 24.\" INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING, 25.\" BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED 27.\" AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28.\" OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 29.\" OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30.\" SUCH DAMAGE. 31.\" 32.Dd February 10, 2009 33.Os 34.Dt VCOUNT 9 35.Sh NAME 36.Nm vcount , 37.Nm count_dev 38.Nm count_udev 39.Nd "get total number of references to a device" 40.Sh SYNOPSIS 41.In sys/conf.h 42.In sys/vnode.h 43.Ft int 44.Fn vcount "struct vnode *vp" 45.Ft int 46.Fn count_dev "cdev_t dev" 47.Ft int 48.Fn count_udev "int x" "int y" 49.Sh DESCRIPTION 50.Fn vcount 51is used to get the number of references to a special device. 52This makes sense because multiple vnodes may reference the same device. 53.Pp 54.Fn count_dev 55does the same thing as 56.Fn vcount , 57but takes a 58.Vt cdev_t 59rather than a 60.Vt "struct vnode" 61pointer as an argument. 62It may only be called for 63.Dv VBLK 64and 65.Dv VCHR 66vnodes since 67.Fa v_rdev 68is an overloaded field. 69.Pp 70.Fn count_udev 71does the same thing as 72.Fn count_dev , 73but acts on a (major, minor) pair. 74.Sh RETURN VALUES 75.Fn vcount 76and 77.Fn count_dev 78both return the number of references to the device. 79.Sh SEE ALSO 80.Xr vnode 9 81