*
* mirror -- mirrored slice driver
*

%DRIVER

Type:		block character		# driver type:  block, character, stream
Prefix:		mr			# prefix added to functions
Funcs:		open close read write ioctl strategy print init
Major:		37			# major device number(s)
Multiproc:	open close read write strategy print

%PARAM

MAX_MR_SLICES	8			# number of active mirrors
MAX_MR_DEV 	32768			# max num mirrorable slices in system
NMRBUF		1024			# number of mirror buffer headers

%CONFIG					# code added to conf.c for this driver

#ifdef MIRROR_0

#	ifndef SYS_BUF_H
#	include "sys/buf.h"
#	endif

#	ifndef SYS_SYNCH_H
#	include "sys/synch.h"
#	endif

#	ifndef SYS_VD_H
#	include "sys/vd.h"
#	endif

buf_t		mrbufhdrs[NMRBUF];
uint		num_mr_bufs = NMRBUF;
mirror_t	mr_data[MAX_MR_SLICES];
uint		max_mr_data = MAX_MR_SLICES;
ushort		mr_tab[MAX_MR_DEV];
uint		max_mr_devs = MAX_MR_DEV;

#else
int	mr_data[40];
#endif /* MIRROR_0 */
