Merge commit 'refs/top-bases/top' into top

This commit is contained in:
Brian Behlendorf 2009-10-23 12:29:27 -07:00
commit 5125a4fc74
10 changed files with 472 additions and 421 deletions

View File

@ -4056,7 +4056,7 @@ int
main(int argc, char **argv)
{
int ret;
int i;
int i = 0;
#ifdef HAVE_ZPL
char *progname;
#endif

View File

@ -3922,7 +3922,7 @@ int
main(int argc, char **argv)
{
int ret;
int i;
int i = 0;
char *cmdname;
(void) setlocale(LC_ALL, "");

View File

@ -237,14 +237,9 @@ check_disk(const char *path, blkid_cache cache, int force,
int err = 0;
int fd, i;
/* Check the device as given */
err = check_slice(path, cache, force, isspare);
if (err)
return (err);
/* Additional checking is only required for whole disks */
/* This is not a wholedisk we only check the given partition */
if (!iswholedisk)
return 0;
return check_slice(path, cache, force, isspare);
/*
* When the device is a whole disk try to read the efi partition
@ -252,9 +247,9 @@ check_disk(const char *path, blkid_cache cache, int force,
* partitions. However, when it fails it may simply be because
* the disk is partitioned via the MBR. Since we currently can
* not easily decode the MBR return a failure and prompt to the
* user to use --force since we cannot check the partitions.
* user to use force option since we cannot check the partitions.
*/
if ((fd = open(path, O_RDONLY|O_NDELAY)) < 0) {
if ((fd = open(path, O_RDWR|O_DIRECT)) < 0) {
check_error(errno);
return -1;
}
@ -265,11 +260,9 @@ check_disk(const char *path, blkid_cache cache, int force,
if (force) {
return 0;
} else {
vdev_error(gettext(
"%s may contain a non-efi partition table "
"describing existing\nfilesystems. If you are "
"sure you want to use this device use the\n"
"force command line option.\n"), path);
vdev_error(gettext("%s does not contain an EFI "
"label but it may contain partition\n"
"information in the MBR.\n"), path);
return -1;
}
}
@ -279,14 +272,18 @@ check_disk(const char *path, blkid_cache cache, int force,
* label at the end of the device is intact. Rather than use this
* label we should play it safe and treat this as a non efi device.
*/
if (!force && vtoc->efi_flags & EFI_GPT_PRIMARY_CORRUPT) {
vdev_error(gettext(
"%s contains a corrupt primary efi partition table. "
"If you are\nsure you want to use this device use "
"the force command line option.\n"), path);
if (vtoc->efi_flags & EFI_GPT_PRIMARY_CORRUPT) {
efi_free(vtoc);
(void) close(fd);
return -1;
if (force) {
/* Partitions will no be created using the backup */
return 0;
} else {
vdev_error(gettext("%s contains a corrupt primary "
"EFI label.\n"), path);
return -1;
}
}
for (i = 0; i < vtoc->efi_nparts; i++) {
@ -295,15 +292,13 @@ check_disk(const char *path, blkid_cache cache, int force,
uuid_is_null((uchar_t *)&vtoc->efi_parts[i].p_guid))
continue;
/* Resolve possible symlink to safely append partition */
if (realpath(path, slice_path) == NULL) {
(void) fprintf(stderr,
gettext("cannot resolve path '%s'\n"), slice_path);
err = errno;
break;
}
if (strncmp(path, UDISK_ROOT, strlen(UDISK_ROOT)) == 0)
(void) snprintf(slice_path, sizeof (slice_path),
"%s%s%d", path, "-part", i+1);
else
(void) snprintf(slice_path, sizeof (slice_path),
"%s%d", path, i+1);
sprintf(slice_path, "%s%d", slice_path, i+1);
err = check_slice(slice_path, cache, force, isspare);
if (err)
break;
@ -369,7 +364,7 @@ is_whole_disk(const char *arg)
(void) snprintf(path, sizeof (path), "%s%s%s",
RDISK_ROOT, strrchr(arg, '/'), BACKUP_SLICE);
if ((fd = open(path, O_RDWR | O_NDELAY)) < 0)
if ((fd = open(path, O_RDWR|O_DIRECT)) < 0)
return (B_FALSE);
if (efi_alloc_and_init(fd, EFI_NUMPAR, &label) != 0) {
(void) close(fd);

View File

@ -4,6 +4,6 @@ DEFAULT_INCLUDES = -I${top_srcdir}
AM_CFLAGS = -Wall -Wstrict-prototypes -fno-strict-aliasing -Werror
# Expected defines not covered by zfs_config.h or spl_config.h
AM_CFLAGS += -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT
AM_CFLAGS += -D_GNU_SOURCE -D__EXTENSIONS__ -D_REENTRANT $(USERDEBUG)
AM_CFLAGS += -D_POSIX_PTHREAD_SEMANTICS -D_FILE_OFFSET_BITS=64
AM_CFLAGS += -D_LARGEFILE64_SOURCE -DTEXT_DOMAIN=\"zfs-linux-user\"

View File

@ -11,28 +11,34 @@ AC_DEFUN([ZFS_AC_LICENSE], [
])
AC_DEFUN([ZFS_AC_DEBUG], [
AC_MSG_CHECKING([whether debugging is enabled])
AC_ARG_ENABLE( [debug],
AS_HELP_STRING([--enable-debug],
[Enable generic debug support (default off)]),
[ case "$enableval" in
yes) zfs_ac_debug=yes ;;
no) zfs_ac_debug=no ;;
*) AC_MSG_RESULT([Error!])
AC_MSG_ERROR([Bad value "$enableval" for --enable-debug]) ;;
esac ]
)
if test "$zfs_ac_debug" = yes; then
AC_MSG_RESULT([yes])
KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG "
AC_MSG_CHECKING([whether debugging is enabled])
AC_ARG_ENABLE( [debug],
AS_HELP_STRING([--enable-debug],
[Enable generic debug support (default off)]),
[ case "$enableval" in
yes) zfs_ac_debug=yes ;;
no) zfs_ac_debug=no ;;
*) AC_MSG_RESULT([Error!])
AC_MSG_ERROR([Bad value "$enableval" for --enable-debug]) ;;
esac ]
)
if test "$zfs_ac_debug" = yes; then
AC_MSG_RESULT([yes])
AC_DEFINE([DEBUG], [1],
[Define to 1 to enable debug tracing])
KERNELCPPFLAGS="${KERNELCPPFLAGS} -DDEBUG "
HOSTCFLAGS="${HOSTCFLAGS} -DDEBUG "
else
AC_MSG_RESULT([no])
AC_DEFINE([NDEBUG], [1],
[Define to 1 to disable debug tracing])
KERNELCPPFLAGS="${KERNELCPPFLAGS} -DNDEBUG "
USERDEBUG="-DDEBUG"
else
AC_MSG_RESULT([no])
AC_DEFINE([NDEBUG], [1],
[Define to 1 to disable debug tracing])
KERNELCPPFLAGS="${KERNELCPPFLAGS} -DNDEBUG "
HOSTCFLAGS="${HOSTCFLAGS} -DNDEBUG "
fi
USERDEBUG="-DNDEBUG"
fi
AC_SUBST(USERDEBUG)
])
AC_DEFUN([ZFS_AC_CONFIG_SCRIPT], [

View File

@ -111,7 +111,7 @@ int efi_debug = 1;
int efi_debug = 0;
#endif
static int efi_read(int, struct dk_gpt *);
static int efi_read(int, struct dk_gpt *);
/*
* Return a 32-bit CRC of the contents of the buffer. Pre-and-post
@ -394,12 +394,20 @@ efi_ioctl(int fd, int cmd, dk_efi_t *dk_ioc)
}
error = lseek(fd, dk_ioc->dki_lba * lbsize, SEEK_SET);
if (error == -1)
if (error == -1) {
if (efi_debug)
(void) fprintf(stderr, "DKIOCGETEFI lseek "
"error: %d\n", errno);
return error;
}
error = read(fd, data, dk_ioc->dki_length);
if (error == -1)
if (error == -1) {
if (efi_debug)
(void) fprintf(stderr, "DKIOCGETEFI read "
"error: %d\n", errno);
return error;
}
if (error != dk_ioc->dki_length) {
if (efi_debug)
@ -421,12 +429,20 @@ efi_ioctl(int fd, int cmd, dk_efi_t *dk_ioc)
}
error = lseek(fd, dk_ioc->dki_lba * lbsize, SEEK_SET);
if (error == -1)
if (error == -1) {
if (efi_debug)
(void) fprintf(stderr, "DKIOCSETEFI lseek "
"error: %d\n", errno);
return error;
}
error = write(fd, data, dk_ioc->dki_length);
if (error == -1)
if (error == -1) {
if (efi_debug)
(void) fprintf(stderr, "DKIOCSETEFI write "
"error: %d\n", errno);
return error;
}
if (error != dk_ioc->dki_length) {
if (efi_debug)
@ -436,10 +452,15 @@ efi_ioctl(int fd, int cmd, dk_efi_t *dk_ioc)
return -1;
}
error = fdatasync(fd);
/* Sync the new EFI table to disk */
error = fsync(fd);
if (error == -1)
return error;
/* Ensure any local disk cache is also flushed */
if (ioctl(fd, BLKFLSBUF, 0) == -1)
return error;
error = 0;
break;
@ -597,9 +618,11 @@ efi_read(int fd, struct dk_gpt *vtoc)
}
}
if ((dk_ioc.dki_data = calloc(label_len, 1)) == NULL)
if (posix_memalign((void **)&dk_ioc.dki_data,
disk_info.dki_lbsize, label_len))
return (VT_ERROR);
memset(dk_ioc.dki_data, 0, label_len);
dk_ioc.dki_length = disk_info.dki_lbsize;
user_length = vtoc->efi_nparts;
efi = dk_ioc.dki_data;
@ -795,12 +818,14 @@ write_pmbr(int fd, struct dk_gpt *vtoc)
int len;
len = (vtoc->efi_lbasize == 0) ? sizeof (mb) : vtoc->efi_lbasize;
buf = calloc(len, 1);
if (posix_memalign((void **)&buf, len, len))
return (VT_ERROR);
/*
* Preserve any boot code and disk signature if the first block is
* already an MBR.
*/
memset(buf, 0, len);
dk_ioc.dki_lba = 0;
dk_ioc.dki_length = len;
/* LINTED -- always longlong aligned */
@ -886,10 +911,9 @@ check_input(struct dk_gpt *vtoc)
if ((vtoc->efi_parts[i].p_tag == V_UNASSIGNED) &&
(vtoc->efi_parts[i].p_size != 0)) {
if (efi_debug) {
(void) fprintf(stderr,
"partition %d is \"unassigned\" but has a size of %llu",
i,
vtoc->efi_parts[i].p_size);
(void) fprintf(stderr, "partition %d is "
"\"unassigned\" but has a size of %llu",
i, vtoc->efi_parts[i].p_size);
}
return (VT_EINVAL);
}
@ -902,9 +926,9 @@ check_input(struct dk_gpt *vtoc)
if (vtoc->efi_parts[i].p_tag == V_RESERVED) {
if (resv_part != -1) {
if (efi_debug) {
(void) fprintf(stderr,
"found duplicate reserved partition at %d\n",
i);
(void) fprintf(stderr, "found "
"duplicate reserved partition "
"at %d\n", i);
}
return (VT_EINVAL);
}
@ -955,8 +979,8 @@ check_input(struct dk_gpt *vtoc)
(istart <= endsect)) {
if (efi_debug) {
(void) fprintf(stderr,
"Partition %d overlaps partition %d.",
i, j);
"Partition %d overlaps "
"partition %d.", i, j);
}
return (VT_EINVAL);
}
@ -1106,9 +1130,11 @@ efi_write(int fd, struct dk_gpt *vtoc)
* for backup GPT header.
*/
lba_backup_gpt_hdr = vtoc->efi_last_u_lba + 1 + nblocks;
if ((dk_ioc.dki_data = calloc(dk_ioc.dki_length, 1)) == NULL)
if (posix_memalign((void **)&dk_ioc.dki_data,
vtoc->efi_lbasize, dk_ioc.dki_length))
return (VT_ERROR);
memset(dk_ioc.dki_data, 0, dk_ioc.dki_length);
efi = dk_ioc.dki_data;
/* stuff user's input into EFI struct */

View File

@ -1759,23 +1759,14 @@ is_guid_type(zpool_handle_t *zhp, uint64_t guid, const char *type)
* the disk to use the new unallocated space.
*/
static int
zpool_relabel_disk(libzfs_handle_t *hdl, const char *name)
zpool_relabel_disk(libzfs_handle_t *hdl, const char *path)
{
#if 0
char path[MAXPATHLEN];
char errbuf[1024];
int fd, error;
int (*_efi_use_whole_disk)(int);
if ((_efi_use_whole_disk = (int (*)(int))dlsym(RTLD_DEFAULT,
"efi_use_whole_disk")) == NULL)
return (-1);
(void) snprintf(path, sizeof (path), "%s/%s", RDISK_ROOT, name);
if ((fd = open(path, O_RDWR | O_NDELAY)) < 0) {
if ((fd = open(path, O_RDWR|O_DIRECT)) < 0) {
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "cannot "
"relabel '%s': unable to open device"), name);
"relabel '%s': unable to open device"), path);
return (zfs_error(hdl, EZFS_OPENFAILED, errbuf));
}
@ -1784,20 +1775,14 @@ zpool_relabel_disk(libzfs_handle_t *hdl, const char *name)
* does not have any unallocated space left. If so, we simply
* ignore that error and continue on.
*/
error = _efi_use_whole_disk(fd);
error = efi_use_whole_disk(fd);
(void) close(fd);
if (error && error != VT_ENOSPC) {
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "cannot "
"relabel '%s': unable to read disk capacity"), name);
"relabel '%s': unable to read disk capacity"), path);
return (zfs_error(hdl, EZFS_NOCAP, errbuf));
}
return (0);
#else
char errbuf[1024];
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "cannot "
"relabel '%s/%s': libefi is unsupported"), DISK_ROOT, name);
return (zfs_error(hdl, EZFS_NOTSUP, errbuf));
#endif
}
/*
@ -1853,7 +1838,6 @@ zpool_vdev_online(zpool_handle_t *zhp, const char *path, int flags,
}
if (wholedisk) {
pathname += strlen(DISK_ROOT) + 1;
(void) zpool_relabel_disk(zhp->zpool_hdl, pathname);
}
}
@ -3072,7 +3056,7 @@ read_efi_label(nvlist_t *config, diskaddr_t *sb)
(void) snprintf(diskname, sizeof (diskname), "%s%s", RDISK_ROOT,
strrchr(path, '/'));
if ((fd = open(diskname, O_RDONLY|O_NDELAY)) >= 0) {
if ((fd = open(diskname, O_RDWR|O_DIRECT)) >= 0) {
struct dk_gpt *vtoc;
if ((err = efi_alloc_and_read(fd, &vtoc)) >= 0) {
@ -3121,7 +3105,6 @@ find_start_block(nvlist_t *config)
int
zpool_label_disk_wait(char *path, int timeout)
{
#if defined(__linux__)
struct stat64 statbuf;
int i;
@ -3140,9 +3123,31 @@ zpool_label_disk_wait(char *path, int timeout)
}
return (ENOENT);
#else
return (0);
#endif
}
int
zpool_label_disk_check(char *path)
{
struct dk_gpt *vtoc;
int fd, err;
if ((fd = open(path, O_RDWR|O_DIRECT)) < 0)
return errno;
if ((err = efi_alloc_and_read(fd, &vtoc)) != 0) {
(void) close(fd);
return err;
}
if (vtoc->efi_flags & EFI_GPT_PRIMARY_CORRUPT) {
efi_free(vtoc);
(void) close(fd);
return EIDRM;
}
efi_free(vtoc);
(void) close(fd);
return 0;
}
/*
@ -3154,7 +3159,7 @@ zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, char *name)
{
char path[MAXPATHLEN];
struct dk_gpt *vtoc;
int fd;
int rval, fd;
size_t resv = EFI_MIN_RESV_SIZE;
uint64_t slice_size;
diskaddr_t start_block;
@ -3190,14 +3195,13 @@ zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, char *name)
(void) snprintf(path, sizeof (path), "%s/%s%s", RDISK_ROOT, name,
BACKUP_SLICE);
if ((fd = open(path, O_RDWR | O_NDELAY)) < 0) {
if ((fd = open(path, O_RDWR|O_DIRECT)) < 0) {
/*
* This shouldn't happen. We've long since verified that this
* is a valid device.
*/
printf("errno =%d\n", errno);
zfs_error_aux(hdl,
dgettext(TEXT_DOMAIN, "unable to open device"));
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
"unable to open device '%s': %d"), path, errno);
return (zfs_error(hdl, EZFS_OPENFAILED, errbuf));
}
@ -3240,7 +3244,7 @@ zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, char *name)
vtoc->efi_parts[8].p_size = resv;
vtoc->efi_parts[8].p_tag = V_RESERVED;
if (efi_write(fd, vtoc) != 0) {
if ((rval = efi_write(fd, vtoc)) != 0) {
/*
* Some block drivers (like pcata) may not support EFI
* GPT labels. Print out a helpful error message dir-
@ -3250,22 +3254,36 @@ zpool_label_disk(libzfs_handle_t *hdl, zpool_handle_t *zhp, char *name)
(void) close(fd);
efi_free(vtoc);
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
"try using fdisk(1M) and then provide a specific slice"));
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "try using "
"parted(8) and then provide a specific slice: %d"), rval);
return (zfs_error(hdl, EZFS_LABELFAILED, errbuf));
}
(void) close(fd);
efi_free(vtoc);
#if defined(__linux__)
/* Wait for the first expected slice to appear */
/* Wait for the first expected slice to appear. */
(void) snprintf(path, sizeof (path), "%s/%s%s",
DISK_ROOT, name, FIRST_SLICE);
return zpool_label_disk_wait(path, 3000);
#else
return (0);
#endif
rval = zpool_label_disk_wait(path, 3000);
if (rval) {
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "failed to "
"detect device partitions on '%s': %d"), path, rval);
return (zfs_error(hdl, EZFS_LABELFAILED, errbuf));
}
/* We can't be to paranoid. Read the label back and verify it. */
(void) snprintf(path, sizeof (path), "%s/%s", DISK_ROOT, name);
rval = zpool_label_disk_check(path);
if (rval) {
zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "freshly written "
"EFI label on '%s' is damaged. Ensure\nthis device "
"is not in in use, and is functioning properly: %d"),
path, rval);
return (zfs_error(hdl, EZFS_LABELFAILED, errbuf));
}
return 0;
}
static boolean_t

