stop using ioctl_by_bdev for file system access to CDROMs v2

From: Christoph Hellwig
Date: Sat Apr 25 2020 - 03:57:58 EST


Hi Jens,

except for the DASD case under discussion the last users of ioctl_by_bdev
are the file system drivers that want to query CDROM information using
ioctls. This series switches them to use function calls directly into
the CDROM midlayer instead, which implies:

- adding a cdrom_device_info pointer to the gendisk, so that file systems
can find it without going to the low-level driver first
- ensuring that the CDROM midlayer (which isn't a lot of code) is built
in if the file systems are built in so that they can actually call the
exported functions

Changes since v1:
- fix up the no-CDROM error case in isofs_get_last_session to return 0
instead of -EINVAL.