On Wed, Mar 04, 2020 at 01:50:56PM -0500, Tejun Heo wrote: > > Lifetime rules in block layer are kinda nebulous. Some of it comes > from the fact that some objects are reused. Instead of the usual, > create-use-release, they get repurposed to be associated with > something else. When looking at such an object from some paths, we > don't necessarily have ownership of all of the members. I wonder if the current rules should be better documented, and that perhaps we should revisit some of them so we can tighten them down? For things that are likely to be long-lived, such as anything corresponding to a bdi or block device, perhaps it would be better if the lifetime rules can be made tighter? The cost of needing to release and reallocate longer lived objects is going to be negligible, and benefits of improving code readability, reliability, and robuestness might be well worth it. - Ted