> + if (err) {
> + if (flags & ADDPART_FLAG_WHOLEDISK)
> + goto out_remove_file;
> + goto out_del;
> + }I'd rather have that if around the actual device_remove_file at the label, and jump to out_remove_file unconditionally. Otherwise this looks fine to me.

