On Fri, Jul 03, 2026 at 08:40:28AM +0200, Markus Armbruster wrote:
> Daniel P. Berrangé <[email protected]> writes:
> 
> > While most objects can perform all their cleanup in the finalizer
> > method, there can be interactions with other resources / subsystems
> > / threads which require that some cleanup be performed on an user
> > creatable object before unparenting it and entering finalization.
> >
> > The current 'can_be_deleted' method runs in the deletion path and
> > is intended to be used to block deletion. While it could be used
> > to perform cleanup tasks, its name suggests it should be free of
> > side-effects.
> >
> > Generalize this by renaming it to 'prepare_delete', explicitly
> > allowing for cleanup to be provided. Existing users of 'can_be_deleted'
> > are re-written, which provides them with more detailed/tailored error
> > messages.
> 
> Old message:
> 
>         error_setg(errp, "object '%s' is in use, can not be deleted", id);
> 
> New messages:
> 
>         error_setg(errp, "Cryptodev backend '%s' is still in use",
>         error_setg(errp, "Host memory backend '%s' is still mapped",
>         error_setg(errp, "IOMMUFD backend '%s' still has %d users",
>         error_setg(errp, "Throttle group '%s' still has multiple references",
>     error_setg(errp, "Deleting CAN bus device '%s' is not supported",
>     error_setg(errp, "Deleting main loop '%s' is not supported",
> 
> All now mention what kind of object it is.  Users could probably figure
> this out from context easily.  Welcome small improvement.
> 
> The two unconditional ones become more accurate: they now report "not
> supported" instead of "in use".
> 
> The other four lose "can not be deleted".  Users can probably figure
> this out from context.  Still, I lean towards error messages like "Can't
> DO-SOMETHING because REASON" until that becomes overly verbose.  What do
> you think?

I'll change them as follows:

  -        error_setg(errp, "Cryptodev backend '%s' is still in use",
  +        error_setg(errp,
  +                   "Cannot delete cryptodev backend '%s' that is in use",


  -        error_setg(errp, "Host memory backend '%s' is still mapped",
  +        error_setg(errp,
  +                   "Cannot delete host memory backend '%s' which is mapped",


  -        error_setg(errp, "IOMMUFD backend '%s' still has %d users",
  +        error_setg(errp, "Can not delete IOMMUFD backend '%s' with %d users",


  -        error_setg(errp, "Throttle group '%s' still has multiple references",
  +        error_setg(errp,
  +                   "Cannot delete throttle group '%s' with active 
references",


With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|

Reply via email to