On Wed, May 17, 2023 at 03:14:40PM +0200, Christian Brauner wrote: > > Why would we want to pin it? That just means the device is open and > > you're have a non-O_PATH mount. > > I think we're talking past each other. Both an O_PATH fd and a regular > fd would work. But its often desirable to pass a regular fd. If > userspace uses an O_PATH fd then the block device could be looked up > later during mounting via blkdev_open(). > > But when you use a regular fd blkdev_open() will be called and the > device resolved right at open time and we'll hold a reference to it. > > So that way userspace can immediately know whether the device can be > opened/found. That's usually preferable. That's all I meant to say. I know what you mean. But based on the concept of how O_PATH and block devices work it really doesn't make any sense to have a block device handle for an O_PATH fd, except for the actual fd itself.