1360 (void) zfs_standard_error(hdl, EBUSY, errbuf);
1361 break;
1362
1363 case EROFS:
1364 (void) zfs_error(hdl, EZFS_DSREADONLY, errbuf);
1365 break;
1366
1367 case ENOTSUP:
1368 zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
1369 "pool and or dataset must be upgraded to set this "
1370 "property or value"));
1371 (void) zfs_error(hdl, EZFS_BADVERSION, errbuf);
1372 break;
1373
1374 case ERANGE:
1375 if (prop == ZFS_PROP_COMPRESSION) {
1376 (void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
1377 "property setting is not allowed on "
1378 "bootable datasets"));
1379 (void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
1380 } else {
1381 (void) zfs_standard_error(hdl, err, errbuf);
1382 }
1383 break;
1384
1385 case EINVAL:
1386 if (prop == ZPROP_INVAL) {
1387 (void) zfs_error(hdl, EZFS_BADPROP, errbuf);
1388 } else {
1389 (void) zfs_standard_error(hdl, err, errbuf);
1390 }
1391 break;
1392
1393 case EOVERFLOW:
1394 /*
1395 * This platform can't address a volume this big.
1396 */
1397 #ifdef _ILP32
1398 if (prop == ZFS_PROP_VOLSIZE) {
1399 (void) zfs_error(hdl, EZFS_VOLTOOBIG, errbuf);
|
1360 (void) zfs_standard_error(hdl, EBUSY, errbuf);
1361 break;
1362
1363 case EROFS:
1364 (void) zfs_error(hdl, EZFS_DSREADONLY, errbuf);
1365 break;
1366
1367 case ENOTSUP:
1368 zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
1369 "pool and or dataset must be upgraded to set this "
1370 "property or value"));
1371 (void) zfs_error(hdl, EZFS_BADVERSION, errbuf);
1372 break;
1373
1374 case ERANGE:
1375 if (prop == ZFS_PROP_COMPRESSION) {
1376 (void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
1377 "property setting is not allowed on "
1378 "bootable datasets"));
1379 (void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
1380 } else if (prop == ZFS_PROP_CHECKSUM ||
1381 prop == ZFS_PROP_DEDUP) {
1382 (void) zfs_error_aux(hdl, dgettext(TEXT_DOMAIN,
1383 "property setting is not allowed on "
1384 "root pools"));
1385 (void) zfs_error(hdl, EZFS_NOTSUP, errbuf);
1386 } else {
1387 (void) zfs_standard_error(hdl, err, errbuf);
1388 }
1389 break;
1390
1391 case EINVAL:
1392 if (prop == ZPROP_INVAL) {
1393 (void) zfs_error(hdl, EZFS_BADPROP, errbuf);
1394 } else {
1395 (void) zfs_standard_error(hdl, err, errbuf);
1396 }
1397 break;
1398
1399 case EOVERFLOW:
1400 /*
1401 * This platform can't address a volume this big.
1402 */
1403 #ifdef _ILP32
1404 if (prop == ZFS_PROP_VOLSIZE) {
1405 (void) zfs_error(hdl, EZFS_VOLTOOBIG, errbuf);
|