View File

@ -4,328 +4,328 @@
ENV{DEVTYPE}=="disk", IMPORT{program}="path_id %p"
# Full devices (*:pci*port:*:id*)
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:3*", SYMLINK+="disk/zpool/a1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:4*", SYMLINK+="disk/zpool/a2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:5*", SYMLINK+="disk/zpool/a3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:6*", SYMLINK+="disk/zpool/a4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:7*", SYMLINK+="disk/zpool/a5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:8*", SYMLINK+="disk/zpool/a6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:9*", SYMLINK+="disk/zpool/a7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:10*", SYMLINK+="disk/zpool/a8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:11*", SYMLINK+="disk/zpool/a9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:12*", SYMLINK+="disk/zpool/a10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:13*", SYMLINK+="disk/zpool/a11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:14*", SYMLINK+="disk/zpool/a12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:15*", SYMLINK+="disk/zpool/a13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:16*", SYMLINK+="disk/zpool/a14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:17*", SYMLINK+="disk/zpool/a15"
# Full devices (*:pci*port:*:id-lun)
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/a1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/a2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/a3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/a4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/a5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/a6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/a7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/a8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/a9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/a10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/a11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/a12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/a13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/a14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/a15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:3*", SYMLINK+="disk/zpool/b1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:4*", SYMLINK+="disk/zpool/b2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:5*", SYMLINK+="disk/zpool/b3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:6*", SYMLINK+="disk/zpool/b4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:7*", SYMLINK+="disk/zpool/b5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:8*", SYMLINK+="disk/zpool/b6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:9*", SYMLINK+="disk/zpool/b7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:10*", SYMLINK+="disk/zpool/b8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:11*", SYMLINK+="disk/zpool/b9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:12*", SYMLINK+="disk/zpool/b10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:13*", SYMLINK+="disk/zpool/b11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:14*", SYMLINK+="disk/zpool/b12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:15*", SYMLINK+="disk/zpool/b13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:16*", SYMLINK+="disk/zpool/b14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:17*", SYMLINK+="disk/zpool/b15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/b1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/b2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/b3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/b4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/b5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/b6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/b7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/b8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/b9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/b10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/b11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/b12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/b13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:16-lun0", SYMLINK+="disk/zpool/b14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:03:00.0*4:*:17-lun0", SYMLINK+="disk/zpool/b15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:3*", SYMLINK+="disk/zpool/c1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:4*", SYMLINK+="disk/zpool/c2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:5*", SYMLINK+="disk/zpool/c3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:6*", SYMLINK+="disk/zpool/c4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:7*", SYMLINK+="disk/zpool/c5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:8*", SYMLINK+="disk/zpool/c6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:9*", SYMLINK+="disk/zpool/c7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:10*", SYMLINK+="disk/zpool/c8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:11*", SYMLINK+="disk/zpool/c9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:12*", SYMLINK+="disk/zpool/c10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:13*", SYMLINK+="disk/zpool/c11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:14*", SYMLINK+="disk/zpool/c12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:15*", SYMLINK+="disk/zpool/c13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:16*", SYMLINK+="disk/zpool/c14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:17*", SYMLINK+="disk/zpool/c15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/c1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/c2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/c3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/c4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/c5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/c6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/c7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/c8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/c9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/c10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/c11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/c12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/c13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/c14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/c15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:3*", SYMLINK+="disk/zpool/d1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:4*", SYMLINK+="disk/zpool/d2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:5*", SYMLINK+="disk/zpool/d3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:6*", SYMLINK+="disk/zpool/d4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:7*", SYMLINK+="disk/zpool/d5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:8*", SYMLINK+="disk/zpool/d6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:9*", SYMLINK+="disk/zpool/d7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:10*", SYMLINK+="disk/zpool/d8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:11*", SYMLINK+="disk/zpool/d9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:12*", SYMLINK+="disk/zpool/d10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:13*", SYMLINK+="disk/zpool/d11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:14*", SYMLINK+="disk/zpool/d12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:15*", SYMLINK+="disk/zpool/d13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:16*", SYMLINK+="disk/zpool/d14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:17*", SYMLINK+="disk/zpool/d15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/d1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/d2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/d3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/d4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/d5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/d6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/d7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/d8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/d9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/d10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/d11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/d12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/d13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:16-lun0", SYMLINK+="disk/zpool/d14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:04:00.0*4:*:17-lun0", SYMLINK+="disk/zpool/d15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:3*", SYMLINK+="disk/zpool/e1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:4*", SYMLINK+="disk/zpool/e2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:5*", SYMLINK+="disk/zpool/e3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:6*", SYMLINK+="disk/zpool/e4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:7*", SYMLINK+="disk/zpool/e5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:8*", SYMLINK+="disk/zpool/e6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:9*", SYMLINK+="disk/zpool/e7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:10*", SYMLINK+="disk/zpool/e8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:11*", SYMLINK+="disk/zpool/e9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:12*", SYMLINK+="disk/zpool/e10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:13*", SYMLINK+="disk/zpool/e11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:14*", SYMLINK+="disk/zpool/e12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:15*", SYMLINK+="disk/zpool/e13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:16*", SYMLINK+="disk/zpool/e14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:17*", SYMLINK+="disk/zpool/e15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/e1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/e2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/e3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/e4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/e5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/e6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/e7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/e8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/e9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/e10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/e11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/e12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/e13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/e14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/e15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:3*", SYMLINK+="disk/zpool/f1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:4*", SYMLINK+="disk/zpool/f2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:5*", SYMLINK+="disk/zpool/f3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:6*", SYMLINK+="disk/zpool/f4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:7*", SYMLINK+="disk/zpool/f5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:8*", SYMLINK+="disk/zpool/f6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:9*", SYMLINK+="disk/zpool/f7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:10*", SYMLINK+="disk/zpool/f8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:11*", SYMLINK+="disk/zpool/f9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:12*", SYMLINK+="disk/zpool/f10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:13*", SYMLINK+="disk/zpool/f11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:14*", SYMLINK+="disk/zpool/f12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:15*", SYMLINK+="disk/zpool/f13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:16*", SYMLINK+="disk/zpool/f14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:17*", SYMLINK+="disk/zpool/f15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/f1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/f2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/f3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/f4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/f5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/f6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/f7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/f8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/f9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/f10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/f11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/f12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/f13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:16-lun0", SYMLINK+="disk/zpool/f14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:84:00.0*4:*:17-lun0", SYMLINK+="disk/zpool/f15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:3*", SYMLINK+="disk/zpool/g1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:4*", SYMLINK+="disk/zpool/g2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:5*", SYMLINK+="disk/zpool/g3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:6*", SYMLINK+="disk/zpool/g4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:7*", SYMLINK+="disk/zpool/g5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:8*", SYMLINK+="disk/zpool/g6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:9*", SYMLINK+="disk/zpool/g7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:10*", SYMLINK+="disk/zpool/g8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:11*", SYMLINK+="disk/zpool/g9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:12*", SYMLINK+="disk/zpool/g10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:13*", SYMLINK+="disk/zpool/g11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:14*", SYMLINK+="disk/zpool/g12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:15*", SYMLINK+="disk/zpool/g13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:16*", SYMLINK+="disk/zpool/g14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:17*", SYMLINK+="disk/zpool/g15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/g1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/g2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/g3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/g4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/g5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/g6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/g7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/g8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/g9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/g10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/g11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/g12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/g13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/g14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/g15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:3*", SYMLINK+="disk/zpool/h1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:4*", SYMLINK+="disk/zpool/h2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:5*", SYMLINK+="disk/zpool/h3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:6*", SYMLINK+="disk/zpool/h4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:7*", SYMLINK+="disk/zpool/h5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:8*", SYMLINK+="disk/zpool/h6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:9*", SYMLINK+="disk/zpool/h7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:10*", SYMLINK+="disk/zpool/h8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:11*", SYMLINK+="disk/zpool/h9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:12*", SYMLINK+="disk/zpool/h10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:13*", SYMLINK+="disk/zpool/h11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:14*", SYMLINK+="disk/zpool/h12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:15*", SYMLINK+="disk/zpool/h13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:16*", SYMLINK+="disk/zpool/h14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:17*", SYMLINK+="disk/zpool/h15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/h1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/h2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/h3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/h4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/h5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/h6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/h7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/h8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/h9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/h10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/h11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/h12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/h13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:16-lun0", SYMLINK+="disk/zpool/h14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:85:00.0*4:*:17-lun0", SYMLINK+="disk/zpool/h15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:0*", SYMLINK+="disk/zpool/i1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:1*", SYMLINK+="disk/zpool/i2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:2*", SYMLINK+="disk/zpool/i3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:3*", SYMLINK+="disk/zpool/i4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:4*", SYMLINK+="disk/zpool/i5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:5*", SYMLINK+="disk/zpool/i6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:6*", SYMLINK+="disk/zpool/i7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:7*", SYMLINK+="disk/zpool/i8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:8*", SYMLINK+="disk/zpool/i9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:9*", SYMLINK+="disk/zpool/i10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:10*", SYMLINK+="disk/zpool/i11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:11*", SYMLINK+="disk/zpool/i12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:12*", SYMLINK+="disk/zpool/i13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:13*", SYMLINK+="disk/zpool/i14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:14*", SYMLINK+="disk/zpool/i15"
#ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:15*", SYMLINK+="disk/zpool/i16"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:0-lun0", SYMLINK+="disk/zpool/i1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:1-lun0", SYMLINK+="disk/zpool/i2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:2-lun0", SYMLINK+="disk/zpool/i3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/i4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/i5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/i6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/i7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/i8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/i9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/i10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/i11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/i12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/i13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/i14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/i15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/i16"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:0*", SYMLINK+="disk/zpool/j1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:1*", SYMLINK+="disk/zpool/j2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:2*", SYMLINK+="disk/zpool/j3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:3*", SYMLINK+="disk/zpool/j4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:4*", SYMLINK+="disk/zpool/j5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:5*", SYMLINK+="disk/zpool/j6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:6*", SYMLINK+="disk/zpool/j7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:7*", SYMLINK+="disk/zpool/j8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:8*", SYMLINK+="disk/zpool/j9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:9*", SYMLINK+="disk/zpool/j10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:10*", SYMLINK+="disk/zpool/j11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:11*", SYMLINK+="disk/zpool/j12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:12*", SYMLINK+="disk/zpool/j13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:13*", SYMLINK+="disk/zpool/j14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:14*", SYMLINK+="disk/zpool/j15"
#ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:15*", SYMLINK+="disk/zpool/j16"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:0-lun0", SYMLINK+="disk/zpool/j1"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:1-lun0", SYMLINK+="disk/zpool/j2"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:2-lun0", SYMLINK+="disk/zpool/j3"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/j4"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/j5"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/j6"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/j7"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/j8"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/j9"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/j10"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/j11"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/j12"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/j13"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/j14"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/j15"
ENV{DEVTYPE}=="disk", ENV{ID_PATH}=="*:83:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/j16"
# Partitions (*:pci*port:*:id*)
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:3*", SYMLINK+="disk/zpool/a1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:4*", SYMLINK+="disk/zpool/a2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:5*", SYMLINK+="disk/zpool/a3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:6*", SYMLINK+="disk/zpool/a4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:7*", SYMLINK+="disk/zpool/a5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:8*", SYMLINK+="disk/zpool/a6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:9*", SYMLINK+="disk/zpool/a7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:10*", SYMLINK+="disk/zpool/a8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:11*", SYMLINK+="disk/zpool/a9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:12*", SYMLINK+="disk/zpool/a10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:13*", SYMLINK+="disk/zpool/a11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:14*", SYMLINK+="disk/zpool/a12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:15*", SYMLINK+="disk/zpool/a13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:16*", SYMLINK+="disk/zpool/a14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:17*", SYMLINK+="disk/zpool/a15-part%n"
# Partitions (*:pci*port:*:id-lun)
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/a1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/a2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/a3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/a4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/a5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/a6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/a7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/a8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/a9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/a10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/a11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/a12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/a13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/a14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/a15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:3*", SYMLINK+="disk/zpool/b1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:4*", SYMLINK+="disk/zpool/b2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:5*", SYMLINK+="disk/zpool/b3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:6*", SYMLINK+="disk/zpool/b4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:7*", SYMLINK+="disk/zpool/b5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:8*", SYMLINK+="disk/zpool/b6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:9*", SYMLINK+="disk/zpool/b7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:10*", SYMLINK+="disk/zpool/b8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:11*", SYMLINK+="disk/zpool/b9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:12*", SYMLINK+="disk/zpool/b10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:13*", SYMLINK+="disk/zpool/b11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:14*", SYMLINK+="disk/zpool/b12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:15*", SYMLINK+="disk/zpool/b13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:16*", SYMLINK+="disk/zpool/b14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:17*", SYMLINK+="disk/zpool/b15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/b1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/b2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/b3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/b4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/b5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/b6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/b7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/b8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/b9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/b10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/b11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/b12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/b13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:16-lun0", SYMLINK+="disk/zpool/b14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:03:00.0*4:*:17-lun0", SYMLINK+="disk/zpool/b15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:3*", SYMLINK+="disk/zpool/c1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:4*", SYMLINK+="disk/zpool/c2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:5*", SYMLINK+="disk/zpool/c3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:6*", SYMLINK+="disk/zpool/c4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:7*", SYMLINK+="disk/zpool/c5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:8*", SYMLINK+="disk/zpool/c6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:9*", SYMLINK+="disk/zpool/c7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:10*", SYMLINK+="disk/zpool/c8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:11*", SYMLINK+="disk/zpool/c9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:12*", SYMLINK+="disk/zpool/c10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:13*", SYMLINK+="disk/zpool/c11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:14*", SYMLINK+="disk/zpool/c12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:15*", SYMLINK+="disk/zpool/c13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:16*", SYMLINK+="disk/zpool/c14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:17*", SYMLINK+="disk/zpool/c15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/c1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/c2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/c3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/c4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/c5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/c6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/c7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/c8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/c9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/c10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/c11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/c12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/c13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/c14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/c15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:3*", SYMLINK+="disk/zpool/d1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:4*", SYMLINK+="disk/zpool/d2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:5*", SYMLINK+="disk/zpool/d3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:6*", SYMLINK+="disk/zpool/d4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:7*", SYMLINK+="disk/zpool/d5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:8*", SYMLINK+="disk/zpool/d6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:9*", SYMLINK+="disk/zpool/d7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:10*", SYMLINK+="disk/zpool/d8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:11*", SYMLINK+="disk/zpool/d9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:12*", SYMLINK+="disk/zpool/d10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:13*", SYMLINK+="disk/zpool/d11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:14*", SYMLINK+="disk/zpool/d12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:15*", SYMLINK+="disk/zpool/d13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:16*", SYMLINK+="disk/zpool/d14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:17*", SYMLINK+="disk/zpool/d15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/d1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/d2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/d3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/d4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/d5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/d6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/d7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/d8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/d9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/d10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/d11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/d12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/d13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:16-lun0", SYMLINK+="disk/zpool/d14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:04:00.0*4:*:17-lun0", SYMLINK+="disk/zpool/d15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:3*", SYMLINK+="disk/zpool/e1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:4*", SYMLINK+="disk/zpool/e2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:5*", SYMLINK+="disk/zpool/e3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:6*", SYMLINK+="disk/zpool/e4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:7*", SYMLINK+="disk/zpool/e5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:8*", SYMLINK+="disk/zpool/e6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:9*", SYMLINK+="disk/zpool/e7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:10*", SYMLINK+="disk/zpool/e8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:11*", SYMLINK+="disk/zpool/e9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:12*", SYMLINK+="disk/zpool/e10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:13*", SYMLINK+="disk/zpool/e11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:14*", SYMLINK+="disk/zpool/e12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:15*", SYMLINK+="disk/zpool/e13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:16*", SYMLINK+="disk/zpool/e14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:17*", SYMLINK+="disk/zpool/e15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/e1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/e2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/e3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/e4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/e5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/e6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/e7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/e8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/e9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/e10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/e11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/e12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/e13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/e14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/e15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:3*", SYMLINK+="disk/zpool/f1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:4*", SYMLINK+="disk/zpool/f2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:5*", SYMLINK+="disk/zpool/f3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:6*", SYMLINK+="disk/zpool/f4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:7*", SYMLINK+="disk/zpool/f5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:8*", SYMLINK+="disk/zpool/f6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:9*", SYMLINK+="disk/zpool/f7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:10*", SYMLINK+="disk/zpool/f8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:11*", SYMLINK+="disk/zpool/f9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:12*", SYMLINK+="disk/zpool/f10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:13*", SYMLINK+="disk/zpool/f11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:14*", SYMLINK+="disk/zpool/f12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:15*", SYMLINK+="disk/zpool/f13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:16*", SYMLINK+="disk/zpool/f14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:17*", SYMLINK+="disk/zpool/f15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/f1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/f2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/f3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/f4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/f5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/f6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/f7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/f8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/f9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/f10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/f11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/f12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/f13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:16-lun0", SYMLINK+="disk/zpool/f14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:84:00.0*4:*:17-lun0", SYMLINK+="disk/zpool/f15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:3*", SYMLINK+="disk/zpool/g1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:4*", SYMLINK+="disk/zpool/g2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:5*", SYMLINK+="disk/zpool/g3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:6*", SYMLINK+="disk/zpool/g4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:7*", SYMLINK+="disk/zpool/g5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:8*", SYMLINK+="disk/zpool/g6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:9*", SYMLINK+="disk/zpool/g7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:10*", SYMLINK+="disk/zpool/g8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:11*", SYMLINK+="disk/zpool/g9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:12*", SYMLINK+="disk/zpool/g10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:13*", SYMLINK+="disk/zpool/g11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:14*", SYMLINK+="disk/zpool/g12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:15*", SYMLINK+="disk/zpool/g13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:16*", SYMLINK+="disk/zpool/g14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:17*", SYMLINK+="disk/zpool/g15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/g1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/g2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/g3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/g4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/g5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/g6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/g7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/g8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/g9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/g10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/g11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/g12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/g13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:16-lun0", SYMLINK+="disk/zpool/g14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*0:*:17-lun0", SYMLINK+="disk/zpool/g15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:3*", SYMLINK+="disk/zpool/h1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:4*", SYMLINK+="disk/zpool/h2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:5*", SYMLINK+="disk/zpool/h3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:6*", SYMLINK+="disk/zpool/h4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:7*", SYMLINK+="disk/zpool/h5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:8*", SYMLINK+="disk/zpool/h6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:9*", SYMLINK+="disk/zpool/h7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:10*", SYMLINK+="disk/zpool/h8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:11*", SYMLINK+="disk/zpool/h9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:12*", SYMLINK+="disk/zpool/h10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:13*", SYMLINK+="disk/zpool/h11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:14*", SYMLINK+="disk/zpool/h12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:15*", SYMLINK+="disk/zpool/h13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:16*", SYMLINK+="disk/zpool/h14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:17*", SYMLINK+="disk/zpool/h15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/h1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/h2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/h3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/h4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/h5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/h6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/h7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/h8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/h9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/h10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/h11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/h12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/h13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:16-lun0", SYMLINK+="disk/zpool/h14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:85:00.0*4:*:17-lun0", SYMLINK+="disk/zpool/h15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:0*", SYMLINK+="disk/zpool/i1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:1*", SYMLINK+="disk/zpool/i2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:2*", SYMLINK+="disk/zpool/i3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:3*", SYMLINK+="disk/zpool/i4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:4*", SYMLINK+="disk/zpool/i5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:5*", SYMLINK+="disk/zpool/i6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:6*", SYMLINK+="disk/zpool/i7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:7*", SYMLINK+="disk/zpool/i8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:8*", SYMLINK+="disk/zpool/i9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:9*", SYMLINK+="disk/zpool/i10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:10*", SYMLINK+="disk/zpool/i11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:11*", SYMLINK+="disk/zpool/i12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:12*", SYMLINK+="disk/zpool/i13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:13*", SYMLINK+="disk/zpool/i14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:14*", SYMLINK+="disk/zpool/i15-part%n"
#ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:15*", SYMLINK+="disk/zpool/i16-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:0-lun0", SYMLINK+="disk/zpool/i1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:1-lun0", SYMLINK+="disk/zpool/i2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:2-lun0", SYMLINK+="disk/zpool/i3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:3-lun0", SYMLINK+="disk/zpool/i4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:4-lun0", SYMLINK+="disk/zpool/i5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:5-lun0", SYMLINK+="disk/zpool/i6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:6-lun0", SYMLINK+="disk/zpool/i7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:7-lun0", SYMLINK+="disk/zpool/i8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:8-lun0", SYMLINK+="disk/zpool/i9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:9-lun0", SYMLINK+="disk/zpool/i10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:10-lun0", SYMLINK+="disk/zpool/i11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:11-lun0", SYMLINK+="disk/zpool/i12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:12-lun0", SYMLINK+="disk/zpool/i13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:13-lun0", SYMLINK+="disk/zpool/i14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:14-lun0", SYMLINK+="disk/zpool/i15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*0:*:15-lun0", SYMLINK+="disk/zpool/i16-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:0*", SYMLINK+="disk/zpool/j1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:1*", SYMLINK+="disk/zpool/j2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:2*", SYMLINK+="disk/zpool/j3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:3*", SYMLINK+="disk/zpool/j4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:4*", SYMLINK+="disk/zpool/j5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:5*", SYMLINK+="disk/zpool/j6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:6*", SYMLINK+="disk/zpool/j7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:7*", SYMLINK+="disk/zpool/j8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:8*", SYMLINK+="disk/zpool/j9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:9*", SYMLINK+="disk/zpool/j10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:10*", SYMLINK+="disk/zpool/j11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:11*", SYMLINK+="disk/zpool/j12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:12*", SYMLINK+="disk/zpool/j13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:13*", SYMLINK+="disk/zpool/j14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:14*", SYMLINK+="disk/zpool/j15-part%n"
#ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:15*", SYMLINK+="disk/zpool/j16-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:0-lun0", SYMLINK+="disk/zpool/j1-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:1-lun0", SYMLINK+="disk/zpool/j2-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:2-lun0", SYMLINK+="disk/zpool/j3-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:3-lun0", SYMLINK+="disk/zpool/j4-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:4-lun0", SYMLINK+="disk/zpool/j5-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:5-lun0", SYMLINK+="disk/zpool/j6-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:6-lun0", SYMLINK+="disk/zpool/j7-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:7-lun0", SYMLINK+="disk/zpool/j8-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:8-lun0", SYMLINK+="disk/zpool/j9-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:9-lun0", SYMLINK+="disk/zpool/j10-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:10-lun0", SYMLINK+="disk/zpool/j11-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:11-lun0", SYMLINK+="disk/zpool/j12-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:12-lun0", SYMLINK+="disk/zpool/j13-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:13-lun0", SYMLINK+="disk/zpool/j14-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:14-lun0", SYMLINK+="disk/zpool/j15-part%n"
ENV{DEVTYPE}=="partition", ENV{ID_PATH}=="*:83:00.0*4:*:15-lun0", SYMLINK+="disk/zpool/j16-part%n"

