On Thu, 2024-04-25 at 19:35 -0400, Benjamin Marzinski wrote: > Aside from one version of dm_flush_map_nopaths(), all the callers of > _dm_flush_map() and dm_simplecmd() set deferred_remove to 0. But > these > functions, as well as some helper functions they called, all treated > the > deferred_remove argument as an enum deferred_remove_states, and > called > do_deferred() to see if the remove should be deferred. To simplify > the > code, make these functions treat deferred_remove as a boolean value > signifying whether a remove is deferred, and make > dm_flush_map_nopaths() > do the work of checking if the remove should be deferred. > > Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> While correct in general, this patch doesn't make me quite happy yet. The argument type of _dm_flush_map() and elsewhere should at least be changed to "bool" to express the semantics more clearly. But I have something more intrusive in mind. I'll post a patch on top of your series. Thus: Reviewed-by: Martin Wilck <mwilck@xxxxxxxx>