On Wed, Jun 26, 2019 at 02:47:50PM -0700, Ira Weiny wrote: > > + > > + init_completion(&pgmap->done); > > + error = percpu_ref_init(&pgmap->internal_ref, > > + dev_pagemap_percpu_release, 0, GFP_KERNEL); > > + if (error) > > + return ERR_PTR(error); > > + pgmap->ref = &pgmap->internal_ref; > > + } else { > > + if (!pgmap->ops || !pgmap->ops->kill || !pgmap->ops->cleanup) { > > + WARN(1, "Missing reference count teardown definition\n"); > > + return ERR_PTR(-EINVAL); > > + } > > After this series are there any users who continue to supply their own > reference object and these callbacks? Yes, fsdax uses the block layer request_queue reference count.