On Wed, Apr 15, 2020 at 05:39:25AM -0700, Christoph Hellwig wrote: > On Wed, Apr 15, 2020 at 12:34:34PM +0000, Luis Chamberlain wrote: > > I'll pile up a fix. I've also considered doing a full review of callers > > outside of the core block layer using it, and maybe just unexporting > > this. It was originally exported due to commit d86e0e83b ("block: export > > blk_{get,put}_queue()") to fix a scsi bug, but I can't find such > > respective fix. I suspec that using bdgrab()/bdput() seems more likely > > what drivers should be using. That would allow us to keep this > > functionality internal. > > > > Think that's worthy review? > > Probably. I did in fact very quickly look into that but then gave > up due to the fair amount of modular users. Alright, then might as well then verify if the existing practice of bdgrab()/bdput() is indeed valid logic, as otherwise we'd be puting the atomic context / sleep concern to bdput(). As noted earlier I am able to confirm easily that bdgrab() can be called in atomic contex, however I cannot easily yet vet for *why* this was a safe assumption for bdput(). Luis