Re: [PATCH 1/1] s390/dasd: remove ioctl_by_bdev from DASD driver

From: Stefan Haberland
Date: Thu May 07 2020 - 11:43:52 EST


Am 07.05.20 um 17:29 schrieb Christoph Hellwig:
> On Thu, May 07, 2020 at 05:22:28PM +0200, Stefan Haberland wrote:
>> OK, just thought again about your suggestion and also that
>> you have already been talking about a symbol lookup I just
>> have written a prototype that took your first two patches
>> as base, exports the symbol of dasd_biodasdinfo and in
>> ibm.c I do a kallsyms_lookup_name("dasd_biodasdinfo").
>>
>> So I would not have to define a structure twice or rely on
>> MAJORs. Also we would not have to define an own file
>> operation only for DASD devices.
>>
>> What do you think about this? If you agree I will polish
>> the patches, test them and send them for review.
> How do you figure out a given gendisk is a DASD device? I guess
> dasd_biodasdinfo could just check the block_device_operations
> pointer first thing. That's still a little ugly, but seems the
> least bad idea so far, so please at least post it for discussion.

Not checked till now. I just was thinking about the basicapproach.

I could either check the block_device_operations like you suggested
or I could verify that the gendisk pointer is already in our devmap
and therefor belongs to the DASD driver.

Will post a patch shortly.