[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.


More information about the linux-mtd mailing list