[U-Boot] [PATCH v1 1/1] fs: fat/ext4/sandbox: Deal with files > 2GB in ls and size commands

Suriyan Ramasami suriyan.r at gmail.com
Wed Oct 8 23:08:45 CEST 2014


On Wed, Oct 8, 2014 at 1:35 PM, Pavel Machek <pavel at denx.de> wrote:
> On Wed 2014-10-08 13:23:48, Suriyan Ramasami wrote:
>> The commands fatls/ext4ls give -ve values when dealing with files > 2GB.
>> The commands fatsize/ext4size do not update the variable filesize for
>> these files.
>>
>> To deal with this, the functions *_size have been modified to take a second
>> parameter of type "* off_t" which is then populated. The return value of the
>> *_size function is then only used to determine error conditions.
>
> Would not it be better to simply change return type of affected
> functions to off_t?
>
> (If off_t is unsigned, invent signed off_t. It is still nicer than
> extra parameter.)
>>

off_t is 32 bits in 32 bit architectures. So, signed or unsigned it
shall always have a case where it will be impossible to detect a valid
file size vs an error condition, right?
For example if we return 0xFFFFFFFF, is that an error condition or the
actual file size?
Another approach would be to make the return value off64_t, but then
in sandbox cases we will hit the same issue of differentiating a valid
file size vs an error condition (although we possibly would never have
such a huge file)

Please let me know if I am not following your suggestion.

Thanks
- Suriyan

>
> --
> (english) http://www.livejournal.com/~pavelmachek
> (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html


More information about the U-Boot mailing list