libzfs_util.c revision 6733190958bbcc0bd6d1d601e7ae0a6994dafb45
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * CDDL HEADER START
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * The contents of this file are subject to the terms of the
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Common Development and Distribution License (the "License").
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * You may not use this file except in compliance with the License.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * or http://www.opensolaris.org/os/licensing.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * See the License for the specific language governing permissions
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * and limitations under the License.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * When distributing Covered Code, include this CDDL HEADER in each
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * If applicable, add the following below this CDDL HEADER, with the
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * fields enclosed by brackets "[]" replaced with your own identifying
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * information: Portions Copyright [yyyy] [name of copyright owner]
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * CDDL HEADER END
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * Use is subject to license terms.
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis#pragma ident "%Z%%M% %I% %E% SMI"
ddc0e0b53c661f6e439e3b7072b3ef353eadb4afRichard Lowe * Internal utility routines for the ZFS library.
case EZFS_NOMEM:
case EZFS_BADPROP:
case EZFS_PROPREADONLY:
case EZFS_PROPTYPE:
case EZFS_PROPNONINHERIT:
case EZFS_PROPSPACE:
case EZFS_BADTYPE:
case EZFS_BUSY:
case EZFS_EXISTS:
case EZFS_NOENT:
case EZFS_BADSTREAM:
case EZFS_DSREADONLY:
case EZFS_VOLTOOBIG:
case EZFS_VOLHASDATA:
case EZFS_INVALIDNAME:
case EZFS_BADRESTORE:
case EZFS_BADBACKUP:
case EZFS_BADTARGET:
case EZFS_NODEVICE:
case EZFS_BADDEV:
case EZFS_NOREPLICAS:
case EZFS_RESILVERING:
case EZFS_BADVERSION:
case EZFS_POOLUNAVAIL:
case EZFS_DEVOVERFLOW:
case EZFS_BADPATH:
case EZFS_CROSSTARGET:
case EZFS_ZONED:
case EZFS_MOUNTFAILED:
case EZFS_UMOUNTFAILED:
case EZFS_UNSHARENFSFAILED:
case EZFS_SHARENFSFAILED:
case EZFS_DEVLINKS:
case EZFS_PERM:
case EZFS_NOSPC:
case EZFS_IO:
case EZFS_INTR:
case EZFS_ISSPARE:
case EZFS_INVALCONFIG:
case EZFS_RECURSIVE:
case EZFS_NOHISTORY:
case EZFS_UNSHAREISCSIFAILED:
case EZFS_SHAREISCSIFAILED:
case EZFS_POOLPROPS:
case EZFS_POOL_NOTSUP:
case EZFS_POOL_INVALARG:
case EZFS_NAMETOOLONG:
case EZFS_UNKNOWN:
abort();
switch (error) {
case EPERM:
case EACCES:
case EIO:
case EINTR:
switch (error) {
case ENXIO:
case ENOENT:
case ENOSPC:
case EDQUOT:
case EEXIST:
case EBUSY:
case ENAMETOOLONG:
switch (error) {
case ENODEV:
case ENOENT:
case EEXIST:
case EBUSY:
case ENXIO:
case ENAMETOOLONG:
case ENOTSUP:
case EINVAL:
void *data;
return (data);
void *ret;
return (NULL);
return (ret);
char *ret;
return (ret);
int index = 0;
index++;
if (index == 0) {
libzfs_init(void)
return (NULL);
return (NULL);
return (NULL);
return (hdl);
int ret;
return (NULL);
if (ret != 0) {
return (NULL);
path);
return (NULL);
if (len == 0)
== NULL)
char *packed;
if (size)
char *title;
case GET_COL_NAME:
case GET_COL_PROPERTY:
case GET_COL_VALUE:
case GET_COL_SOURCE:
title);
const char *source)
const char *str;
case GET_COL_NAME:
case GET_COL_PROPERTY:
case GET_COL_VALUE:
case GET_COL_SOURCE:
switch (sourcetype) {
case ZFS_SRC_NONE:
case ZFS_SRC_DEFAULT:
case ZFS_SRC_LOCAL:
case ZFS_SRC_TEMPORARY:
case ZFS_SRC_INHERITED:
str);