Re: [PATCH 5/7] hfsplus: stop using ioctl_by_bdev

From: Jens Axboe
Date: Mon May 04 2020 - 12:16:46 EST


On 4/25/20 1:57 AM, Christoph Hellwig wrote:
> if (HFSPLUS_SB(sb)->session >= 0) {
> + struct cdrom_tocentry te;
> +
> + if (!cdi)
> + return -EINVAL;
> +
> te.cdte_track = HFSPLUS_SB(sb)->session;
> te.cdte_format = CDROM_LBA;
> - res = ioctl_by_bdev(sb->s_bdev,
> - CDROMREADTOCENTRY, (unsigned long)&te);
> - if (!res && (te.cdte_ctrl & CDROM_DATA_TRACK) == 4) {
> - *start = (sector_t)te.cdte_addr.lba << 2;
> - return 0;
> + if (cdrom_read_tocentry(cdi, &te) ||
> + (te.cdte_ctrl & CDROM_DATA_TRACK) != 4) {
> + pr_err("invalid session number or type of track\n");
> + return -EINVAL;
> }

I must be missing something obvious from just looking over the patches,
but how does this work if cdrom is modular and hfsplus is builtin?

--
Jens Axboe