[PATCH] [MTD] mtd-utils: Use new 64-bit ioctls to access >4GiB devices
Josh Boyer
jwboyer at gmail.com
Wed Mar 18 08:26:58 EDT 2009
On Wed, Mar 18, 2009 at 02:16:04PM +0200, Adrian Hunter wrote:
> Josh Boyer wrote:
>> On Wed, Mar 18, 2009 at 08:50:08AM +0100, Ricard Wanderlof wrote:
>>> On Wed, 18 Mar 2009, Kevin Cernekee wrote:
>>>
>>>> This patch depends on "CORE: New ioctl calls for >4GiB device support".
>>>>
>>>> Use the new kernel ioctls to support >4GiB flash devices in mtd-utils.
>>>> - if(ioctl(Fd,MEMGETREGIONINFO,&(reginfo[i])) != 0)
>>>> + if(ioctl(Fd,MEMGETREGIONINFO64,&(reginfo[i])) != 0)
>>> Wouldn't it be an idea to support both the old and new calls for a
>>> while (using compile time switching), in case someone wants to grab
>>> a newer version of mtdtools but doesn't have a newer kernel for
>>> whatever reason?
>>
>> Yes, it would. In fact, it would be better to probably add a new
>> --large-device (or similar) option to all the utilities so that
>> they can use both with a runtime switch.
>
> I would suggest just trying MEMGETINFO64 and if it returns ENOTTY
> then switch to the old ioctls.
Well, that's an option. However, it would have to do that for every
ioctl that is called and it's not exactly cheap to do a system call.
Performance might be sort of silly to worry about though. It would
certainly be better than the patch as it is.
josh
More information about the linux-mtd
mailing list