On 09/23/2015 12:04 PM, Dave Chinner wrote:
On Tue, Sep 22, 2015 at 08:00:29PM -0700, Dan Williams wrote:
> The kaddr is coming from the devm_memremap() in the pmem driver
> gets unmapped after the device is released by the driver.
Perhaps the better solution is to not tear down the block device
until all active references have gone away? i.e. unbind puts the
device into a persistent error state and forces all active mappings
to refault. Hence all future accesses error out and then when the
user unmounts the unhappy filesystem the last reference to the
blockdev goes away and the mappings can be torn down safely...