]> git.proxmox.com Git - mirror_zfs.git/commitdiff
libzfs: handle EDOM errors
authorDHE <git@dehacked.net>
Sun, 11 Oct 2015 15:42:42 +0000 (11:42 -0400)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Tue, 13 Oct 2015 16:54:04 +0000 (09:54 -0700)
EDOM may occur if a user tries to set `recordsize` too large without
use "zfs set". This can be demonstrated with:

> zpool create testpool -O recordsize=32M /dev/...

Signed-off-by: DHE <git@dehacked.net>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #3911

lib/libzfs/libzfs_util.c

index 678eeadc0414d032453fbb7ff33ab03142d9c6eb..1e7bfb2ad4be3a00aeb268710304b91cf61931ed 100644 (file)
@@ -500,6 +500,11 @@ zpool_standard_error_fmt(libzfs_handle_t *hdl, int error, const char *fmt, ...)
        case EROFS:
                zfs_verror(hdl, EZFS_POOLREADONLY, fmt, ap);
                break;
+       case EDOM:
+               zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
+                   "block size out of range or does not match"));
+               zfs_verror(hdl, EZFS_BADPROP, fmt, ap);
+               break;
 
        default:
                zfs_error_aux(hdl, strerror(error));