From 6c8e9f09c22446cb8a1415ed1db05231cd659f69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= Date: Fri, 16 Sep 2022 22:59:25 +0200 Subject: [PATCH] =?UTF-8?q?Handle=20ECKSUM=20as=20new=20EZFS=5FCKSUM=20?= =?UTF-8?q?=E2=80=92=20"insufficient=20replicas"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a meaningful error message for ECKSUM to common error messages. Reviewed-by: Richard Yao Reviewed-by: Brian Behlendorf Signed-off-by: Ahelenia ZiemiaƄska Closes #6805 Closes #13808 Closes #13898 --- include/libzfs.h | 1 + lib/libzfs/libzfs_util.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/include/libzfs.h b/include/libzfs.h index 92c7bf6d1c..4fc7761225 100644 --- a/include/libzfs.h +++ b/include/libzfs.h @@ -151,6 +151,7 @@ typedef enum zfs_error { EZFS_REBUILDING, /* resilvering (sequential reconstrution) */ EZFS_VDEV_NOTSUP, /* ops not supported for this type of vdev */ EZFS_NOT_USER_NAMESPACE, /* a file is not a user namespace */ + EZFS_CKSUM, /* insufficient replicas */ EZFS_UNKNOWN } zfs_error_t; diff --git a/lib/libzfs/libzfs_util.c b/lib/libzfs/libzfs_util.c index cca86d2d78..3067e8d463 100644 --- a/lib/libzfs/libzfs_util.c +++ b/lib/libzfs/libzfs_util.c @@ -170,6 +170,8 @@ libzfs_error_description(libzfs_handle_t *hdl) return (dgettext(TEXT_DOMAIN, "I/O error")); case EZFS_INTR: return (dgettext(TEXT_DOMAIN, "signal received")); + case EZFS_CKSUM: + return (dgettext(TEXT_DOMAIN, "insufficient replicas")); case EZFS_ISSPARE: return (dgettext(TEXT_DOMAIN, "device is reserved as a hot " "spare")); @@ -396,6 +398,10 @@ zfs_common_error(libzfs_handle_t *hdl, int error, const char *fmt, case EINTR: zfs_verror(hdl, EZFS_INTR, fmt, ap); return (-1); + + case ECKSUM: + zfs_verror(hdl, EZFS_CKSUM, fmt, ap); + return (-1); } return (0);