Print this page
8115 parallel zfs mount


   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
  23  * Copyright (c) 2011 Bayard G. Bell. All rights reserved.
  24  * Copyright 2013 Joyent, Inc. All rights reserved.

  25  */
  26 
  27 /*
  28  * VFS operations for High Sierra filesystem
  29  */
  30 
  31 #include <sys/types.h>
  32 #include <sys/isa_defs.h>
  33 #include <sys/t_lock.h>
  34 #include <sys/param.h>
  35 #include <sys/systm.h>
  36 #include <sys/sysmacros.h>
  37 #include <sys/kmem.h>
  38 #include <sys/signal.h>
  39 #include <sys/user.h>
  40 #include <sys/proc.h>
  41 #include <sys/disp.h>
  42 #include <sys/buf.h>
  43 #include <sys/pathname.h>
  44 #include <sys/vfs.h>


 133 
 134 static mntopts_t hsfs_proto_opttbl = {
 135         sizeof (hsfs_options) / sizeof (mntopt_t),
 136         hsfs_options
 137 };
 138 
 139 /*
 140  * Indicates whether to enable the I/O scheduling and readahead logic
 141  * 1 - Enable, 0 - Do not Enable.
 142  * Debugging purposes.
 143  */
 144 int do_schedio = 1;
 145 static int hsfsfstype;
 146 static int hsfsinit(int, char *);
 147 
 148 static vfsdef_t vfw = {
 149         VFSDEF_VERSION,
 150         "hsfs",
 151         hsfsinit,
 152         /* We don't suppport remounting */
 153         VSW_HASPROTO|VSW_STATS|VSW_CANLOFI,
 154         &hsfs_proto_opttbl
 155 };
 156 
 157 static struct modlfs modlfs = {
 158         &mod_fsops, "filesystem for HSFS", &vfw
 159 };
 160 
 161 static struct modlinkage modlinkage = {
 162         MODREV_1, (void *)&modlfs, NULL
 163 };
 164 
 165 extern void hsched_init_caches(void);
 166 extern void hsched_fini_caches(void);
 167 
 168 
 169 int
 170 _init(void)
 171 {
 172         return (mod_install(&modlinkage));
 173 }




   5  * Common Development and Distribution License (the "License").
   6  * You may not use this file except in compliance with the License.
   7  *
   8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  * or http://www.opensolaris.org/os/licensing.
  10  * See the License for the specific language governing permissions
  11  * and limitations under the License.
  12  *
  13  * When distributing Covered Code, include this CDDL HEADER in each
  14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  * If applicable, add the following below this CDDL HEADER, with the
  16  * fields enclosed by brackets "[]" replaced with your own identifying
  17  * information: Portions Copyright [yyyy] [name of copyright owner]
  18  *
  19  * CDDL HEADER END
  20  */
  21 /*
  22  * Copyright (c) 1990, 2010, Oracle and/or its affiliates. All rights reserved.
  23  * Copyright (c) 2011 Bayard G. Bell. All rights reserved.
  24  * Copyright 2013 Joyent, Inc. All rights reserved.
  25  * Copyright (c) 2017 by Delphix. All rights reserved.
  26  */
  27 
  28 /*
  29  * VFS operations for High Sierra filesystem
  30  */
  31 
  32 #include <sys/types.h>
  33 #include <sys/isa_defs.h>
  34 #include <sys/t_lock.h>
  35 #include <sys/param.h>
  36 #include <sys/systm.h>
  37 #include <sys/sysmacros.h>
  38 #include <sys/kmem.h>
  39 #include <sys/signal.h>
  40 #include <sys/user.h>
  41 #include <sys/proc.h>
  42 #include <sys/disp.h>
  43 #include <sys/buf.h>
  44 #include <sys/pathname.h>
  45 #include <sys/vfs.h>


 134 
 135 static mntopts_t hsfs_proto_opttbl = {
 136         sizeof (hsfs_options) / sizeof (mntopt_t),
 137         hsfs_options
 138 };
 139 
 140 /*
 141  * Indicates whether to enable the I/O scheduling and readahead logic
 142  * 1 - Enable, 0 - Do not Enable.
 143  * Debugging purposes.
 144  */
 145 int do_schedio = 1;
 146 static int hsfsfstype;
 147 static int hsfsinit(int, char *);
 148 
 149 static vfsdef_t vfw = {
 150         VFSDEF_VERSION,
 151         "hsfs",
 152         hsfsinit,
 153         /* We don't suppport remounting */
 154         VSW_HASPROTO|VSW_STATS|VSW_CANLOFI|VSW_MOUNTDEV,
 155         &hsfs_proto_opttbl
 156 };
 157 
 158 static struct modlfs modlfs = {
 159         &mod_fsops, "filesystem for HSFS", &vfw
 160 };
 161 
 162 static struct modlinkage modlinkage = {
 163         MODREV_1, (void *)&modlfs, NULL
 164 };
 165 
 166 extern void hsched_init_caches(void);
 167 extern void hsched_fini_caches(void);
 168 
 169 
 170 int
 171 _init(void)
 172 {
 173         return (mod_install(&modlinkage));
 174 }