View File

@ -31,6 +31,7 @@ DESCRIPTION:
OPTIONS:
-h Show this message
-v Verbose
-f Force everything
-p Enable profiling
-c Zpool configuration
-t Zpios test
@ -171,7 +172,7 @@ ZPIOS_OPTIONS=
ZPOOL_OPTIONS=""
ZFS_OPTIONS=""
while getopts 'hvpc:t:o:l:s:' OPTION; do
while getopts 'hvfpc:t:o:l:s:' OPTION; do
case $OPTION in
h)
usage
@ -181,6 +182,10 @@ while getopts 'hvpc:t:o:l:s:' OPTION; do
VERBOSE=1
VERBOSE_FLAG="-v"
;;
f)
FORCE=1
FORCE_FLAG="-f"
;;
p)
PROFILE=1
;;
@ -235,7 +240,8 @@ if [ ${VERBOSE} ]; then
fi
# Create the zpool configuration
${ZPOOL_CREATE_SH} ${VERBOSE_FLAG} -p ${ZPOOL_NAME} -c ${ZPOOL_CONFIG} \
${ZPOOL_CREATE_SH} ${VERBOSE_FLAG} ${FORCE_FLAG} \
-p ${ZPOOL_NAME} -c ${ZPOOL_CONFIG} \
-l "${ZPOOL_OPTIONS}" -s "${ZFS_OPTIONS}" || exit 1
if [ ${PROFILE} ]; then
@ -254,8 +260,8 @@ if [ ${VERBOSE} ]; then
fi
# Destroy the zpool configuration
${ZPOOL_CREATE_SH} ${VERBOSE_FLAG} -p ${ZPOOL_NAME} \
-c ${ZPOOL_CONFIG} -d || exit 1
${ZPOOL_CREATE_SH} ${VERBOSE_FLAG} ${FORCE_FLAG} \
-p ${ZPOOL_NAME} -c ${ZPOOL_CONFIG} -d || exit 1
# Unload the test module stack and wait for device removal
unload_modules

View File

@ -22,10 +22,10 @@ DESCRIPTION:
OPTIONS:
-h Show this message
-v Verbose
-f Force everything
-c Configuration for zpool
-p Name for zpool
-d Destroy zpool (default create)
-f Force everything
-l Additional zpool options
-s Additional zfs options