[PATCH] [MTD] mtd-utils: Use new 64-bit ioctls to access >4GiB devices
adrian.hunter at nokia.com
Wed Mar 18 08:46:14 EDT 2009
Josh Boyer wrote:
> 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.
I was thinking just do it once per invocation and set a flag for the
rest of the code.
> 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