mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-05-23 23:14:59 +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"));
|
||||
ret = zfs_error(hdl, EZFS_EXISTS, errbuf);
|
||||
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:
|
||||
ret = zfs_standard_error(hdl, errno, errbuf);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user