block: add a cdrom_device_info pointer to struct gendisk
Add a pointer to the CDROM information structure to struct gendisk. This will allow various removable media file systems to call directly into the CDROM layer instead of abusing ioctls with kernel pointers. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:

committed by
Jens Axboe

parent
21f3cfeab3
commit
a711d91cd9
@@ -586,7 +586,7 @@ static int cdrom_mrw_set_lba_space(struct cdrom_device_info *cdi, int space)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int register_cdrom(struct cdrom_device_info *cdi)
|
||||
int register_cdrom(struct gendisk *disk, struct cdrom_device_info *cdi)
|
||||
{
|
||||
static char banner_printed;
|
||||
const struct cdrom_device_ops *cdo = cdi->ops;
|
||||
@@ -601,6 +601,9 @@ int register_cdrom(struct cdrom_device_info *cdi)
|
||||
cdrom_sysctl_register();
|
||||
}
|
||||
|
||||
cdi->disk = disk;
|
||||
disk->cdi = cdi;
|
||||
|
||||
ENSURE(cdo, drive_status, CDC_DRIVE_STATUS);
|
||||
if (cdo->check_events == NULL && cdo->media_changed == NULL)
|
||||
WARN_ON_ONCE(cdo->capability & (CDC_MEDIA_CHANGED | CDC_SELECT_DISC));
|
||||
|
Reference in New Issue
Block a user