diff options
Diffstat (limited to 'usr/src/lib/libdiskmgt/common/slice.c')
-rw-r--r-- | usr/src/lib/libdiskmgt/common/slice.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/usr/src/lib/libdiskmgt/common/slice.c b/usr/src/lib/libdiskmgt/common/slice.c index 33997e1b0c..e94c443cfb 100644 --- a/usr/src/lib/libdiskmgt/common/slice.c +++ b/usr/src/lib/libdiskmgt/common/slice.c @@ -20,7 +20,7 @@ * CDDL HEADER END */ /* - * Copyright 2005 Sun Microsystems, Inc. All rights reserved. + * Copyright 2006 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -54,18 +54,18 @@ #define FMT_VTOC 1 #define FMT_EFI 2 -static struct inuse_detectors { - int (*detectorp)(char *slice, nvlist_t *attrs, int *errp); - char *used_by; -} detectors[] = { - {inuse_mnt, DM_USE_MOUNT}, - {inuse_svm, DM_USE_SVM}, - {inuse_zpool, DM_USE_ZPOOL}, - {inuse_lu, DM_USE_LU}, - {inuse_dump, DM_USE_DUMP}, - {inuse_vxvm, DM_USE_VXVM}, - {inuse_fs, DM_USE_FS}, /* fs should always be last */ - {NULL, NULL} +typedef int (*detectorp)(char *, nvlist_t *, int *); + +static detectorp detectors[] = { + inuse_mnt, + inuse_svm, + inuse_active_zpool, + inuse_lu, + inuse_dump, + inuse_vxvm, + inuse_exported_zpool, + inuse_fs, /* fs should always be last */ + NULL }; static int add_inuse(char *name, nvlist_t *attrs); @@ -358,8 +358,8 @@ add_inuse(char *name, nvlist_t *attrs) int i; int error; - for (i = 0; detectors[i].detectorp != NULL; i ++) { - if ((detectors[i].detectorp)(name, attrs, &error) || error != 0) { + for (i = 0; detectors[i] != NULL; i ++) { + if (detectors[i](name, attrs, &error) || error != 0) { if (error != 0) { return (error); } |