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