From 08b5f9540c66c3519e52616cd2bb0cae89520164 Mon Sep 17 00:00:00 2001 From: smh Date: Fri, 21 Jun 2013 15:30:46 +0000 Subject: [PATCH] Fixed ZFS zpool freeze (debug command) not processing due to invalid ioctl call syntax. MFC after: 1 week --- cddl/contrib/opensolaris/cmd/zpool/zpool_main.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c b/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c index b35575b210fd..5b24a2f5feb3 100644 --- a/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c +++ b/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c @@ -5344,10 +5344,9 @@ main(int argc, char **argv) * 'freeze' is a vile debugging abomination, so we treat * it as such. */ - char buf[16384]; - int fd = open(ZFS_DEV, O_RDWR); - (void) strcpy((void *)buf, argv[2]); - return (!!ioctl(fd, ZFS_IOC_POOL_FREEZE, buf)); + zfs_cmd_t zc = { 0 }; + (void) strlcpy(zc.zc_name, argv[2], sizeof (zc.zc_name)); + return (!!zfs_ioctl(g_zfs, ZFS_IOC_POOL_FREEZE, &zc)); } else { (void) fprintf(stderr, gettext("unrecognized " "command '%s'\n"), cmdname);