243 nodev, /* reset - not defined */
244 &md_cb_ops, /* driver operations */
245 NULL, /* bus operations */
246 nodev, /* power management */
247 ddi_quiesce_not_needed, /* quiesce */
248 };
249
250 /*
251 * loadable module wrapper
252 */
253 #include <sys/modctl.h>
254
255 static struct modldrv modldrv = {
256 &mod_driverops, /* type of module -- a pseudodriver */
257 "Solaris Volume Manager base module", /* name of the module */
258 &md_devops, /* driver ops */
259 };
260
261 static struct modlinkage modlinkage = {
262 MODREV_1,
263 (void *)&modldrv,
264 NULL
265 };
266
267
268 /* md_medd.c */
269 extern void med_init(void);
270 extern void med_fini(void);
271 extern void md_devid_cleanup(set_t, uint_t);
272
273 /* md_names.c */
274 extern struct nm_next_hdr *get_first_record(set_t, int, int);
275
276 int md_maxphys = 0; /* maximum io size in bytes */
277 #define MD_MAXBCOUNT (1024 * 1024)
278 unsigned md_maxbcount = 0; /* maximum physio size in bytes */
279
280 /*
281 * Some md ioctls trigger io framework device tree operations. An
282 * example is md ioctls that call md_resolve_bydevid(): which uses the
283 * io framework to resolve a devid. Such operations result in acquiring
284 * io framework locks (like ndi_devi_enter() of "/") while holding
|
243 nodev, /* reset - not defined */
244 &md_cb_ops, /* driver operations */
245 NULL, /* bus operations */
246 nodev, /* power management */
247 ddi_quiesce_not_needed, /* quiesce */
248 };
249
250 /*
251 * loadable module wrapper
252 */
253 #include <sys/modctl.h>
254
255 static struct modldrv modldrv = {
256 &mod_driverops, /* type of module -- a pseudodriver */
257 "Solaris Volume Manager base module", /* name of the module */
258 &md_devops, /* driver ops */
259 };
260
261 static struct modlinkage modlinkage = {
262 MODREV_1,
263 { (void *)&modldrv, NULL }
264 };
265
266
267 /* md_medd.c */
268 extern void med_init(void);
269 extern void med_fini(void);
270 extern void md_devid_cleanup(set_t, uint_t);
271
272 /* md_names.c */
273 extern struct nm_next_hdr *get_first_record(set_t, int, int);
274
275 int md_maxphys = 0; /* maximum io size in bytes */
276 #define MD_MAXBCOUNT (1024 * 1024)
277 unsigned md_maxbcount = 0; /* maximum physio size in bytes */
278
279 /*
280 * Some md ioctls trigger io framework device tree operations. An
281 * example is md ioctls that call md_resolve_bydevid(): which uses the
282 * io framework to resolve a devid. Such operations result in acquiring
283 * io framework locks (like ndi_devi_enter() of "/") while holding
|