1/*- 2 * Copyright (c) 2002 Poul-Henning Kamp 3 * Copyright (c) 2002 Networks Associates Technology, Inc. 4 * All rights reserved. 5 * 6 * This software was developed for the FreeBSD Project by Poul-Henning Kamp 7 * and NAI Labs, the Security Research Division of Network Associates, Inc. 8 * under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the --- 18 unchanged lines hidden (view full) --- 27 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 28 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 29 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 30 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 31 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 32 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 33 * SUCH DAMAGE. 34 * |
35 * $FreeBSD: head/sys/geom/geom_disk.c 115473 2003-05-31 18:13:07Z phk $ |
36 */ 37 38#include "opt_geom.h" 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/kernel.h> 43#include <sys/sysctl.h> --- 9 unchanged lines hidden (view full) --- 53#include <sys/mutex.h> 54#include <geom/geom.h> 55#include <geom/geom_disk.h> 56#include <geom/geom_int.h> 57 58static struct mtx g_disk_done_mtx; 59 60static g_access_t g_disk_access; |
61static g_init_t g_disk_init; 62static g_fini_t g_disk_fini; |
63 64struct g_class g_disk_class = { 65 .name = "DISK", |
66 .init = g_disk_init, 67 .fini = g_disk_fini, |
68}; 69 70static void |
71g_disk_init(struct g_class *mp __unused) |
72{ |
73 |
74 mtx_init(&g_disk_done_mtx, "g_disk_done", MTX_DEF, 0); |
75} 76 |
77static void 78g_disk_fini(struct g_class *mp __unused) 79{ |
80 |
81 mtx_destroy(&g_disk_done_mtx); 82} 83 84DECLARE_GEOM_CLASS(g_disk_class, g_disk); 85 |
86static void __inline 87g_disk_lock_giant(struct disk *dp) 88{ 89 if (dp->d_flags & DISKFLAG_NOGIANT) 90 return; 91 mtx_lock(&Giant); 92} 93 --- 325 unchanged lines hidden --- |