diff options
author | smh <smh@FreeBSD.org> | 2013-06-21 15:30:46 +0000 |
---|---|---|
committer | smh <smh@FreeBSD.org> | 2013-06-21 15:30:46 +0000 |
commit | 08b5f9540c66c3519e52616cd2bb0cae89520164 (patch) | |
tree | 560e02fdbab9ce409c76743f92327979fa4d3cba | |
parent | c0ad5cbe7d9758aae5db4a4ed692b4f3096b34cd (diff) | |
download | FreeBSD-src-08b5f9540c66c3519e52616cd2bb0cae89520164.zip FreeBSD-src-08b5f9540c66c3519e52616cd2bb0cae89520164.tar.gz |
Fixed ZFS zpool freeze (debug command) not processing due to invalid ioctl call syntax.
MFC after: 1 week
-rw-r--r-- | cddl/contrib/opensolaris/cmd/zpool/zpool_main.c | 7 |
1 files 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 b35575b..5b24a2f 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); |