Looking through this series the whoe approach of using a lock to clear the ->dev pointer looks rather odd to me. What is the reason for now simply adding a separately allocated name field to struct backing_dev_info that the name is copied to on allocation, and then the ->dev field is not relevant for name printing and we don't need to copy out the name in the potentionally more fast path callers that want to print it?