On Tue, Jun 06, 2023 at 09:39:28AM +0200, Christoph Hellwig wrote: > ->open is only called on the whole device. Make that explicit by Ok, that answers my question in https://lore.kernel.org/all/20230607-chefsessel-angeordnet-269f0596f9b3@brauner > passing a gendisk instead of the block_device. > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > --- > diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h > index a1688eba7e5e9a..1366eea881860e 100644 > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -1386,7 +1386,7 @@ struct block_device_operations { > void (*submit_bio)(struct bio *bio); > int (*poll_bio)(struct bio *bio, struct io_comp_batch *iob, > unsigned int flags); > - int (*open) (struct block_device *, fmode_t); > + int (*open)(struct gendisk *disk, fmode_t mode); > void (*release) (struct gendisk *, fmode_t); > int (*ioctl) (struct block_device *, fmode_t, unsigned, unsigned long); > int (*compat_ioctl) (struct block_device *, fmode_t, unsigned, unsigned long); Looks good to me, Acked-by: Christian Brauner <brauner@xxxxxxxxxx> (I didn't bother going through all the individual conversions.)