On 5/4/20 10:21 AM, Christoph Hellwig wrote:
> On Mon, May 04, 2020 at 10:16:40AM -0600, Jens Axboe wrote:
>> 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?
> 
> In that case disk_to_cdi will return NULL as it uses IS_REACHABLE
> and the file systems won't query the CD-ROM specific information.

Got it, looks like that'll do the trick without nasty Kconfig
dependencies.

-- 
Jens Axboe

Reply via email to