xref: /onnv-gate/usr/src/cmd/lvm/metassist/common/volume_defaults.h (revision 0:68f95e015346)
1*0Sstevel@tonic-gate /*
2*0Sstevel@tonic-gate  * CDDL HEADER START
3*0Sstevel@tonic-gate  *
4*0Sstevel@tonic-gate  * The contents of this file are subject to the terms of the
5*0Sstevel@tonic-gate  * Common Development and Distribution License, Version 1.0 only
6*0Sstevel@tonic-gate  * (the "License").  You may not use this file except in compliance
7*0Sstevel@tonic-gate  * with the License.
8*0Sstevel@tonic-gate  *
9*0Sstevel@tonic-gate  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10*0Sstevel@tonic-gate  * or http://www.opensolaris.org/os/licensing.
11*0Sstevel@tonic-gate  * See the License for the specific language governing permissions
12*0Sstevel@tonic-gate  * and limitations under the License.
13*0Sstevel@tonic-gate  *
14*0Sstevel@tonic-gate  * When distributing Covered Code, include this CDDL HEADER in each
15*0Sstevel@tonic-gate  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16*0Sstevel@tonic-gate  * If applicable, add the following below this CDDL HEADER, with the
17*0Sstevel@tonic-gate  * fields enclosed by brackets "[]" replaced with your own identifying
18*0Sstevel@tonic-gate  * information: Portions Copyright [yyyy] [name of copyright owner]
19*0Sstevel@tonic-gate  *
20*0Sstevel@tonic-gate  * CDDL HEADER END
21*0Sstevel@tonic-gate  */
22*0Sstevel@tonic-gate /*
23*0Sstevel@tonic-gate  * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
24*0Sstevel@tonic-gate  * Use is subject to license terms.
25*0Sstevel@tonic-gate  */
26*0Sstevel@tonic-gate 
27*0Sstevel@tonic-gate #ifndef	_VOLUME_DEFAULTS_H
28*0Sstevel@tonic-gate #define	_VOLUME_DEFAULTS_H
29*0Sstevel@tonic-gate 
30*0Sstevel@tonic-gate #pragma ident	"%Z%%M%	%I%	%E% SMI"
31*0Sstevel@tonic-gate 
32*0Sstevel@tonic-gate #ifdef __cplusplus
33*0Sstevel@tonic-gate extern "C" {
34*0Sstevel@tonic-gate #endif
35*0Sstevel@tonic-gate 
36*0Sstevel@tonic-gate #include "volume_devconfig.h"
37*0Sstevel@tonic-gate 
38*0Sstevel@tonic-gate #define	DEFAULT_MIRROR_NSUBS	    2
39*0Sstevel@tonic-gate #define	DEFAULT_MIRROR_READ	    MIRROR_READ_ROUNDROBIN
40*0Sstevel@tonic-gate #define	DEFAULT_MIRROR_WRITE	    MIRROR_WRITE_PARALLEL
41*0Sstevel@tonic-gate #define	DEFAULT_MIRROR_PASS	    1
42*0Sstevel@tonic-gate #define	DEFAULT_STRIPE_INTERLACE    1024 * 64
43*0Sstevel@tonic-gate #define	DEFAULT_STRIPE_MINCOMP	    3
44*0Sstevel@tonic-gate #define	DEFAULT_STRIPE_MAXCOMP	    10
45*0Sstevel@tonic-gate #define	DEFAULT_VOLUME_REDUND_LEVEL 0
46*0Sstevel@tonic-gate #define	DEFAULT_VOLUME_NPATHS	    1
47*0Sstevel@tonic-gate 
48*0Sstevel@tonic-gate /* For consistency, these should all have the same value */
49*0Sstevel@tonic-gate #define	DEFAULT_MIRROR_USEHSP	    FALSE
50*0Sstevel@tonic-gate #define	DEFAULT_CONCAT_USEHSP	    FALSE
51*0Sstevel@tonic-gate #define	DEFAULT_STRIPE_USEHSP	    FALSE
52*0Sstevel@tonic-gate #define	DEFAULT_VOLUME_USEHSP	    FALSE
53*0Sstevel@tonic-gate 
54*0Sstevel@tonic-gate /*
55*0Sstevel@tonic-gate  * default_t - struct to hold layout defaults
56*0Sstevel@tonic-gate  */
57*0Sstevel@tonic-gate typedef struct defaults {
58*0Sstevel@tonic-gate 	/*
59*0Sstevel@tonic-gate 	 * List of devconfig_t, each of which represents disk set-
60*0Sstevel@tonic-gate 	 * specific defaults.  Each disk set has a name, except for
61*0Sstevel@tonic-gate 	 * the global set, whose name is NULL.
62*0Sstevel@tonic-gate 	 */
63*0Sstevel@tonic-gate 	dlist_t *disksets;
64*0Sstevel@tonic-gate } defaults_t;
65*0Sstevel@tonic-gate 
66*0Sstevel@tonic-gate /*
67*0Sstevel@tonic-gate  * Constructor: Create a defaults_t struct populated with default
68*0Sstevel@tonic-gate  * values. This defaults_t must be freed.
69*0Sstevel@tonic-gate  *
70*0Sstevel@tonic-gate  * @param       defaults
71*0Sstevel@tonic-gate  *              RETURN: a pointer to a new defaults_t
72*0Sstevel@tonic-gate  *
73*0Sstevel@tonic-gate  * @return      0
74*0Sstevel@tonic-gate  *              if successful
75*0Sstevel@tonic-gate  *
76*0Sstevel@tonic-gate  * @return      non-zero
77*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
78*0Sstevel@tonic-gate  *              retrieve the associated error message.
79*0Sstevel@tonic-gate  */
80*0Sstevel@tonic-gate extern int new_defaults(defaults_t **defaults);
81*0Sstevel@tonic-gate 
82*0Sstevel@tonic-gate /*
83*0Sstevel@tonic-gate  * Free memory (recursively) allocated to a defaults_t struct
84*0Sstevel@tonic-gate  *
85*0Sstevel@tonic-gate  * @param       arg
86*0Sstevel@tonic-gate  *              pointer to the defaults_t struct to free
87*0Sstevel@tonic-gate  */
88*0Sstevel@tonic-gate extern void free_defaults(void *arg);
89*0Sstevel@tonic-gate 
90*0Sstevel@tonic-gate /*
91*0Sstevel@tonic-gate  * Set list of diskset specific defaults
92*0Sstevel@tonic-gate  *
93*0Sstevel@tonic-gate  * @param       defaults
94*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
95*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
96*0Sstevel@tonic-gate  *
97*0Sstevel@tonic-gate  * @param       disksets
98*0Sstevel@tonic-gate  *              a dlist_t representing the defaults for specific
99*0Sstevel@tonic-gate  *              named disk sets
100*0Sstevel@tonic-gate  */
101*0Sstevel@tonic-gate extern void defaults_set_disksets(defaults_t *defaults, dlist_t *disksets);
102*0Sstevel@tonic-gate /*
103*0Sstevel@tonic-gate  * Get list of diskset specific defaults
104*0Sstevel@tonic-gate  *
105*0Sstevel@tonic-gate  * @param       defaults
106*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
107*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
108*0Sstevel@tonic-gate  *
109*0Sstevel@tonic-gate  * @return      a dlist_t representing the defaults for specific
110*0Sstevel@tonic-gate  *              named disk sets
111*0Sstevel@tonic-gate  */
112*0Sstevel@tonic-gate extern dlist_t *defaults_get_disksets(defaults_t *defaults);
113*0Sstevel@tonic-gate 
114*0Sstevel@tonic-gate /*
115*0Sstevel@tonic-gate  * Get a disk set with the given name from the given defaults_t
116*0Sstevel@tonic-gate  *
117*0Sstevel@tonic-gate  * @param       defaults
118*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
119*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
120*0Sstevel@tonic-gate  *
121*0Sstevel@tonic-gate  * @param       name
122*0Sstevel@tonic-gate  *              the name of the disk set whose defaults to retrieve,
123*0Sstevel@tonic-gate  *              or NULL to get the defaults for all disk sets
124*0Sstevel@tonic-gate  *
125*0Sstevel@tonic-gate  * @param       diskset
126*0Sstevel@tonic-gate  *              RETURN: defaults for the given named disk set, or
127*0Sstevel@tonic-gate  *              defaults for all disk sets if name is NULL
128*0Sstevel@tonic-gate  *
129*0Sstevel@tonic-gate  * @return      ENOENT
130*0Sstevel@tonic-gate  *              if the named disk set does not exist
131*0Sstevel@tonic-gate  *
132*0Sstevel@tonic-gate  * @return      0
133*0Sstevel@tonic-gate  *              if the named disk set exists
134*0Sstevel@tonic-gate  */
135*0Sstevel@tonic-gate 
136*0Sstevel@tonic-gate extern int defaults_get_diskset_by_name(
137*0Sstevel@tonic-gate     defaults_t *defaults, char *name, devconfig_t **diskset);
138*0Sstevel@tonic-gate 
139*0Sstevel@tonic-gate /*
140*0Sstevel@tonic-gate  * Set name of the the default HSP to use
141*0Sstevel@tonic-gate  *
142*0Sstevel@tonic-gate  * @param       defaults
143*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
144*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
145*0Sstevel@tonic-gate  *
146*0Sstevel@tonic-gate  * @param       diskset
147*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
148*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
149*0Sstevel@tonic-gate  *              setting to all disk sets
150*0Sstevel@tonic-gate  *
151*0Sstevel@tonic-gate  * @param       name
152*0Sstevel@tonic-gate  *              the name of the default HSP to use
153*0Sstevel@tonic-gate  *
154*0Sstevel@tonic-gate  * @return      0
155*0Sstevel@tonic-gate  *              if successful
156*0Sstevel@tonic-gate  *
157*0Sstevel@tonic-gate  * @return      non-zero
158*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
159*0Sstevel@tonic-gate  *              retrieve the associated error message.
160*0Sstevel@tonic-gate  */
161*0Sstevel@tonic-gate extern int defaults_set_hsp_name(
162*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, char *name);
163*0Sstevel@tonic-gate /*
164*0Sstevel@tonic-gate  * Get the name of the default HSP to use
165*0Sstevel@tonic-gate  *
166*0Sstevel@tonic-gate  * @param       defaults
167*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
168*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
169*0Sstevel@tonic-gate  *
170*0Sstevel@tonic-gate  * @param       diskset
171*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
172*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
173*0Sstevel@tonic-gate  *              setting to all disk sets
174*0Sstevel@tonic-gate  *
175*0Sstevel@tonic-gate  * @param       name
176*0Sstevel@tonic-gate  *              RETURN: the name of the default HSP to use
177*0Sstevel@tonic-gate  *
178*0Sstevel@tonic-gate  * @return      0
179*0Sstevel@tonic-gate  *              if successful
180*0Sstevel@tonic-gate  *
181*0Sstevel@tonic-gate  * @return      non-zero
182*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
183*0Sstevel@tonic-gate  *              retrieve the associated error message.
184*0Sstevel@tonic-gate  */
185*0Sstevel@tonic-gate extern int defaults_get_hsp_name(
186*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, char **name);
187*0Sstevel@tonic-gate 
188*0Sstevel@tonic-gate /*
189*0Sstevel@tonic-gate  * Set the default number of submirrors for mirrored volumes
190*0Sstevel@tonic-gate  *
191*0Sstevel@tonic-gate  * @param       defaults
192*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
193*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
194*0Sstevel@tonic-gate  *
195*0Sstevel@tonic-gate  * @param       diskset
196*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
197*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
198*0Sstevel@tonic-gate  *              setting to all disk sets
199*0Sstevel@tonic-gate  *
200*0Sstevel@tonic-gate  * @param       val
201*0Sstevel@tonic-gate  *              the value to set as the default number of submirrors
202*0Sstevel@tonic-gate  *              for mirrored volumes
203*0Sstevel@tonic-gate  *
204*0Sstevel@tonic-gate  * @return      0
205*0Sstevel@tonic-gate  *              if successful
206*0Sstevel@tonic-gate  *
207*0Sstevel@tonic-gate  * @return      non-zero
208*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
209*0Sstevel@tonic-gate  *              retrieve the associated error message.
210*0Sstevel@tonic-gate  */
211*0Sstevel@tonic-gate extern int defaults_set_mirror_nsubs(
212*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t val);
213*0Sstevel@tonic-gate /*
214*0Sstevel@tonic-gate  * Get the default number of submirrors for mirrored volumes
215*0Sstevel@tonic-gate  *
216*0Sstevel@tonic-gate  * @param       defaults
217*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
218*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
219*0Sstevel@tonic-gate  *
220*0Sstevel@tonic-gate  * @param       diskset
221*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
222*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
223*0Sstevel@tonic-gate  *              setting to all disk sets
224*0Sstevel@tonic-gate  *
225*0Sstevel@tonic-gate  * @param       val
226*0Sstevel@tonic-gate  *              RETURN: the default number of submirrors for mirrored
227*0Sstevel@tonic-gate  *              volumes
228*0Sstevel@tonic-gate  *
229*0Sstevel@tonic-gate  * @return      0
230*0Sstevel@tonic-gate  *              if successful
231*0Sstevel@tonic-gate  *
232*0Sstevel@tonic-gate  * @return      non-zero
233*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
234*0Sstevel@tonic-gate  *              retrieve the associated error message.
235*0Sstevel@tonic-gate  */
236*0Sstevel@tonic-gate extern int defaults_get_mirror_nsubs(
237*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t *val);
238*0Sstevel@tonic-gate 
239*0Sstevel@tonic-gate /*
240*0Sstevel@tonic-gate  * Set the default read strategy for mirrored volumes
241*0Sstevel@tonic-gate  *
242*0Sstevel@tonic-gate  * @param       defaults
243*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
244*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
245*0Sstevel@tonic-gate  *
246*0Sstevel@tonic-gate  * @param       diskset
247*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
248*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
249*0Sstevel@tonic-gate  *              setting to all disk sets
250*0Sstevel@tonic-gate  *
251*0Sstevel@tonic-gate  * @param       val
252*0Sstevel@tonic-gate  *              the value to set as the default read strategy for
253*0Sstevel@tonic-gate  *              mirrored volumes
254*0Sstevel@tonic-gate  *
255*0Sstevel@tonic-gate  * @return      0
256*0Sstevel@tonic-gate  *              if successful
257*0Sstevel@tonic-gate  *
258*0Sstevel@tonic-gate  * @return      non-zero
259*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
260*0Sstevel@tonic-gate  *              retrieve the associated error message.
261*0Sstevel@tonic-gate  */
262*0Sstevel@tonic-gate extern int defaults_set_mirror_read(
263*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, mirror_read_strategy_t val);
264*0Sstevel@tonic-gate /*
265*0Sstevel@tonic-gate  * Get the default read strategy for mirrored volumes
266*0Sstevel@tonic-gate  *
267*0Sstevel@tonic-gate  * @param       defaults
268*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
269*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
270*0Sstevel@tonic-gate  *
271*0Sstevel@tonic-gate  * @param       diskset
272*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
273*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
274*0Sstevel@tonic-gate  *              setting to all disk sets
275*0Sstevel@tonic-gate  *
276*0Sstevel@tonic-gate  * @param       val
277*0Sstevel@tonic-gate  *              RETURN: the default read strategy for mirrored volumes
278*0Sstevel@tonic-gate  *
279*0Sstevel@tonic-gate  * @return      0
280*0Sstevel@tonic-gate  *              if successful
281*0Sstevel@tonic-gate  *
282*0Sstevel@tonic-gate  * @return      non-zero
283*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
284*0Sstevel@tonic-gate  *              retrieve the associated error message.
285*0Sstevel@tonic-gate  */
286*0Sstevel@tonic-gate extern int defaults_get_mirror_read(
287*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, mirror_read_strategy_t *val);
288*0Sstevel@tonic-gate 
289*0Sstevel@tonic-gate /*
290*0Sstevel@tonic-gate  * Set the default write strategy for mirrored volumes
291*0Sstevel@tonic-gate  *
292*0Sstevel@tonic-gate  * @param       defaults
293*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
294*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
295*0Sstevel@tonic-gate  *
296*0Sstevel@tonic-gate  * @param       diskset
297*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
298*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
299*0Sstevel@tonic-gate  *              setting to all disk sets
300*0Sstevel@tonic-gate  *
301*0Sstevel@tonic-gate  * @param       val
302*0Sstevel@tonic-gate  *              the value to set as the default write strategy for
303*0Sstevel@tonic-gate  *              mirrored volumes
304*0Sstevel@tonic-gate  *
305*0Sstevel@tonic-gate  * @return      0
306*0Sstevel@tonic-gate  *              if successful
307*0Sstevel@tonic-gate  *
308*0Sstevel@tonic-gate  * @return      non-zero
309*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
310*0Sstevel@tonic-gate  *              retrieve the associated error message.
311*0Sstevel@tonic-gate  */
312*0Sstevel@tonic-gate extern int defaults_set_mirror_write(
313*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, mirror_write_strategy_t val);
314*0Sstevel@tonic-gate /*
315*0Sstevel@tonic-gate  * Get the default write strategy for mirrored volumes
316*0Sstevel@tonic-gate  *
317*0Sstevel@tonic-gate  * @param       defaults
318*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
319*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
320*0Sstevel@tonic-gate  *
321*0Sstevel@tonic-gate  * @param       diskset
322*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
323*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
324*0Sstevel@tonic-gate  *              setting to all disk sets
325*0Sstevel@tonic-gate  *
326*0Sstevel@tonic-gate  * @param       val
327*0Sstevel@tonic-gate  *              RETURN: the default write strategy for mirrored
328*0Sstevel@tonic-gate  *              volumes
329*0Sstevel@tonic-gate  *
330*0Sstevel@tonic-gate  * @return      0
331*0Sstevel@tonic-gate  *              if successful
332*0Sstevel@tonic-gate  *
333*0Sstevel@tonic-gate  * @return      non-zero
334*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
335*0Sstevel@tonic-gate  *              retrieve the associated error message.
336*0Sstevel@tonic-gate  */
337*0Sstevel@tonic-gate extern int defaults_get_mirror_write(
338*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, mirror_write_strategy_t *val);
339*0Sstevel@tonic-gate 
340*0Sstevel@tonic-gate /*
341*0Sstevel@tonic-gate  * Set the default resync pass for mirrored volumes
342*0Sstevel@tonic-gate  *
343*0Sstevel@tonic-gate  * @param       defaults
344*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
345*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
346*0Sstevel@tonic-gate  *
347*0Sstevel@tonic-gate  * @param       diskset
348*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
349*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
350*0Sstevel@tonic-gate  *              setting to all disk sets
351*0Sstevel@tonic-gate  *
352*0Sstevel@tonic-gate  * @param       val
353*0Sstevel@tonic-gate  *              the value to set as the default resync pass for
354*0Sstevel@tonic-gate  *              mirrored volumes
355*0Sstevel@tonic-gate  *
356*0Sstevel@tonic-gate  * @return      0
357*0Sstevel@tonic-gate  *              if successful
358*0Sstevel@tonic-gate  *
359*0Sstevel@tonic-gate  * @return      non-zero
360*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
361*0Sstevel@tonic-gate  *              retrieve the associated error message.
362*0Sstevel@tonic-gate  */
363*0Sstevel@tonic-gate extern int defaults_set_mirror_pass(
364*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t val);
365*0Sstevel@tonic-gate /*
366*0Sstevel@tonic-gate  * Get the default resync pass for mirrored volumes
367*0Sstevel@tonic-gate  *
368*0Sstevel@tonic-gate  * @param       defaults
369*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
370*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
371*0Sstevel@tonic-gate  *
372*0Sstevel@tonic-gate  * @param       diskset
373*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
374*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
375*0Sstevel@tonic-gate  *              setting to all disk sets
376*0Sstevel@tonic-gate  *
377*0Sstevel@tonic-gate  * @param       val
378*0Sstevel@tonic-gate  *              RETURN: the default resync pass for mirrored volumes
379*0Sstevel@tonic-gate  *
380*0Sstevel@tonic-gate  * @return      0
381*0Sstevel@tonic-gate  *              if successful
382*0Sstevel@tonic-gate  *
383*0Sstevel@tonic-gate  * @return      non-zero
384*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
385*0Sstevel@tonic-gate  *              retrieve the associated error message.
386*0Sstevel@tonic-gate  */
387*0Sstevel@tonic-gate extern int defaults_get_mirror_pass(
388*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t *val);
389*0Sstevel@tonic-gate 
390*0Sstevel@tonic-gate /*
391*0Sstevel@tonic-gate  * Set the default HSP creation flag for mirrored volumes
392*0Sstevel@tonic-gate  *
393*0Sstevel@tonic-gate  * @param       defaults
394*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
395*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
396*0Sstevel@tonic-gate  *
397*0Sstevel@tonic-gate  * @param       diskset
398*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
399*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
400*0Sstevel@tonic-gate  *              setting to all disk sets
401*0Sstevel@tonic-gate  *
402*0Sstevel@tonic-gate  * @param       val
403*0Sstevel@tonic-gate  *              the value to set as the default HSP creation flag for
404*0Sstevel@tonic-gate  *              mirrored volumes
405*0Sstevel@tonic-gate  *
406*0Sstevel@tonic-gate  * @return      0
407*0Sstevel@tonic-gate  *              if successful
408*0Sstevel@tonic-gate  *
409*0Sstevel@tonic-gate  * @return      non-zero
410*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
411*0Sstevel@tonic-gate  *              retrieve the associated error message.
412*0Sstevel@tonic-gate  */
413*0Sstevel@tonic-gate extern int defaults_set_mirror_usehsp(
414*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, boolean_t val);
415*0Sstevel@tonic-gate /*
416*0Sstevel@tonic-gate  * Get the default HSP creation flag for mirrored volumes
417*0Sstevel@tonic-gate  *
418*0Sstevel@tonic-gate  * @param       defaults
419*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
420*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
421*0Sstevel@tonic-gate  *
422*0Sstevel@tonic-gate  * @param       diskset
423*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
424*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
425*0Sstevel@tonic-gate  *              setting to all disk sets
426*0Sstevel@tonic-gate  *
427*0Sstevel@tonic-gate  * @param       val
428*0Sstevel@tonic-gate  *              RETURN: the default HSP creation flag for mirrored
429*0Sstevel@tonic-gate  *              volumes
430*0Sstevel@tonic-gate  *
431*0Sstevel@tonic-gate  * @return      0
432*0Sstevel@tonic-gate  *              if successful
433*0Sstevel@tonic-gate  *
434*0Sstevel@tonic-gate  * @return      non-zero
435*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
436*0Sstevel@tonic-gate  *              retrieve the associated error message.
437*0Sstevel@tonic-gate  */
438*0Sstevel@tonic-gate extern int defaults_get_mirror_usehsp(
439*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, boolean_t *val);
440*0Sstevel@tonic-gate 
441*0Sstevel@tonic-gate /*
442*0Sstevel@tonic-gate  * Set the default HSP creation flag for concatenated volumes
443*0Sstevel@tonic-gate  *
444*0Sstevel@tonic-gate  * @param       defaults
445*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
446*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
447*0Sstevel@tonic-gate  *
448*0Sstevel@tonic-gate  * @param       diskset
449*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
450*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
451*0Sstevel@tonic-gate  *              setting to all disk sets
452*0Sstevel@tonic-gate  *
453*0Sstevel@tonic-gate  * @param       val
454*0Sstevel@tonic-gate  *              the value to set as the default HSP creation flag for
455*0Sstevel@tonic-gate  *              concatenated volumes
456*0Sstevel@tonic-gate  *
457*0Sstevel@tonic-gate  * @return      0
458*0Sstevel@tonic-gate  *              if successful
459*0Sstevel@tonic-gate  *
460*0Sstevel@tonic-gate  * @return      non-zero
461*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
462*0Sstevel@tonic-gate  *              retrieve the associated error message.
463*0Sstevel@tonic-gate  */
464*0Sstevel@tonic-gate extern int defaults_set_concat_usehsp(
465*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, boolean_t val);
466*0Sstevel@tonic-gate /*
467*0Sstevel@tonic-gate  * Get the default HSP creation flag for concatenated volumes
468*0Sstevel@tonic-gate  *
469*0Sstevel@tonic-gate  * @param       defaults
470*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
471*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
472*0Sstevel@tonic-gate  *
473*0Sstevel@tonic-gate  * @param       diskset
474*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
475*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
476*0Sstevel@tonic-gate  *              setting to all disk sets
477*0Sstevel@tonic-gate  *
478*0Sstevel@tonic-gate  * @param       val
479*0Sstevel@tonic-gate  *              RETURN: the default HSP creation flag for concatenated
480*0Sstevel@tonic-gate  *              volumes
481*0Sstevel@tonic-gate  *
482*0Sstevel@tonic-gate  * @return      0
483*0Sstevel@tonic-gate  *              if successful
484*0Sstevel@tonic-gate  *
485*0Sstevel@tonic-gate  * @return      non-zero
486*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
487*0Sstevel@tonic-gate  *              retrieve the associated error message.
488*0Sstevel@tonic-gate  */
489*0Sstevel@tonic-gate extern int defaults_get_concat_usehsp(
490*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, boolean_t *val);
491*0Sstevel@tonic-gate 
492*0Sstevel@tonic-gate /*
493*0Sstevel@tonic-gate  * Set the default minimum number of components for striped volumes
494*0Sstevel@tonic-gate  *
495*0Sstevel@tonic-gate  * @param       defaults
496*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
497*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
498*0Sstevel@tonic-gate  *
499*0Sstevel@tonic-gate  * @param       diskset
500*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
501*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
502*0Sstevel@tonic-gate  *              setting to all disk sets
503*0Sstevel@tonic-gate  *
504*0Sstevel@tonic-gate  * @param       val
505*0Sstevel@tonic-gate  *              the value to set as the default minimum number of
506*0Sstevel@tonic-gate  *              components for striped volumes
507*0Sstevel@tonic-gate  *
508*0Sstevel@tonic-gate  * @return      0
509*0Sstevel@tonic-gate  *              if successful
510*0Sstevel@tonic-gate  *
511*0Sstevel@tonic-gate  * @return      non-zero
512*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
513*0Sstevel@tonic-gate  *              retrieve the associated error message.
514*0Sstevel@tonic-gate  */
515*0Sstevel@tonic-gate extern int defaults_set_stripe_mincomp(
516*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t val);
517*0Sstevel@tonic-gate /*
518*0Sstevel@tonic-gate  * Get the default minimum number of components for striped volumes
519*0Sstevel@tonic-gate  *
520*0Sstevel@tonic-gate  * @param       defaults
521*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
522*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
523*0Sstevel@tonic-gate  *
524*0Sstevel@tonic-gate  * @param       diskset
525*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
526*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
527*0Sstevel@tonic-gate  *              setting to all disk sets
528*0Sstevel@tonic-gate  *
529*0Sstevel@tonic-gate  * @param       val
530*0Sstevel@tonic-gate  *              RETURN: the default minimum number of components for
531*0Sstevel@tonic-gate  *              striped volumes
532*0Sstevel@tonic-gate  *
533*0Sstevel@tonic-gate  * @return      0
534*0Sstevel@tonic-gate  *              if successful
535*0Sstevel@tonic-gate  *
536*0Sstevel@tonic-gate  * @return      non-zero
537*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
538*0Sstevel@tonic-gate  *              retrieve the associated error message.
539*0Sstevel@tonic-gate  */
540*0Sstevel@tonic-gate extern int defaults_get_stripe_mincomp(
541*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t *val);
542*0Sstevel@tonic-gate 
543*0Sstevel@tonic-gate /*
544*0Sstevel@tonic-gate  * Set the default maximum number of components for striped volumes
545*0Sstevel@tonic-gate  *
546*0Sstevel@tonic-gate  * @param       defaults
547*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
548*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
549*0Sstevel@tonic-gate  *
550*0Sstevel@tonic-gate  * @param       diskset
551*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
552*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
553*0Sstevel@tonic-gate  *              setting to all disk sets
554*0Sstevel@tonic-gate  *
555*0Sstevel@tonic-gate  * @param       val
556*0Sstevel@tonic-gate  *              the value to set as the default maximum number of
557*0Sstevel@tonic-gate  *              components for striped volumes
558*0Sstevel@tonic-gate  *
559*0Sstevel@tonic-gate  * @return      0
560*0Sstevel@tonic-gate  *              if successful
561*0Sstevel@tonic-gate  *
562*0Sstevel@tonic-gate  * @return      non-zero
563*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
564*0Sstevel@tonic-gate  *              retrieve the associated error message.
565*0Sstevel@tonic-gate  */
566*0Sstevel@tonic-gate extern int defaults_set_stripe_maxcomp(
567*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t val);
568*0Sstevel@tonic-gate /*
569*0Sstevel@tonic-gate  * Get the default maximum number of components for striped volumes
570*0Sstevel@tonic-gate  *
571*0Sstevel@tonic-gate  * @param       defaults
572*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
573*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
574*0Sstevel@tonic-gate  *
575*0Sstevel@tonic-gate  * @param       diskset
576*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
577*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
578*0Sstevel@tonic-gate  *              setting to all disk sets
579*0Sstevel@tonic-gate  *
580*0Sstevel@tonic-gate  * @param       val
581*0Sstevel@tonic-gate  *              RETURN: the default maximum number of components for
582*0Sstevel@tonic-gate  *              striped volumes
583*0Sstevel@tonic-gate  *
584*0Sstevel@tonic-gate  * @return      0
585*0Sstevel@tonic-gate  *              if successful
586*0Sstevel@tonic-gate  *
587*0Sstevel@tonic-gate  * @return      non-zero
588*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
589*0Sstevel@tonic-gate  *              retrieve the associated error message.
590*0Sstevel@tonic-gate  */
591*0Sstevel@tonic-gate extern int defaults_get_stripe_maxcomp(
592*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t *val);
593*0Sstevel@tonic-gate 
594*0Sstevel@tonic-gate /*
595*0Sstevel@tonic-gate  * Set the default interlace for striped volumes
596*0Sstevel@tonic-gate  *
597*0Sstevel@tonic-gate  * @param       defaults
598*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
599*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
600*0Sstevel@tonic-gate  *
601*0Sstevel@tonic-gate  * @param       diskset
602*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
603*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
604*0Sstevel@tonic-gate  *              setting to all disk sets
605*0Sstevel@tonic-gate  *
606*0Sstevel@tonic-gate  * @param       val
607*0Sstevel@tonic-gate  *              the value to set as the default interlace for striped
608*0Sstevel@tonic-gate  *              volumes
609*0Sstevel@tonic-gate  *
610*0Sstevel@tonic-gate  * @return      0
611*0Sstevel@tonic-gate  *              if successful
612*0Sstevel@tonic-gate  *
613*0Sstevel@tonic-gate  * @return      non-zero
614*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
615*0Sstevel@tonic-gate  *              retrieve the associated error message.
616*0Sstevel@tonic-gate  */
617*0Sstevel@tonic-gate extern int defaults_set_stripe_interlace(
618*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint64_t val);
619*0Sstevel@tonic-gate /*
620*0Sstevel@tonic-gate  * Get the default interlace for striped volumes
621*0Sstevel@tonic-gate  *
622*0Sstevel@tonic-gate  * @param       defaults
623*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
624*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
625*0Sstevel@tonic-gate  *
626*0Sstevel@tonic-gate  * @param       diskset
627*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
628*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
629*0Sstevel@tonic-gate  *              setting to all disk sets
630*0Sstevel@tonic-gate  *
631*0Sstevel@tonic-gate  * @param       val
632*0Sstevel@tonic-gate  *              RETURN: the default interlace for striped volumes
633*0Sstevel@tonic-gate  *
634*0Sstevel@tonic-gate  * @return      0
635*0Sstevel@tonic-gate  *              if successful
636*0Sstevel@tonic-gate  *
637*0Sstevel@tonic-gate  * @return      non-zero
638*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
639*0Sstevel@tonic-gate  *              retrieve the associated error message.
640*0Sstevel@tonic-gate  */
641*0Sstevel@tonic-gate extern int defaults_get_stripe_interlace(
642*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint64_t *val);
643*0Sstevel@tonic-gate 
644*0Sstevel@tonic-gate /*
645*0Sstevel@tonic-gate  * Set the default HSP creation flag for striped volumes
646*0Sstevel@tonic-gate  *
647*0Sstevel@tonic-gate  * @param       defaults
648*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
649*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
650*0Sstevel@tonic-gate  *
651*0Sstevel@tonic-gate  * @param       diskset
652*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
653*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
654*0Sstevel@tonic-gate  *              setting to all disk sets
655*0Sstevel@tonic-gate  *
656*0Sstevel@tonic-gate  * @param       val
657*0Sstevel@tonic-gate  *              the value to set as the default HSP creation flag for
658*0Sstevel@tonic-gate  *              striped volumes
659*0Sstevel@tonic-gate  *
660*0Sstevel@tonic-gate  * @return      0
661*0Sstevel@tonic-gate  *              if successful
662*0Sstevel@tonic-gate  *
663*0Sstevel@tonic-gate  * @return      non-zero
664*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
665*0Sstevel@tonic-gate  *              retrieve the associated error message.
666*0Sstevel@tonic-gate  */
667*0Sstevel@tonic-gate extern int defaults_set_stripe_usehsp(
668*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, boolean_t val);
669*0Sstevel@tonic-gate /*
670*0Sstevel@tonic-gate  * Get the default HSP creation flag for striped volumes
671*0Sstevel@tonic-gate  *
672*0Sstevel@tonic-gate  * @param       defaults
673*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
674*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
675*0Sstevel@tonic-gate  *
676*0Sstevel@tonic-gate  * @param       diskset
677*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
678*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
679*0Sstevel@tonic-gate  *              setting to all disk sets
680*0Sstevel@tonic-gate  *
681*0Sstevel@tonic-gate  * @param       val
682*0Sstevel@tonic-gate  *              RETURN: the default HSP creation flag for striped
683*0Sstevel@tonic-gate  *              volumes
684*0Sstevel@tonic-gate  *
685*0Sstevel@tonic-gate  * @return      0
686*0Sstevel@tonic-gate  *              if successful
687*0Sstevel@tonic-gate  *
688*0Sstevel@tonic-gate  * @return      non-zero
689*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
690*0Sstevel@tonic-gate  *              retrieve the associated error message.
691*0Sstevel@tonic-gate  */
692*0Sstevel@tonic-gate extern int defaults_get_stripe_usehsp(
693*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, boolean_t *val);
694*0Sstevel@tonic-gate 
695*0Sstevel@tonic-gate /*
696*0Sstevel@tonic-gate  * Set the default redundancy level for generic volumes.
697*0Sstevel@tonic-gate  *
698*0Sstevel@tonic-gate  * @param       defaults
699*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
700*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
701*0Sstevel@tonic-gate  *
702*0Sstevel@tonic-gate  * @param       diskset
703*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
704*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
705*0Sstevel@tonic-gate  *              setting to all disk sets
706*0Sstevel@tonic-gate  *
707*0Sstevel@tonic-gate  * @param       val
708*0Sstevel@tonic-gate  *              If 0, a stripe will be created by default.  If > 0, a
709*0Sstevel@tonic-gate  *              mirror with this number of submirrors will be created
710*0Sstevel@tonic-gate  *              by default.
711*0Sstevel@tonic-gate  *
712*0Sstevel@tonic-gate  * @return      0
713*0Sstevel@tonic-gate  *              if successful
714*0Sstevel@tonic-gate  *
715*0Sstevel@tonic-gate  * @return      non-zero
716*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
717*0Sstevel@tonic-gate  *              retrieve the associated error message.
718*0Sstevel@tonic-gate  */
719*0Sstevel@tonic-gate extern int defaults_set_volume_redundancy_level(
720*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t val);
721*0Sstevel@tonic-gate /*
722*0Sstevel@tonic-gate  * Get the default redundancy level for generic volumes.
723*0Sstevel@tonic-gate  *
724*0Sstevel@tonic-gate  * @param       defaults
725*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
726*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
727*0Sstevel@tonic-gate  *
728*0Sstevel@tonic-gate  * @param       diskset
729*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
730*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
731*0Sstevel@tonic-gate  *              setting to all disk sets
732*0Sstevel@tonic-gate  *
733*0Sstevel@tonic-gate  * @param       val
734*0Sstevel@tonic-gate  *              RETURN: the default redundancy level for generic
735*0Sstevel@tonic-gate  *              volumes
736*0Sstevel@tonic-gate  *
737*0Sstevel@tonic-gate  * @return      0
738*0Sstevel@tonic-gate  *              if successful
739*0Sstevel@tonic-gate  *
740*0Sstevel@tonic-gate  * @return      non-zero
741*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
742*0Sstevel@tonic-gate  *              retrieve the associated error message.
743*0Sstevel@tonic-gate  */
744*0Sstevel@tonic-gate extern int defaults_get_volume_redundancy_level(
745*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t *val);
746*0Sstevel@tonic-gate 
747*0Sstevel@tonic-gate /*
748*0Sstevel@tonic-gate  * Set the default number of data paths for generic volume
749*0Sstevel@tonic-gate  *
750*0Sstevel@tonic-gate  * @param       defaults
751*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
752*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
753*0Sstevel@tonic-gate  *
754*0Sstevel@tonic-gate  * @param       diskset
755*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
756*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
757*0Sstevel@tonic-gate  *              setting to all disk sets
758*0Sstevel@tonic-gate  *
759*0Sstevel@tonic-gate  * @param       val
760*0Sstevel@tonic-gate  *              the value to set as the default number of data paths
761*0Sstevel@tonic-gate  *              for generic volume
762*0Sstevel@tonic-gate  *
763*0Sstevel@tonic-gate  * @return      0
764*0Sstevel@tonic-gate  *              if successful
765*0Sstevel@tonic-gate  *
766*0Sstevel@tonic-gate  * @return      non-zero
767*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
768*0Sstevel@tonic-gate  *              retrieve the associated error message.
769*0Sstevel@tonic-gate  */
770*0Sstevel@tonic-gate extern int defaults_set_volume_npaths(
771*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t val);
772*0Sstevel@tonic-gate /*
773*0Sstevel@tonic-gate  * Get the default number of data paths for generic volume
774*0Sstevel@tonic-gate  *
775*0Sstevel@tonic-gate  * @param       defaults
776*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
777*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
778*0Sstevel@tonic-gate  *
779*0Sstevel@tonic-gate  * @param       diskset
780*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
781*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
782*0Sstevel@tonic-gate  *              setting to all disk sets
783*0Sstevel@tonic-gate  *
784*0Sstevel@tonic-gate  * @param       val
785*0Sstevel@tonic-gate  *              RETURN: the default number of data paths for generic
786*0Sstevel@tonic-gate  *              volume
787*0Sstevel@tonic-gate  *
788*0Sstevel@tonic-gate  * @return      0
789*0Sstevel@tonic-gate  *              if successful
790*0Sstevel@tonic-gate  *
791*0Sstevel@tonic-gate  * @return      non-zero
792*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
793*0Sstevel@tonic-gate  *              retrieve the associated error message.
794*0Sstevel@tonic-gate  */
795*0Sstevel@tonic-gate extern int defaults_get_volume_npaths(
796*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, uint16_t *val);
797*0Sstevel@tonic-gate 
798*0Sstevel@tonic-gate /*
799*0Sstevel@tonic-gate  * Set the default HSP creation flag for generic volume
800*0Sstevel@tonic-gate  *
801*0Sstevel@tonic-gate  * @param       defaults
802*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
803*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
804*0Sstevel@tonic-gate  *
805*0Sstevel@tonic-gate  * @param       diskset
806*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
807*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
808*0Sstevel@tonic-gate  *              setting to all disk sets
809*0Sstevel@tonic-gate  *
810*0Sstevel@tonic-gate  * @param       val
811*0Sstevel@tonic-gate  *              the value to set as the default HSP creation flag for
812*0Sstevel@tonic-gate  *              generic volume
813*0Sstevel@tonic-gate  *
814*0Sstevel@tonic-gate  * @return      0
815*0Sstevel@tonic-gate  *              if successful
816*0Sstevel@tonic-gate  *
817*0Sstevel@tonic-gate  * @return      non-zero
818*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
819*0Sstevel@tonic-gate  *              retrieve the associated error message.
820*0Sstevel@tonic-gate  */
821*0Sstevel@tonic-gate extern int defaults_set_volume_usehsp(
822*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, boolean_t val);
823*0Sstevel@tonic-gate /*
824*0Sstevel@tonic-gate  * Get the default HSP creation flag for generic volume
825*0Sstevel@tonic-gate  *
826*0Sstevel@tonic-gate  * @param       defaults
827*0Sstevel@tonic-gate  *              a defaults_t hierarchy representing default settings
828*0Sstevel@tonic-gate  *              for all disk sets and specific disk sets
829*0Sstevel@tonic-gate  *
830*0Sstevel@tonic-gate  * @param       diskset
831*0Sstevel@tonic-gate  *              the name of the disk set to which to apply this
832*0Sstevel@tonic-gate  *              default setting, or NULL to apply default
833*0Sstevel@tonic-gate  *              setting to all disk sets
834*0Sstevel@tonic-gate  *
835*0Sstevel@tonic-gate  * @param       val
836*0Sstevel@tonic-gate  *              RETURN: the default HSP creation flag for generic
837*0Sstevel@tonic-gate  *              volume
838*0Sstevel@tonic-gate  *
839*0Sstevel@tonic-gate  * @return      0
840*0Sstevel@tonic-gate  *              if successful
841*0Sstevel@tonic-gate  *
842*0Sstevel@tonic-gate  * @return      non-zero
843*0Sstevel@tonic-gate  *              if an error occurred.  Use get_error_string() to
844*0Sstevel@tonic-gate  *              retrieve the associated error message.
845*0Sstevel@tonic-gate  */
846*0Sstevel@tonic-gate extern int defaults_get_volume_usehsp(
847*0Sstevel@tonic-gate     defaults_t *defaults, char *diskset, boolean_t *val);
848*0Sstevel@tonic-gate 
849*0Sstevel@tonic-gate #ifdef __cplusplus
850*0Sstevel@tonic-gate }
851*0Sstevel@tonic-gate #endif
852*0Sstevel@tonic-gate 
853*0Sstevel@tonic-gate #endif /* _VOLUME_DEFAULTS_H */
854