On Sun, Apr 07, 2024 at 09:18:20AM +0800, Yu Kuai wrote: > Yes, patch 23-26 already do the work to remove the field block_device > and convert to use bdev_file for iomap and buffer_head. What for? I mean, what makes that dummy struct file * any better than struct block_device *? What's the point? I agree that keeping an opened struct file for a block device is a good idea - certainly better than weird crap used to carry the "how had it been opened" along with bdev. But that does *not* mean not keeping ->s_bdev around; we might or might not find that convenient, but it's not "struct block_device is Evil(tm), let's exorcise". Why do we care to do anything to struct buffer_head? Or to struct bio, for that matter... I'm not saying that parts of the patchset do not make sense on their own, but I don't understand what the last part is all about. Al, still going through that series...