diff options
author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2020-07-08 11:35:01 +0000 |
---|---|---|
committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2020-07-08 11:35:01 +0000 |
commit | b97f5b09ef2e4af27e3cc4addd8abe5fc7c4d817 (patch) | |
tree | 26a516b2251314578cd471a7293f6d36cdd798a8 /usr/src/cmd/zfs/zfs_main.c | |
parent | 500c01a56730addd2b2a8a00fef7ce205769f05a (diff) | |
parent | f4f9009fc79529ef8f45e7a31acd2ce4ca86a276 (diff) | |
download | illumos-joyent-b97f5b09ef2e4af27e3cc4addd8abe5fc7c4d817.tar.gz |
[illumos-gate merge]
commit f4f9009fc79529ef8f45e7a31acd2ce4ca86a276
12912 epoll mishandles excessive timeout negativity
commit be9c3adb90f4f745cf5c07f3c0dbdd6c9028cda0
12926 libstand: add missing iscntrl() isgraph() and ispunct()
commit 7ac89354c798225fea6296348415955ccd95fb80
12877 Port OpenZFS #7780 - Add basic zfs ioc input nvpair validation
12895 zfs_onexit_fd_hold fails to release non-zfs fds
commit 6f0673af8764c356a5bd511fc7ca8af579fe2000
12810 usr/src/tools/opensolaris contents are unused
commit 086d96878f5f62a25a6d90e5b03a1ef9ba352231
12909 epoll should better detect fd reassignment
Conflicts:
usr/src/uts/common/sys/user.h
Diffstat (limited to 'usr/src/cmd/zfs/zfs_main.c')
-rw-r--r-- | usr/src/cmd/zfs/zfs_main.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/usr/src/cmd/zfs/zfs_main.c b/usr/src/cmd/zfs/zfs_main.c index 6c53682364..c8c7c525ba 100644 --- a/usr/src/cmd/zfs/zfs_main.c +++ b/usr/src/cmd/zfs/zfs_main.c @@ -7494,7 +7494,7 @@ zfs_do_bookmark(int argc, char **argv) fnvlist_free(nvl); if (ret != 0) { - const char *err_msg; + const char *err_msg = NULL; char errbuf[1024]; (void) snprintf(errbuf, sizeof (errbuf), @@ -7518,11 +7518,13 @@ zfs_do_bookmark(int argc, char **argv) err_msg = "out of space"; break; default: - err_msg = "unknown error"; + (void) zfs_standard_error(g_zfs, ret, errbuf); break; } - (void) fprintf(stderr, "%s: %s\n", errbuf, - dgettext(TEXT_DOMAIN, err_msg)); + if (err_msg != NULL) { + (void) fprintf(stderr, "%s: %s\n", errbuf, + dgettext(TEXT_DOMAIN, err_msg)); + } } return (ret != 0); @@ -7539,7 +7541,7 @@ zfs_do_channel_program(int argc, char **argv) char c; char *progbuf, *filename, *poolname; size_t progsize, progread; - nvlist_t *outnvl; + nvlist_t *outnvl = NULL; uint64_t instrlimit = ZCP_DEFAULT_INSTRLIMIT; uint64_t memlimit = ZCP_DEFAULT_MEMLIMIT; boolean_t sync_flag = B_TRUE, json_output = B_FALSE; @@ -7679,7 +7681,8 @@ zfs_do_channel_program(int argc, char **argv) * falling back on strerror() for an unexpected return code. */ char *errstring = NULL; - if (nvlist_exists(outnvl, ZCP_RET_ERROR)) { + const char *msg = gettext("Channel program execution failed"); + if (outnvl != NULL && nvlist_exists(outnvl, ZCP_RET_ERROR)) { (void) nvlist_lookup_string(outnvl, ZCP_RET_ERROR, &errstring); if (errstring == NULL) @@ -7704,12 +7707,11 @@ zfs_do_channel_program(int argc, char **argv) "programs must be run as root."; break; default: - errstring = strerror(ret); + (void) zfs_standard_error(g_zfs, ret, msg); } } - (void) fprintf(stderr, - gettext("Channel program execution failed:\n%s\n"), - errstring); + if (errstring != NULL) + (void) fprintf(stderr, "%s:\n%s\n", msg, errstring); } else { if (json_output) { (void) nvlist_print_json(stdout, outnvl); |