diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/lib/libzfs/common/libzfs_dataset.c | 21 | ||||
-rw-r--r-- | usr/src/lib/libzfs/common/libzfs_impl.h | 9 | ||||
-rw-r--r-- | usr/src/lib/libzfs/common/libzfs_import.c | 4 | ||||
-rw-r--r-- | usr/src/lib/libzfs/common/libzfs_mount.c | 20 | ||||
-rw-r--r-- | usr/src/lib/libzfs/common/libzfs_pool.c | 23 | ||||
-rw-r--r-- | usr/src/lib/libzfs/common/libzfs_util.c | 26 |
6 files changed, 63 insertions, 40 deletions
diff --git a/usr/src/lib/libzfs/common/libzfs_dataset.c b/usr/src/lib/libzfs/common/libzfs_dataset.c index 5a33047b0f..e1335a4fcb 100644 --- a/usr/src/lib/libzfs/common/libzfs_dataset.c +++ b/usr/src/lib/libzfs/common/libzfs_dataset.c @@ -404,7 +404,7 @@ zfs_open(libzfs_handle_t *hdl, const char *path, int types) */ errno = 0; if ((zhp = make_dataset_handle(hdl, path)) == NULL) { - (void) zfs_standard_error(hdl, errno, errbuf, path); + (void) zfs_standard_error(hdl, errno, errbuf); return (NULL); } @@ -1753,7 +1753,7 @@ zfs_prop_get_numeric(zfs_handle_t *zhp, zfs_prop_t prop, uint64_t *value, * Check to see if this property applies to our object */ if (!zfs_prop_valid_for_type(prop, zhp->zfs_type)) - return (zfs_error(zhp->zfs_hdl, EZFS_PROPTYPE, + return (zfs_error_fmt(zhp->zfs_hdl, EZFS_PROPTYPE, dgettext(TEXT_DOMAIN, "cannot get property '%s'"), zfs_prop_to_name(prop))); @@ -2143,7 +2143,7 @@ zfs_destroy(zfs_handle_t *zhp) } if (ioctl(zhp->zfs_hdl->libzfs_fd, ZFS_IOC_DESTROY, &zc) != 0) { - return (zfs_standard_error(zhp->zfs_hdl, errno, + return (zfs_standard_error_fmt(zhp->zfs_hdl, errno, dgettext(TEXT_DOMAIN, "cannot destroy '%s'"), zhp->zfs_name)); } @@ -2201,7 +2201,7 @@ zfs_destroy_snaps(zfs_handle_t *zhp, char *snapname) (void) zfs_remove_link_cb(zhp, &dd); if (!dd.gotone) { - return (zfs_standard_error(zhp->zfs_hdl, ENOENT, + return (zfs_standard_error_fmt(zhp->zfs_hdl, ENOENT, dgettext(TEXT_DOMAIN, "cannot destroy '%s@%s'"), zhp->zfs_name, snapname)); } @@ -2870,8 +2870,9 @@ zfs_receive(libzfs_handle_t *hdl, const char *tosnap, int isprefix, } zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "destination already exists")); - (void) zfs_error(hdl, EZFS_EXISTS, dgettext(TEXT_DOMAIN, - "cannot restore to %s"), zc.zc_value); + (void) zfs_error_fmt(hdl, EZFS_EXISTS, + dgettext(TEXT_DOMAIN, "cannot restore to %s"), + zc.zc_value); break; case EINVAL: (void) zfs_error(hdl, EZFS_BADSTREAM, errbuf); @@ -3018,7 +3019,7 @@ do_rollback(zfs_handle_t *zhp) */ if ((ret = ioctl(zhp->zfs_hdl->libzfs_fd, ZFS_IOC_ROLLBACK, &zc)) != 0) { - (void) zfs_standard_error(zhp->zfs_hdl, errno, + (void) zfs_standard_error_fmt(zhp->zfs_hdl, errno, dgettext(TEXT_DOMAIN, "cannot rollback '%s'"), zhp->zfs_name); } else if (zhp->zfs_type == ZFS_TYPE_VOLUME) { @@ -3287,7 +3288,7 @@ zvol_create_link(libzfs_handle_t *hdl, const char *dataset) return (0); default: - return (zfs_standard_error(hdl, errno, + return (zfs_standard_error_fmt(hdl, errno, dgettext(TEXT_DOMAIN, "cannot create device links " "for '%s'"), dataset)); } @@ -3298,7 +3299,7 @@ zvol_create_link(libzfs_handle_t *hdl, const char *dataset) */ if ((dhdl = di_devlink_init(ZFS_DRIVER, DI_MAKE_LINK)) == NULL) { zfs_error_aux(hdl, strerror(errno)); - (void) zfs_error(hdl, EZFS_DEVLINKS, + (void) zfs_error_fmt(hdl, EZFS_DEVLINKS, dgettext(TEXT_DOMAIN, "cannot create device links " "for '%s'"), dataset); (void) ioctl(hdl->libzfs_fd, ZFS_IOC_REMOVE_MINOR, &zc); @@ -3331,7 +3332,7 @@ zvol_remove_link(libzfs_handle_t *hdl, const char *dataset) return (0); default: - return (zfs_standard_error(hdl, errno, + return (zfs_standard_error_fmt(hdl, errno, dgettext(TEXT_DOMAIN, "cannot remove device " "links for '%s'"), dataset)); } diff --git a/usr/src/lib/libzfs/common/libzfs_impl.h b/usr/src/lib/libzfs/common/libzfs_impl.h index c1b05a3750..c3dc95c2fb 100644 --- a/usr/src/lib/libzfs/common/libzfs_impl.h +++ b/usr/src/lib/libzfs/common/libzfs_impl.h @@ -86,15 +86,18 @@ struct zpool_handle { size_t zpool_error_count; }; -int zfs_error(libzfs_handle_t *, int, const char *, ...); +int zfs_error(libzfs_handle_t *, int, const char *); +int zfs_error_fmt(libzfs_handle_t *, int, const char *, ...); void zfs_error_aux(libzfs_handle_t *, const char *, ...); void *zfs_alloc(libzfs_handle_t *, size_t); void *zfs_realloc(libzfs_handle_t *, void *, size_t, size_t); char *zfs_strdup(libzfs_handle_t *, const char *); int no_memory(libzfs_handle_t *); -int zfs_standard_error(libzfs_handle_t *, int, const char *, ...); -int zpool_standard_error(libzfs_handle_t *, int, const char *, ...); +int zfs_standard_error(libzfs_handle_t *, int, const char *); +int zfs_standard_error_fmt(libzfs_handle_t *, int, const char *, ...); +int zpool_standard_error(libzfs_handle_t *, int, const char *); +int zpool_standard_error_fmt(libzfs_handle_t *, int, const char *, ...); int get_dependents(libzfs_handle_t *, boolean_t, const char *, char ***, size_t *); diff --git a/usr/src/lib/libzfs/common/libzfs_import.c b/usr/src/lib/libzfs/common/libzfs_import.c index ea74079bee..d8b8af1f92 100644 --- a/usr/src/lib/libzfs/common/libzfs_import.c +++ b/usr/src/lib/libzfs/common/libzfs_import.c @@ -746,7 +746,7 @@ zpool_find_import(libzfs_handle_t *hdl, int argc, char **argv) */ for (i = 0; i < argc; i++) { if (argv[i][0] != '/') { - (void) zfs_error(hdl, EZFS_BADPATH, + (void) zfs_error_fmt(hdl, EZFS_BADPATH, dgettext(TEXT_DOMAIN, "cannot open '%s'"), argv[i]); goto error; @@ -754,7 +754,7 @@ zpool_find_import(libzfs_handle_t *hdl, int argc, char **argv) if ((dirp = opendir(argv[i])) == NULL) { zfs_error_aux(hdl, strerror(errno)); - (void) zfs_error(hdl, EZFS_BADPATH, + (void) zfs_error_fmt(hdl, EZFS_BADPATH, dgettext(TEXT_DOMAIN, "cannot open '%s'"), argv[i]); goto error; diff --git a/usr/src/lib/libzfs/common/libzfs_mount.c b/usr/src/lib/libzfs/common/libzfs_mount.c index 315527264e..5cbf6b1be5 100644 --- a/usr/src/lib/libzfs/common/libzfs_mount.c +++ b/usr/src/lib/libzfs/common/libzfs_mount.c @@ -242,7 +242,7 @@ zfs_mount(zfs_handle_t *zhp, const char *options, int flags) if (mkdirp(mountpoint, 0755) != 0) { zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "failed to create mountpoint")); - return (zfs_error(hdl, EZFS_MOUNTFAILED, + return (zfs_error_fmt(hdl, EZFS_MOUNTFAILED, dgettext(TEXT_DOMAIN, "cannot mount '%s'"), mountpoint)); } @@ -259,7 +259,7 @@ zfs_mount(zfs_handle_t *zhp, const char *options, int flags) !dir_is_empty(mountpoint)) { zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "directory is not empty")); - return (zfs_error(hdl, EZFS_MOUNTFAILED, + return (zfs_error_fmt(hdl, EZFS_MOUNTFAILED, dgettext(TEXT_DOMAIN, "cannot mount '%s'"), mountpoint)); } @@ -277,7 +277,7 @@ zfs_mount(zfs_handle_t *zhp, const char *options, int flags) else zfs_error_aux(hdl, strerror(errno)); - return (zfs_error(hdl, EZFS_MOUNTFAILED, + return (zfs_error_fmt(hdl, EZFS_MOUNTFAILED, dgettext(TEXT_DOMAIN, "cannot mount '%s'"), zhp->zfs_name)); } @@ -293,7 +293,7 @@ unmount_one(libzfs_handle_t *hdl, const char *mountpoint, int flags) { if (umount2(mountpoint, flags) != 0) { zfs_error_aux(hdl, strerror(errno)); - return (zfs_error(hdl, EZFS_UMOUNTFAILED, + return (zfs_error_fmt(hdl, EZFS_UMOUNTFAILED, dgettext(TEXT_DOMAIN, "cannot unmount '%s'"), mountpoint)); } @@ -446,7 +446,7 @@ zfs_share_nfs(zfs_handle_t *zhp) mountpoint); if ((fp = popen(buf, "r")) == NULL) - return (zfs_error(hdl, EZFS_SHARENFSFAILED, + return (zfs_error_fmt(hdl, EZFS_SHARENFSFAILED, dgettext(TEXT_DOMAIN, "cannot share '%s'"), zfs_get_name(zhp))); @@ -464,7 +464,7 @@ zfs_share_nfs(zfs_handle_t *zhp) if (colon != NULL) zfs_error_aux(hdl, colon + 2); - (void) zfs_error(hdl, EZFS_SHARENFSFAILED, + (void) zfs_error_fmt(hdl, EZFS_SHARENFSFAILED, dgettext(TEXT_DOMAIN, "cannot share '%s'"), zfs_get_name(zhp)); @@ -491,7 +491,7 @@ unshare_one(libzfs_handle_t *hdl, const char *name, const char *mountpoint) mountpoint); if ((fp = popen(buf, "r")) == NULL) - return (zfs_error(hdl, EZFS_UNSHARENFSFAILED, + return (zfs_error_fmt(hdl, EZFS_UNSHARENFSFAILED, dgettext(TEXT_DOMAIN, "cannot unshare '%s'"), name)); @@ -511,7 +511,7 @@ unshare_one(libzfs_handle_t *hdl, const char *name, const char *mountpoint) verify(pclose(fp) != 0); - return (zfs_error(hdl, EZFS_UNSHARENFSFAILED, + return (zfs_error_fmt(hdl, EZFS_UNSHARENFSFAILED, dgettext(TEXT_DOMAIN, "cannot unshare '%s'"), name)); } @@ -622,7 +622,7 @@ zfs_share_iscsi(zfs_handle_t *zhp) return (0); if (iscsitgt_zfs_share == NULL || iscsitgt_zfs_share(dataset) != 0) - return (zfs_error(hdl, EZFS_SHAREISCSIFAILED, + return (zfs_error_fmt(hdl, EZFS_SHAREISCSIFAILED, dgettext(TEXT_DOMAIN, "cannot share '%s'"), dataset)); return (0); @@ -640,7 +640,7 @@ zfs_unshare_iscsi(zfs_handle_t *zhp) */ if (iscsitgt_zfs_unshare == NULL || (iscsitgt_zfs_unshare(dataset) != 0 && errno != ENODEV)) - return (zfs_error(hdl, EZFS_UNSHAREISCSIFAILED, + return (zfs_error_fmt(hdl, EZFS_UNSHAREISCSIFAILED, dgettext(TEXT_DOMAIN, "cannot unshare '%s'"), dataset)); return (0); diff --git a/usr/src/lib/libzfs/common/libzfs_pool.c b/usr/src/lib/libzfs/common/libzfs_pool.c index 58afcd99a9..3545b3ddd5 100644 --- a/usr/src/lib/libzfs/common/libzfs_pool.c +++ b/usr/src/lib/libzfs/common/libzfs_pool.c @@ -184,7 +184,7 @@ zpool_open_canfail(libzfs_handle_t *hdl, const char *pool) * Make sure the pool name is valid. */ if (!zpool_name_valid(hdl, B_TRUE, pool)) { - (void) zfs_error(hdl, EZFS_INVALIDNAME, + (void) zfs_error_fmt(hdl, EZFS_INVALIDNAME, dgettext(TEXT_DOMAIN, "cannot open '%s'"), pool); return (NULL); @@ -204,7 +204,7 @@ zpool_open_canfail(libzfs_handle_t *hdl, const char *pool) if (missing) { zfs_error_aux(hdl, dgettext(TEXT_DOMAIN, "no such pool")); - (void) zfs_error(hdl, EZFS_NOENT, + (void) zfs_error_fmt(hdl, EZFS_NOENT, dgettext(TEXT_DOMAIN, "cannot open '%s'"), pool); zpool_close(zhp); @@ -258,7 +258,7 @@ zpool_open(libzfs_handle_t *hdl, const char *pool) return (NULL); if (zhp->zpool_state == POOL_STATE_UNAVAIL) { - (void) zfs_error(hdl, EZFS_POOLUNAVAIL, + (void) zfs_error_fmt(hdl, EZFS_POOLUNAVAIL, dgettext(TEXT_DOMAIN, "cannot open '%s'"), zhp->zpool_name); zpool_close(zhp); return (NULL); @@ -404,7 +404,7 @@ zpool_create(libzfs_handle_t *hdl, const char *pool, nvlist_t *nvroot, return (zfs_error(hdl, EZFS_INVALIDNAME, msg)); if (altroot != NULL && altroot[0] != '/') - return (zfs_error(hdl, EZFS_BADPATH, + return (zfs_error_fmt(hdl, EZFS_BADPATH, dgettext(TEXT_DOMAIN, "bad alternate root '%s'"), altroot)); if (zcmd_write_src_nvlist(hdl, &zc, nvroot, NULL) != 0) @@ -621,7 +621,7 @@ zpool_export(zpool_handle_t *zhp) (void) strlcpy(zc.zc_name, zhp->zpool_name, sizeof (zc.zc_name)); if (ioctl(zhp->zpool_hdl->libzfs_fd, ZFS_IOC_POOL_EXPORT, &zc) != 0) - return (zpool_standard_error(zhp->zpool_hdl, errno, + return (zpool_standard_error_fmt(zhp->zpool_hdl, errno, dgettext(TEXT_DOMAIN, "cannot export '%s'"), zhp->zpool_name)); @@ -648,7 +648,7 @@ zpool_import(libzfs_handle_t *hdl, nvlist_t *config, const char *newname, if (newname != NULL) { if (!zpool_name_valid(hdl, B_FALSE, newname)) - return (zfs_error(hdl, EZFS_INVALIDNAME, + return (zfs_error_fmt(hdl, EZFS_INVALIDNAME, dgettext(TEXT_DOMAIN, "cannot import '%s'"), newname)); thename = (char *)newname; @@ -657,7 +657,7 @@ zpool_import(libzfs_handle_t *hdl, nvlist_t *config, const char *newname, } if (altroot != NULL && altroot[0] != '/') - return (zfs_error(hdl, EZFS_BADPATH, + return (zfs_error_fmt(hdl, EZFS_BADPATH, dgettext(TEXT_DOMAIN, "bad alternate root '%s'"), altroot)); @@ -1758,7 +1758,7 @@ zpool_upgrade(zpool_handle_t *zhp) (void) strcpy(zc.zc_name, zhp->zpool_name); if (ioctl(hdl->libzfs_fd, ZFS_IOC_POOL_UPGRADE, &zc) != 0) - return (zpool_standard_error(hdl, errno, + return (zpool_standard_error_fmt(hdl, errno, dgettext(TEXT_DOMAIN, "cannot upgrade '%s'"), zhp->zpool_name)); @@ -1833,15 +1833,16 @@ get_history(zpool_handle_t *zhp, char *buf, uint64_t *off, uint64_t *len) if (ioctl(hdl->libzfs_fd, ZFS_IOC_POOL_GET_HISTORY, &zc) != 0) { switch (errno) { case EPERM: - return (zfs_error(hdl, EZFS_PERM, dgettext(TEXT_DOMAIN, + return (zfs_error_fmt(hdl, EZFS_PERM, + dgettext(TEXT_DOMAIN, "cannot show history for pool '%s'"), zhp->zpool_name)); case ENOENT: - return (zfs_error(hdl, EZFS_NOHISTORY, + return (zfs_error_fmt(hdl, EZFS_NOHISTORY, dgettext(TEXT_DOMAIN, "cannot get history for pool " "'%s'"), zhp->zpool_name)); default: - return (zpool_standard_error(hdl, errno, + return (zpool_standard_error_fmt(hdl, errno, dgettext(TEXT_DOMAIN, "cannot get history for '%s'"), zhp->zpool_name)); } diff --git a/usr/src/lib/libzfs/common/libzfs_util.c b/usr/src/lib/libzfs/common/libzfs_util.c index 14be406f11..48ee3f509e 100644 --- a/usr/src/lib/libzfs/common/libzfs_util.c +++ b/usr/src/lib/libzfs/common/libzfs_util.c @@ -199,15 +199,21 @@ zfs_verror(libzfs_handle_t *hdl, int error, const char *fmt, va_list ap) } (void) fprintf(stderr, "%s: %s\n", hdl->libzfs_action, - libzfs_error_description(hdl)); + libzfs_error_description(hdl)); if (error == EZFS_NOMEM) exit(1); } } +int +zfs_error(libzfs_handle_t *hdl, int error, const char *msg) +{ + return (zfs_error_fmt(hdl, error, "%s", msg)); +} + /*PRINTFLIKE3*/ int -zfs_error(libzfs_handle_t *hdl, int error, const char *fmt, ...) +zfs_error_fmt(libzfs_handle_t *hdl, int error, const char *fmt, ...) { va_list ap; @@ -242,9 +248,15 @@ zfs_common_error(libzfs_handle_t *hdl, int error, const char *fmt, return (0); } +int +zfs_standard_error(libzfs_handle_t *hdl, int error, const char *msg) +{ + return (zfs_standard_error_fmt(hdl, error, "%s", msg)); +} + /*PRINTFLIKE3*/ int -zfs_standard_error(libzfs_handle_t *hdl, int error, const char *fmt, ...) +zfs_standard_error_fmt(libzfs_handle_t *hdl, int error, const char *fmt, ...) { va_list ap; @@ -294,9 +306,15 @@ zfs_standard_error(libzfs_handle_t *hdl, int error, const char *fmt, ...) return (-1); } +int +zpool_standard_error(libzfs_handle_t *hdl, int error, const char *msg) +{ + return (zpool_standard_error_fmt(hdl, error, "%s", msg)); +} + /*PRINTFLIKE3*/ int -zpool_standard_error(libzfs_handle_t *hdl, int error, const char *fmt, ...) +zpool_standard_error_fmt(libzfs_handle_t *hdl, int error, const char *fmt, ...) { va_list ap; |