mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-05-24 07:24:58 +03:00
Add more descriptive destroy error message
Reviewed-by: Tony Hutter <hutter2@llnl.gov> Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Tino Reichardt <milky-zfs@mcmilk.de> Reviewed by: Attila Fülöp <attila@fueloep.org> Signed-off-by: Artem-OSSRevival <artem.vlasenko@ossrevival.org> Fixes: #14538 Closes: #17234
This commit is contained in:
parent
38c3a8be83
commit
37a3e26552
@ -4028,6 +4028,26 @@ zfs_destroy_snaps_nvl(libzfs_handle_t *hdl, nvlist_t *snaps, boolean_t defer)
|
|||||||
dgettext(TEXT_DOMAIN, "snapshot is cloned"));
|
dgettext(TEXT_DOMAIN, "snapshot is cloned"));
|
||||||
ret = zfs_error(hdl, EZFS_EXISTS, errbuf);
|
ret = zfs_error(hdl, EZFS_EXISTS, errbuf);
|
||||||
break;
|
break;
|
||||||
|
case EBUSY: {
|
||||||
|
nvlist_t *existing_holds;
|
||||||
|
int err = lzc_get_holds(nvpair_name(pair),
|
||||||
|
&existing_holds);
|
||||||
|
|
||||||
|
/* check the presence of holders */
|
||||||
|
if (err == 0 && !nvlist_empty(existing_holds)) {
|
||||||
|
zfs_error_aux(hdl,
|
||||||
|
dgettext(TEXT_DOMAIN, "it's being held. "
|
||||||
|
"Run 'zfs holds -r %s' to see holders."),
|
||||||
|
nvpair_name(pair));
|
||||||
|
ret = zfs_error(hdl, EBUSY, errbuf);
|
||||||
|
} else {
|
||||||
|
ret = zfs_standard_error(hdl, errno, errbuf);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (err == 0)
|
||||||
|
nvlist_free(existing_holds);
|
||||||
|
break;
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
ret = zfs_standard_error(hdl, errno, errbuf);
|
ret = zfs_standard_error(hdl, errno, errbuf);
|
||||||
break;
|
break;
|
||||||
|
Loading…
Reference in New Issue
Block a user