[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6cbb8166-a419-9322-78ee-51fbec22b59d@kernel.dk>
Date: Mon, 4 May 2020 10:41:55 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Christoph Hellwig <hch@....de>
Cc: Tim Waugh <tim@...erelk.net>, Borislav Petkov <bp@...en8.de>,
Jan Kara <jack@...e.com>, linux-block@...r.kernel.org,
linux-ide@...r.kernel.org, linux-scsi@...r.kernel.org,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Damien Le Moal <damien.lemoal@....com>
Subject: Re: [PATCH 5/7] hfsplus: stop using ioctl_by_bdev
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
Powered by blists - more mailing lists